Projects are regularly over budget, behind schedule, and deliver less than originally promised. Why?
A normal, obvious answer is that projects are inherently unpredictable. There are always unexpected hiccups and problems that require more time/resources.
This is a reasonable response, except for one thing: We know this going into a project, so don’t we take that into consideration?
Engineers are regularly asked, “How long will X take?” No one gives estimates that only cover the best-case happy path. Estimates always include some level of safety to cover the unknown and unexpected.
There’s also a regularly occurring effect on estimates as they move up the stack of management. Engineers give an estimate for a task, their team lead adds some padding, then the director adds his/her own padding. By the time the estimate reaches the exec level, the added safety dwarfs the original time the engineers estimated.
Sometimes, the opposite effect occurs and each level tries to squeeze the estimate. In those environments, the original estimates factor in management’s normal response of pushing to cut timelines. Estimates include 20% padding because there’s an expected compromise of cutting 10%.
The point is, our estimates factor in the uncertain nature of projects. Calling out the unexpected bad luck as a cause of lateness ignores or minimizes that fact. And even more, it ignores the good luck where we budgeted for a potential problem that never occurred. It’s unreasonable to suggest that late projects are mostly due to having more bad luck than good.
If our project estimates regularly provide safety to buffer against unknowns, then some projects are late simply because they waste the included safety.
Reason #1: Projects are late because we waste the included safety.
Next, let’s consider how the safety gets wasted.