What to Do When a Software Project Fails
by Eric Hanson, Backend Developer at Clean Systems Consulting
First: Stop the Bleeding
The instinct is to push harder. Add more people. Rewrite faster.
That usually makes it worse.
Pause. Stabilize. Create space to think.
- Freeze new features
- Stop “quick fixes” that aren’t understood
- Identify what’s actively breaking things (bugs, costs, morale)
Failure feels urgent, but clarity is more important than speed right now.
Figure Out What Actually Failed
Not all failures are technical. In fact, most aren’t.
Sit down and ask uncomfortable questions:
- Was the problem poorly defined?
- Did priorities keep changing?
- Was the team missing key skills?
- Did communication break down?
Don’t jump to “bad code” as the answer.
That’s often just the symptom.
Write it down. Be specific. “Project failed” is useless.
“Scope changed 5 times with no timeline adjustment” is actionable.
Decide: Fix, Pivot, or Kill
This is the hardest part — and the most important.
You have three real options:
- Fix it: If the core idea is solid and issues are manageable
- Pivot: If the goal is right but the approach isn’t
- Kill it: If continuing costs more than starting over
Killing a project is not failure. Dragging it out is.
Be honest about sunk cost. Time already spent is gone.
Your job is to protect what comes next.
Talk to People (Yes, Even That Stakeholder)
Silence makes failure worse.
Explain what happened in plain language — no jargon, no hiding.
- What went wrong
- What you learned
- What you’re doing next
This builds trust, even in bad situations.
People don’t expect perfection. They expect clarity.
If you’re leading a team, this matters even more.
Uncertainty spreads fast when no one explains what’s going on.
Turn It Into a System, Not a Story
A failed project is only useful if it changes how you work.
Don’t just say “we’ll do better next time.”
That’s how teams repeat the same mistakes.
Instead, create small, concrete changes:
- Shorter planning cycles
- Clearer ownership of decisions
- Regular check-ins that actually matter
- Defined “kill criteria” before starting new projects
Good teams don’t avoid failure. They absorb it and evolve.
One Last Thing
Every experienced developer, founder, and manager has a failed project story.
Usually more than one.
The difference isn’t talent.
It’s how quickly they stop pretending things are fine — and start fixing reality.
A failed project isn’t the end of your track record.
It’s the moment you decide what kind of builder you are.