The estimation trap: why software projects miss deadlines

Why are so many software projects late? Estimation (and how we use it) is often at the heart of it.

Humans are naturally optimistic. We overestimate how well things will go and underestimate the time required. It’s a well documented phenomenon:

๐Ÿคžย Optimism Bias: Our tendency to believe things will go better than they likely will.

๐Ÿ—“๏ธ Planning Fallacy: Underestimating time required, even when past experience tells us otherwise.

Secondly, even with careful planning, we can only account for what we know. As well as software development being inherently complex, as time progresses, unexpected factors always emerge: shifting priorities, new challenges, team changes โ€“ the “known unknowns” as Donald Rumsfeld infamously put it.

๐—–๐—ฎ๐—ป ๐˜†๐—ผ๐˜‚ ๐—ด๐—ฒ๐˜ ๐—ฏ๐—ฒ๐˜๐˜๐—ฒ๐—ฟ ๐—ฎ๐˜ ๐—ฒ๐˜€๐˜๐—ถ๐—บ๐—ฎ๐˜๐—ถ๐—ป๐—ด?
Yes, we can avoid common pitfalls and improve our estimation practices. But they are still likely to be optimistic because of the reasons above.

“It always takes longer than you expect, even when you take into account Hofstadter’s Law.”

– Hofstadter’s Law


๐——๐—ผ๐—ฒ๐˜€ ๐—”๐—ด๐—ถ๐—น๐—ฒ ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ ๐˜๐—ต๐—ถ๐˜€?
Agile embraces uncertainty, such as breaking down work into the smallest possible pieces and delivering value early and often. But it doesnโ€™t eliminate the challenge of longer-term planning.


๐——๐—ผ๐—ปโ€™๐˜ ๐—ฏ๐—ผ๐˜๐—ต๐—ฒ๐—ฟ ๐—ฝ๐—น๐—ฎ๐—ป๐—ป๐—ถ๐—ป๐—ด ๐˜๐—ต๐—ฒ๐—ป?
Not at all. Organisations need to plan. Without long-term planning, you canโ€™t set realistic budgets, allocate resources & people, or prioritise efforts. The trick is learning how to plan effectively, even in the face of uncertainty.

In my next post, I’ll share how Iโ€™ve approached longer-term planning successfully.

One thought on “The estimation trap: why software projects miss deadlines

  1. Pingback: How to Plan Effectively in the Face of Uncertainty | Rob Bowley

Leave a Reply

Your email address will not be published. Required fields are marked *