Why Do We Use Fibonacci Numbers to Estimate User Stories?
Frequently there are great debates about the use of the Fibonacci sequence for estimating user stories. Estimation is at best a flawed tool but one that is necessary for planning work.
User story estimation is based on Department of Defense research in 1948 that developed the Delphi technique. The technique was classified until the 1960’s (there are dozens of papers on the topic at rand.org). Basically, the Rand researchers wanted to avoid the pressure towards group conformity that typically led to bad estimates. So they determined that estimates had to be done in secret. Initially, the estimates would be far apart because people had different perceptions of the problem so they would have them talk about highs and lows after estimating in secret, then estimate in secret again. At Rand Worldwide you can read the original papers that demonstrate convergence.
Rand researchers then studied the effect of the numbers estimators can choose and found a linear sequence gave worse estimates than an exponentially increasing set of numbers. There are some recent mathematical arguments for this for those interested. The question then--if you want the statistically provable best estimate--is what exponentially increasing series to use. The Fibonacci is almost, but not quite exponential and has the advantage that it is the growth pattern seen in all organic systems. Why does the Fibonacci sequence repeat in nature? So people are very familiar with it and use it constantly in choosing sizes of clothes. For example, tee shirt sizes are Fibonacci. Since some developers are averse to numbers (a really strange phenomenon for those working with computers) they can use tee shirt sizes and their estimates are easily translated to numbers.
Microsoft repeated this research in recent years in an award-winning IEEE paper. As a result, Microsoft has abandoned hourly estimation on projects. See Laurie Williams, Gabe Brown, Adam Meltzer, Nachiappan Nagappan (2012) *Scrum + Engineering Practices: Experiences of Three Microsoft Teams. *IEEE Best Industry Paper Award, 2011 International Symposium on Empirical Software Engineering and Measurement.
So the Agile community has converged on the Fibonacci as the sequence to use. Unfortunately, many agile teams do not use it properly and try to get everyone to agree on one Fibonacci number which gives you mathematically and experientially provable bad estimates through forced group conformity. This is the very thing the Rand researchers invented the Delphi Technique to avoid.
Over and over again, researchers have shown that hourly estimates have very high error rates. This is true even if the user is an expert. It’s the tool that’s the problem. If you want to practice based on evidence, relative size estimates simply deliver a much more accurate estimate.