One of the sticky points in the #NoEstimates debate is the lack of agreement over the definition of estimates. This causes logical fallacies to gush forth, flooding the thriving field of debate with its unsanitary waters.
So let’s see if we can agree what estimates are, before we decide how we go beyond estimates.
Dictionary Definitions of an “Estimate”
There are three definitions for estimate as a noun. I believe the one we are using within the realms of software development is:
an approximate calculation or judgement of the value, number, quantity, or extent of something.
And sometimes we mean:
a written statement indicating the likely price that will be charged for specified work or repairs.
So you are likely to find people estimating all of the following:
- The likely value of delivering the work
- How long work may take
- How much effort may be needed
- The cost of the work
Some people have referred to estimates as guesses. This isn’t entirely incorrect as guess is a subset of estimate. An estimate that has been created without sufficient information that would ensure it is reasonable is indeed a guess. So all guesses are estimates, but importantly; not all estimates are guesses.
If you create an estimate with sufficient information to ensure that it is correct – this is not a guess.
A similar note should be made of projections, which are another subset of estimates. Projections are estimates based on current trends.
There may be more such definitions – let me know if you have another that should be added.
The debate may well cover this relationship in great detail and this seems reasonable. The value of an estimate may be linked to its accuracy (and to be clear, we are talking accuracy rather than precision here).
One point that I hope needs no debate is that if you are spending any length of time generating an estimate, it must surely provide an amount of value that justifies its cost – otherwise it is not a wise investment.
Now we have a premise for our debate. I will update it if anyone sees a flaw in these definitions.
Too much time has been lost because of arguments over the definitions – now that we have those we can take the discussion beyond the current broken propositions. No more talking about “estimates are just guesses”. Given that we agree on the definition of an estimate – can we now talk in a constructive way about them?