It’s much worse in a custom software development project to spend 80% of what you need than it is to spend 120% of what you need. You can understand this better by doing a simple thought experiment.
You have a project in mind. You think you know the revenue it will drive or the expense it will reduce. To understand whether you should do the project, i.e. whether the return justifies the risk, you need to know how much it will cost to build. To know that, you need to know the future. The problem is, the future is tough to know, particularly in new product development.
Project yourself a year into the future. Your product is complete. It’s generating revenue or reducing expense. You’ve found El Dorado. You got to this point because you worked closely with your team, you got to market quickly and learned from your customers, and you adapted your product as necessary. You may have built a few features that aren’t used much, and you might have spent a little bit of time and money on decisions that you later reversed. But by and large you got where you wanted to be pretty efficiently.
It’s easy to answer the thorny question of cost now. Just tally up the invoices and your internal costs.
Let’s suppose you find that you spent $100,000 building your app.
Back to the present
Now step back to the present. You don’t know how much you’ll need to spend in order to get to your successful product. Cost matters for at least two reasons. First, without it you can’t determine what your return might be. Second, and more importantly, you need to answer the question of whether you should even build this product.
Assuming that your idea is sound to begin with, and there is a successful product out there in your future, from where you stand today there are two possible scenarios:
1. you spend too little
2. you spend too much
Let’s look at each possible outcome.
1. Too little
You set a strict budget of $80,000—there’s no funding available beyond this amount. You don’t know it yet, of course, but at the end of that budget you’re going to have at most 80% of what you need to be successful. You try, but you fail to reach El Dorado.
2. Too much
Your budget is $150,000. That’s comfortably more than you’re estimating for development. You start working with your team in the manner described in the thought experiment (iteratively, releasing early, adaptively). You’re targeting $90,000 for development.
You’ve built a successful product. El Dorado! Well, maybe not El Dorado, exactly. You and your team ended up building a few features that no one needs or uses. You did some work that you had to later back out of. You didn’t get to the successful product “as the crow flies”, but your path wasn’t that tortuous either.
You spent $120,000. That’s quite a bit above what you were targeting, but well below your budget. The you that visited the future knows that you spent $20,000 more than you theoretically needed to, or an overage of 20%.
No one wants to spend more than they need to. But given the scenarios above, it’s pretty clear that spending too little is worse than spending too much.
The case where you spent too little was a failure. You should have just thrown a big party for your $80,000. The case where you spent too much wasn’t a failure—you have a product making or saving you money. But you spent more than you needed, so your return isn’t as good as it could have been.
Underspending doomed your project and wasted all your money. Overspending was wasteful too, but the damage was limited to $20,000, you still have your job (or your company), you can hope to make up the waste in the future, and you’ve learned from the experience.