The accuracy of software cost estimation, and why you should care
In the Budget Estimation in the IT industry survey we ran last year, most of the respondents rated the accuracy of their estimates at a 7 out of 10, the rest fairly evenly splitting between 6 and 8 out of 10.
Is 70% accuracy good enough? How good can your estimations be? A 70% accuracy means that items are underestimated in 30% of cases — almost by one third!
If you are reading this, you are most likely well aware how difficult it is to accurately estimate time and workload. You are probably also aware of the consequences of not properly estimating a project.
Why do we bother to estimate, anyway?
Up to a certain level of the company hierarchy, some roles may not even realize that cost estimation exists — it is often only relevant to junior positions. But as we go up in the company’s hierarchy, there are more roles interested in the information that comes from this process.
At a first glance it may look like it’s all about the money — how much budget stakeholders should secure to cover development costs. Secondly, a key piece of information that comes from the estimation process is about timing — by knowing how much work is required to deliver a particular set of features, it’s possible to determine the delivery date. So, we could summarize that estimation gives us an overview of the budget and project schedule. But is that all?
What does underestimation really mean?
There is more that we get out of estimations. Sure, still strongly related to timing and budgeting, but it also affects more aspects of the project, the company, its team, relationships with the stakeholders, and more.
Let’s circle back to the results of the summary I’ve performed. In 30% cases, projects are underestimated. This means that in ⅓ of projects there is a) a technical debt that will have to be covered eventually, b) financial loss as the revenue will have to cover more expenses than it was forecasted, c) a delay in project delivery, or d) all of the above. All of these are negative consequences, but it seems they only matter to the stakeholders and management team. Does it end there?
No, the negative impact flows down the corporate ladder. When you push the project hard to meet a deadline, the developers feel the pressure and, undoubtedly, it negatively impacts their performance and creativity. Not to mention the stress it creates. In some extreme cases, it increases employee rotation as nobody wants to work on a project that is permanently delayed. Writing this, I fully respect the CyberPunk dev team for managing to live in a high pressure environment for 8 years.
Good reasons to invest time in the estimation process
Estimating a project is not an easy task. It requires a lot of thinking ahead, working closely with stakeholders and the dev team. Developers, as I’ve learned, don’t necessarily like to “waste” time on this. They much prefer to spend their time writing code and figuring out problems. Stakeholders, on the other hand, are not that much concerned with all the technical aspects of the projects, focusing instead on the outcome. The estimator often ends up being left alone with all the requirements and questions. This is one of the most underrated roles, yet its outcomes have a major impact on the business.
Regardless of the techniques you use, it is always worth to increase, even double the effort you put into software sizing and estimating the workload. When done correctly, with the highest possible accuracy, you will benefit greatly — your development team’s stress will go down and your developers will be more creative. The technical debt will be lower. You will be more relaxed as deadlines will be just a date in the calendar, not a dreaded word. You will have a better relation with stakeholders. And, finally, your company will perform better financially.
Is it worth the effort?
Let’s assume your estimates are 75% correct and you can improve them by another 10% if you double the effort you put in. Is it worth it for a 10% improvement of accuracy? Can you afford to burn an extra 10% of the budget simply because you’ve left some stones unturned?
10% of the project budget is not something that can be easily ignored, yet it may not be enough to convince you especially if you are not a shareholder of a company. What you are actually receiving by doubling the effort is something money can’t buy:
- Less stress.
- More time.
- Better project management.
- Additional freedom in making choices.
The bottom line is that you will go faster by making things a little bit slower. So have a think about investing more in improving the accuracy of your estimations!