I have been following the No Estimates movement with interest for some time now, occasionally jumping into the conversation. The connections I’ve been trying to make in my own brain are what decisions are being made when customers are provided with estimates.
You see, the No Estimates movement is questioning to what degree the estimates we meticulously create, that seem inherent in our industry, are considered waste – as in the concept of waste defined by the lean movements. In lean, it is our desire to eliminate waste, therefore should we not be finding ways to eliminate software estimates?
The primary reason we consider estimates waste is because they’re rarely worth the paper upon which they’re written. My favourite expression is “there are lies, damn lies, and software estimates”.
Today I read a post by Dan North in which he illustrates quite well the frustration that a business owner feels as work progresses on their project. With each iteration, the business owner really just wants to know if we are near ready to ship, and yet we tend to spout stats at each sprint that bear little relation to their question, because those are the only facts we have on hand.
I believe this also illustrates how estimates are not helpful to the business. These esoteric metrics, intended to provide a virtual progress bar, answering that question – when can we ship?
The frustration here is the same you feel sometimes watching those progress bars on your screen. Your files will be copied in 5 minutes, 30 minutes, 18 seconds, 7 hours, … Do you sit tight, keep funds flowing, get up for a coffee, or cancel and hope later for a faster network connection?
The core decisions, funding the project, choosing a dev team, planning your marketing calendar, how can you do this when you can’t trust the estimates you’re given?
I believe the answer lies in finding ways to make those decisions outside of the estimates you have in front of you. Indeed this is a core belief in the No Estimates movement.
Think of what you have other than estimates…
- historical velocity metrics? these help you gain confidence in your performance vs. estimates
- how your core values coincide with each competing dev team?
- what is happening in the market coinciding with what is already built?
I certainly don’t have a lot of answers here, but intuition is beginning to point towards some common themes. Continued engagement with the No Estimates community is beginning to solidify some of these ideas.
We may not be ready as an industry yet to throw away this obsession with estimates, but I believe we are more than ready to question our reliance upon them, find ways to minimize the damage done by their inaccuracies, and look for more reliable ways to make these decisions.