The more you estimate, the longer it takes
Timelines and budgets are often necessities for making informed decisions. But an overzealous focus on "being on-time" can be the cause large overruns.
This article will take you through concrete examples of the estimation paradox and give recommendation on what can be done.
Organisational performance is not a budget or a timeline
Budgets and timelines are examples of goals that do not directly relate to organisational performance. It is possible that exceeding a budget or time by 10% could increase sales by 20%. Or that only 20% of a project's effort is required to achieve 80% of its goals. In many cases, either being under or over can yield better results than meeting the timeline or budget. It also follows, that 1000 Story Points can be delivered, while at the same time 0 value is delivered.
In other words, managing by budget and time is managing for non-system goals. Furthermore, they also give way to thinking that superficially seems to support these goals.
One of the most commonly used, and harmful rules-of-thumb in project management is "The way to ensure a project is on time is to ensure the tasks are time".
This is what Eliyahu Goldratt would call a "local optima rule". A local optimum is what is best for an individual part of a system, rather than a system. Herein lies a danger: Improving an individual part can often lead to reduced overall performance!
Let's examine a concrete example.
The irreconcilable conflict of estimates
To be on time implies an estimate of the time required before. This is the point most people, when asked for an estimate will start squirming in their chairs and become reluctant to give an estimate. Why? Because they know, in most organisations an estimate given is soon converted into a commitment made. An informal best guess, becomes a commitment the estimator is later held to. And a person who does not keep their commitments is viewed as unreliable.
To keep up the image of being a reliable person, most people know they will have to meet their estimates about 4 out of 5 times. So the natural mitigation is that estimates are padded with a safety buffer. But this causes another problem, especially in software product development:
the variance between estimate and outcome can be very high, given the many unknown factors at the time of an estimate.
Estimates need to have a large buffer in order to be met frequently. This in turn can cause frequent over-estimation. And what happens to people who frequently overestimate their work and finish in a fraction of the time? They of course become labelled as exaggerators, which is something a reliable person is not. And if you "exaggerate" more than a minority of times, maybe 2 out of 5 times, this label starts to stick.
The person stuck in the position of estimator has a conflict: overshoot your estimates more than 20% of the time, and you are unreliable. But if you undershoot by a significant margin more than 50% of the time, you are also unreliable. It is an irreconcilable situation, unless..
"Always on time, always on budget"
The natural consequence of these pressures is that estimates often become liberally padded so they can be met most of the time. And where work finishes early, the extra "free time" is used to add scope, goldplate solutions etc, all adding to the future complexity of the product. This solves the irreconcilable equation of being both reliable, and not an exaggerator.
What is the cumulative consequence of focusing on the local optima of ensuring tasks finish on time? It is obvious, everything takes much longer:
- Small tasks become large tasks, filling the time allotted to them.
- Some tasks get accurately estimated.
- Other tasks will still miss their estimates.
- The gold-plating that comes with "filling the estimate" causes complexity & technical debt, slowing down future development further.
At a corporate level, the phenomena is often the same with budgets: what is budgeted at the beginning of the year gets spent, no less. Why would anyone in their right mind spend less than their budget if they know the budget is likely to be reduced as a result?
So what can be done? We still need estimates & budgets!
I won't get on a "No Estimates" soapbox. I understand that estimates are often used as the basis for decision making. Most of us would not hire a plumber if they said:
"I might be done in 15 minutes after cleaning your sink, or I might have to spend 6 months replacing all your plumbing, I'll let you know when I'm done". Saying yes to this is unthinkable to anyone.
Estimates sometimes have a role, but Goldratts Theory of Constraints ("ToC") gives us a concrete and precise answer on exactly what we should do:
Image source: Theory of Constraints Institute
Of the five focusing steps, the third step in the Process of Ongoing Improvement states we should subordinate everything to the real constraining factor in our delivery system. The answer is, if we still need estimates, they should be de-emphasized and subordinated entirely to the work of optimising the real constraint. The overarching goal is to exploit, then move the constraint, not meet the estimates of individual tasks.
We believe that all five focusing steps are important to see holistically, and we are likely to return to them in the future. But we will leave this article at these take-aways:
- Managing products or projects by time & budget causes the paradox of increasing time & cost.
- The traditional approach of estimating time causes an irreconcilable conflict for estimators. This is the root cause for perverted incentives in estimating and budgeting.
- There are concrete alternatives that can be adopted to improve performance (ToC, Systems Thinking).
- Estimates can still play a role, but should be de-emphasised and play a less important role in day-to-day work.
This article gives credit to and borrows heavily from Eliyahu Goldratts work on the Theory of Constraints. If you have read Goldratts work and this sounds familiar, it is because it is.