Estimation is always a hot topic, but it appears to particularly popular at the moment. One unifying belief (from Planning Poker to #NoEstimates) seems to be that we are not very good at estimating.
But is that really true? Sure, if you are precise with your estimate, then you are asking for trouble. But what about if you give a range of dates: saying “I’m 90% confident that this will take between 2 and 6 weeks” has to be much more accurate than saying “This will take 4 weeks”? If you make your range wide enough, then surely you’re covered.
Software Estimation: Demystifying the Black Art by Steve McConnell suggests not.
McConnell sets a simple quiz: just 10 questions. He asks that, for each question, you give a lower and upper estimate – with 90% accuracy. He warns “not to make your ranges either too wide or too narrow. Make them wide enough so that, in your best judgment, the ranges give you a 90% chance of including the right answer.” Obviously don’t look up the answer; it spoils the exercise.
The aim of the quiz is to determine how capable you are of making accurate estimates. Most people, including me, despite being asked for 90% accuracy, only get 3 correct (the average is actually 2.8).
So why, when asked to be as accurate as possible, do we still get it so wrong? Pressure. McConnell argues that we feel pressure to give narrow ranges. And this pressure, he continues, usually comes from the team itself. However, if you re-read the instructions, you were not encouraged to give narrow estimates; you were asked to “Make them wide enough so that, in your best judgment, the ranges give you a 90% chance of including the right answer.” McConnell goes on to propose that this pressure is often self-induced. Professional pride is a major factor; we don’t want to be seen as not knowing how long something will take.
Is this test like real life? Lots of studies show that software projects come close to 3 in 10 hitting estimates (if not fewer). In software development we are often in unfamiliar territory, just like the test. Uncertainty is real-life.
So what is the solution? McConnell’s book discusses many options. But, in short, he argues that estimates need to be supported by stats.
Did I hear someone mention Kanban?!
You can buy a copy of Software Estimation: Demystifying the Black Art (2006) by Steven McConnell from Amazon.
Thanks to Johnathan – one of the developers I work for – for bringing the book to my attention.
Pingback: Calibration tests | Scrum & Kanban