Custom Software
There's a failure that costs more than bad code, missed deadlines, and blown budgets combined. It's building software that works perfectly and solves the wrong problem. The code is clean, the deadline was met, the thing does exactly what was asked, and it still doesn't help, because the problem it solves wasn't the one that actually mattered. Everyone did their job well, and the money is gone.
This is the most expensive mistake in business software, and the frustrating part is that it usually looks like success right up until the end.
Most software problems are visible. A bug shows up. A deadline slips. A feature doesn't work. You can see them, so you can fix them. Solving the wrong problem is invisible, everything appears fine. The project ships, the software runs, the demo looks good. It's only when it's in real use that the truth arrives: this doesn't fix what we actually needed.
By then you've spent the whole budget and the whole timeline. There's nothing to salvage by fixing a bug, because nothing is broken, the wrong thing was simply built well. Your only options are to live with software that doesn't help, or to start again. That's why it's the costliest mistake there is, you pay full price for zero value.
This doesn't happen because anyone was careless. It happens because of a chain of small, reasonable steps. The business describes what it wants. The developer builds what was described. Both do their jobs properly. But nobody stopped to check whether the thing being asked for actually addressed the real problem.
Usually the business asked for a solution they'd already settled on, rather than describing the problem, and the solution they pictured turned out not to match the real issue. The developer, taking the request at face value, built it faithfully. Everyone was competent. The problem was never questioned. I wrote about that gap in what developers get wrong about business requirements.
Imagine a business that feels slow, so they decide they need a faster system and commission one. Developers build a fast, slick system. It launches. And the business is still slow, because the real bottleneck was never the software's speed, it was a single approval step where everything piled up waiting for one person. A faster system did nothing for a people-and-process bottleneck. The right fix cost almost nothing. The wrong fix cost a fortune. Nobody made a technical error, they solved the wrong problem.
The protection is simple to describe and easy to skip: before building anything, make sure you're solving the real problem, not the assumed one. That means digging past the requested solution to the underlying issue, asking "what's actually going wrong, and why?" until you reach the true cause, not the symptom.
It means someone questioning the brief rather than just executing it. A developer or partner who asks "why do you want this, and what problem is it really solving?" is not being difficult, they're saving you from the most expensive mistake there is. The one who just says "sure, I'll build that" is the riskier choice, however comfortable it feels.
This is why the understanding phase matters more than the building phase, which I covered in why most business software projects fail before development even starts, and why describing the problem clearly is worth real effort, as in how to turn a messy business process into a software specification.
If there's one question that saves more money than any other, it's this: "are we sure this is the real problem?" Asked early, before the budget is spent, it costs nothing and can save everything. Asked too late, after the wrong thing is built, it's the most expensive question in business, because the answer arrives with the bill.
When someone brings me a project, my first job isn't to build what they ask, it's to make sure we're aiming at the real problem. I ask why, I look past the requested solution to the underlying cause, and I'll challenge the brief if I think it's aimed at a symptom. It's less comfortable than just agreeing, and it's the single most valuable thing I can do for a client's money.
If you're about to invest in software and want to be sure you're solving the right problem, tell me what's actually going wrong in your business. You can see the results of getting it right on my work page.
More to read