How to Spot a Failing Software Project Before It Begins
by Eric Hanson, Backend Developer at Clean Systems Consulting
The Goal Sounds Impressive, Not Clear
Some projects start with big energy.
“Build a scalable platform.”
“Create something like X, but better.”
Sounds exciting. But try to pin it down, and things get fuzzy.
- Who is this actually for?
- What problem are we solving first?
- What does “done” look like?
If the goal can’t be explained simply, execution will be messy.
Clarity early saves months later.
The Timeline Is Decided Before the Work
This one shows up in almost every risky project.
The deadline is already set — before anyone breaks down the work.
- “We need this in 2 months”
- No estimation process
- No room for unknowns
A fixed timeline without understanding the work is just a guess.
And guesses don’t survive real development.
Everyone Agrees Too Quickly
It feels nice when there’s no conflict.
No pushback. No debate. Just alignment.
But that’s often a bad sign.
- No one questions assumptions
- Technical concerns stay unspoken
- Risks aren’t explored
Fast agreement usually means shallow thinking.
Healthy projects have tension early —
so they don’t explode later.
The “Small Details” Are Ignored
Early conversations focus on the big picture.
Vision. Features. Launch plans.
But the small details? Skipped.
- How will data be handled?
- What happens when things fail?
- How will this be maintained?
Projects don’t fail on vision. They fail on execution details.
Ignoring them early doesn’t remove them.
It just delays the pain.
No One Defines What Success Means
This is surprisingly common.
Everyone assumes they know what success looks like.
But no one writes it down.
- Is it launching on time?
- Is it user adoption?
- Is it technical quality?
Undefined success guarantees misalignment.
Teams will optimize for different things —
and pull in different directions.
One Simple Test
Before starting, ask this:
“If everything goes wrong, what’s our fallback plan?”
If the answer is silence, or “we’ll figure it out” —
that’s your signal.
Good projects plan for success. Great ones plan for failure too.
The Quiet Advantage
Spotting a failing project early feels uncomfortable.
You might be the only one raising concerns.
You might slow things down.
But that’s the point.
It’s much easier to fix a project before it starts than after it breaks.
Because once momentum builds,
even obvious problems become hard to stop.
The best time to prevent failure isn’t during the project.
It’s before anyone writes the first line of code.