15 June 2012

The fallacy of better estimates

One of my teams is struggling with its customers who want something that can’t happen: getting better at estimating. It feels like they are asking for a precise definition of how long a story will take. What they don’t understand is that because of the work we do, it is nearly impossible to accurately estimate the work we do.



We have discovered - and one of the benefits of Agile (xP) is - that we understand relative sizing between stories. We know that when we say it will cost X units to produce feature A, and feature B looks similar to A then it will cost roughly the same effort to produce B: the cost is X. If however, feature C looks harder than A or B, we know we can estimate C at a cost of 2X (or 3X, or nX).



We also know that there will be no direct correlation between time and estimate because a story with an X estimate may take ½ day, 1 day or 2 days. Overall, though this makes no difference because as we build an estimate history with our velocity, we will see that stories estimated at X units fit in all three time buckets.



Oh the humanity! How will we plan?



The beauty of estimates is when they are aggregated together, they give a good (some would say the best) way of saying with a high degree of confidence that we can get this amount of work done in one iteration. A team that on average produces features that cost 10X every iteration can plan cards that when totaled add up to that number – whatever 10X is. Programmers also are acutely aware that neither planning 20 - ½X sized stories nor one 10X sized story in an iteration is a good idea. There is a Goldilock’s zone somewhere in between that we find the most success.



Estimates are not taken lightly




We have a feel for how difficult it is to produce something because we know it is relative in difficulty to something else we have already produced. We build a history with our velocity so that customers who drive business value can decide which cards to put in the queue and in what order they should be done. Beyond this, the estimate for individual cards is meaningless. And striving to get better (more accurate) at individual estimates is a waste of time.

No comments: