undo
Go Beyond the Code
arrow_forward_ios

The failure nobody dares to talk about.

Ensolvers
Blog Edition
May 13, 2026
To learn more about this topic, click here.
AI & Engineering

Delivered everything in the spec. Hit every milestone. And changed nothing.

This isn’t a delivery failure. It’s something harder to fix, and a lot more common than anyone says out loud.

Nobody talks about this version of failure. Not the project that blew the budget or missed the deadline — everyone sees that coming. The one that delivered everything perfectly and changed nothing gets a go-live email, a quiet celebration, and a conversation six months later where someone admits it: the problem is still there. Just with a newer interface on top of it.

What “on time and on budget” actually measures

There’s a trap baked into how most projects get evaluated. Velocity, burndown charts, sprint completion, budget variance — all of it measures execution. How well the team did the thing they were asked to do.

None of it measures whether the thing they were asked to do was the right thing.

The execution was impeccable. The diagnosis wasn’t.

That gap — between doing things right and doing the right things — is where projects go to deliver perfectly and matter not at all. The team hits every milestone. Stakeholders sign off on every demo. Go-live happens on schedule. And three months later, the problem that motivated the whole project is still sitting there, waiting.

The moment it breaks

It almost always breaks in the first meeting. Not in a sprint, not in a code review, not in a retrospective.

Twenty minutes into the conversation where someone describes a symptom and the room starts building a solution. Take something like: “our sales team can’t see customer history fast enough.”

Is it a data access problem? A process problem? A training problem? Two systems that should talk to each other and don’t? Sometimes it means the data isn’t there. Sometimes it means it’s there and nobody showed them where. Sometimes it means the sales process requires information the company doesn’t collect at all.

Each of those has a completely different solution. But if the room moves to scoping before understanding, they all get the same one — the one that sounded most obvious at minute twenty.

The spec gets written around the wrong problem. Everything that follows is very well-executed guesswork.

The three parts of a good diagnosis

Getting this right isn’t a methodology. It’s three questions asked in the right order, before anyone opens a Jira board.

1
What’s the symptom?
What people say is broken. This is the starting point, not the answer. It’s visible, measurable, and easy to describe — which is exactly why rooms jump to solving it before understanding it.
2
What’s the cause?
What’s actually broken underneath the symptom. This requires slowing the room down. It means asking why the symptom exists, not just what it is. And being willing to say “we don’t know yet” when the real answer isn’t obvious — which, in most cases, it isn’t.
3
Does the fix make the problem go away?
Before scoping a single feature: if we build exactly this and it works perfectly, does the problem actually go away? Not “will it help.” Not “will it be better.” Does the problem go away. A confident yes means the diagnosis is probably right. Anything else means something hasn’t been named yet.

What makes this hard

The pressure to move is real. Budgets are approved, timelines are set, stakeholders are expectant. Slowing the room down to ask uncomfortable questions about whether the problem is even correctly understood feels like obstruction, not progress.

But the math is simple. A week of uncomfortable questions at the start is cheaper than months of perfectly executed work that changes nothing at the end.

The teams that get this right don’t have a special framework or a proprietary process. They just refuse to let the room skip from symptom to solution without stopping at cause. That pause — five minutes, twenty minutes, sometimes a full working session — is where the difference gets made.

The most expensive software projects aren’t the ones that fail to deliver.
They’re the ones that deliver perfectly — and change nothing.

No amount of excellent execution fixes a wrong diagnosis.


How we approach this
Every engagement we run starts with the diagnosis, not the spec.
If this pattern sounds familiar — a project that delivered everything and solved nothing — it’s worth talking about what the diagnosis process looks like before the next one starts.
How we approach software development expand_circle_right
Ensolvers
Blog Edition

Start Your Digital Journey Now!

Which capabilities are you interested in?
You may select more than one.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.