There is an ongoing debate about whether or not to use Estimates in your software development process, largely fueled by #NoEstimates, but as is often the case the battle has been picked up by many that have become over zealous without fully understanding but with great certainty tell you that you should never estimate.
There are many good explanations as to why estimating may not help you and some great explanations of alternative ways to get the information you need, or to help you understand why the information was not needed. But I want to focus on one of my pet-peeves – Thou shalt not estimate because estimating is ‘waste’ Every time I see that I shudder, and quite often I am left with the feeling that the person writing doesn’t understand either Lean or #NoEstimates.
Thou shalt not estimate because estimating is ‘waste’
What is Waste?
First of all the statement makes it sound like waste is bad, in fact the word does seem to imply that waste is bad. However, Lean is a lot less emotive with the term, Lean is often confused and simplified into simply the reduction/removal of waste. But this is a very lazy and incorrect interpretation.
Lean is about productivity first and foremost, and is about reducing ‘waste’ ONLY when AND if doing so does not impact the system productivity. In other words, in Lean ‘waste reduction’ is far less important than system improvement, but for whatever reason we get hung up on waste – especially when bashing others. We reduce waste to improve the system – waste reduction is not our goal it is just a tool to help us.
Is Estimation waste?
Is Estimation waste? The short answer is yes, but that is only part of the truth. Lean considers waste to be activities that do not directly add value to your product and can be considered either ‘Necessary Waste’ or ‘Pure Waste’.
Waste covers a whole host of things, but waste includes: Planning, testing, reporting, breaks, vacation, sickness, and a great deal of other things far too many to mention.
So calling Estimation ‘waste’ is akin to calling Planning ‘waste’, if we were to eliminate say planning and testing in an effort to reduce waste, we would very likely cause more and worse waste by producing the wrong thing (over production waste), in the wrong order(over production), or poor quality (rework waste).
In other words not all waste is bad and not all waste should be removed – simply calling something ‘waste‘ does not help the conversation.
Sometimes a little waste now can save a lot of waste later.
Is it beneficial?
The real question is whether the activity helps the system? and as a follow-up, is there a better way of achieving the same thing?
Questions to ask when considering waste:
- Does this activity help the system to be productive now and in the future? (Would removing it impact our productivity)
- Is there a better was to achieve the same outcome?
I can’t answer the question of whether Estimation is beneficial in your system, because every system is unique, if you are using estimation for forecasting purposes then I’d suggest that there may be alternative solutions that are better and #NoEstimates may be a good place to start. But forecasting is only one use of an estimate, your system may find that estimates are beneficial it is for you to decide.
Next time you see someone use blanket statements that eliminating ‘waste’ as an absolute and unqualified justification for not doing something, please challenge them to qualify their statement. Remember that waste is often necessary, our goal is more often to improve or understand the wasteful activity rather than eliminate it entirely.
Let’s consider a world without waste
If you are still unsure think what would happen to your system if you abolished all wasteful activities:
- Vacations – typically 10% of your productivity lost.
- Coffee breaks – 10 minutes every 2 hours = another 8% productivity lost
- Toilet breaks
- Stand-ups – yep they are waste too.
- Demos, Retrospectives, Planning, all are ‘waste’
Just imagine how productive you would be with no direction, no feedback and no staff?