Our long time friends have moved to our neighborhood here in Colorado. Their moving van arrived today.
We brought coffee to them while their old house was being unloaded into the new house. Talking with the moving van owner, he started telling stories about estimating the load in pounds. The agent makes the first estimate of the weight of the load, issues a quote for the cost of the move. Then the van owner picks up the load and weighs the truck before getting on the road. He told us the range of precision and accuracy is all over the place, depending on the agent. Sometimes it's very close. Sometimes it's not.
The quality of the estimate depends on the skill and experience of the estimator. The reference class estimating process is part of that skill and experience.
If we switch to software development. I relistened to Agile for Humans podcast with Steve McConnell about estimating. Steve's discussion was focused on how to make good estimates. How to put these to work to make business and technical decisions. These themes are based on how book Software Estimation: Demystifying the Black Art. This book should be on the shelf of any credible developer.
After listening again, it was clear those providing a forum for the No Estimates advocates have failed to address the fatal flaw of the No Estimates discussion.
There is NO principle by which you can decide in the presence of uncertainty without estimating.
The podcast provided a nice overview of why we should estimate, how to estimate, and what to do with those estimates. Even discussed how to deal with the dysfunctional aspects of management when making estimates. But in the end, we need estimates to credibly provide value in exchange for money.
There can be no consideration for NOT estimating, except on de minimis projects. Just like the moving van owner, he needs an estimate for the weight of the load. From there he can confirm that load will fit on the truck. The trailer has a load limit of 33,000 pounds. The mechanics of household goods has a reference class parameter for the size of 33,000 pounds. This comes from empirical data of moving household goods. Some houses have heavier goods, some have lighter goods. But the estimator knows how to adjust for that.
It seems those in the software development business who conjecture that estimates are not needed, are the smell of dysfunction, are evil, should be stopped, have failed to understand not only the basic need for the estimate when making decision in the presence of uncertainty, but also the basic principles of estimating in the presence of the uncertainties that always exist on projects.
When the idea of No Estimates is given equal weight to Steve's message, it willfully ignores the principle of decision making. And replacing that principle with the practices and processes that attempt to make a decision without estimates.
This is like the moving van owner saying I get wild estimates, wrong estimates, estimates that cause me problems with my trailer, tractor, load management, and fee payments for carrying cargo across state lines. So I have an idea, I'll just not ask for or use any estimate, I'll just start emptying the house in Seal Beachm=, California and start planning to move the house to Colorado. What could possibly be wrong with that?