When estimating the relative size of user stories in agile software development the members of the team are supposed to estimate the size of a user story as being 1, 2, 3, 5, 8, 13, ... . So the estimated values should resemble the Fibonacci series. But I wonder, why?
The description of http://en.wikipedia.org/wiki/Planning_poker on Wikipedia holds the mysterious sentence:
The reason for using the Fibonacci sequence is to reflect the inherent uncertainty in estimating larger items.
But why should there be inherent uncertainty in larger items? Isn't the uncertainty higher, if we make fewer measurement, meaning if fewer people estimate the same story? And even if the uncertainty is higher in larger stories, why does that imply the use of the Fibonacci sequence? Is there a mathematical or statistical reason for it? Otherwise using the Fibonacci series for estimation feels like CargoCult science to me.
A key benefit of applying the Fibonacci scale in Agile environments is how it creates room for team members and project managers to realistically look at the effort required to complete each task in a sprint cycle. This leads to more accurate estimates in the project planning process.
The Fibonacci sequence goes as follows: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89… and so on. Fibonacci agile estimation refers to using this sequence as the scoring scale when estimating the effort of agile development tasks.
The modified Fibonacci sequence is often used when estimating in SAFe Agile because it considers that larger tasks are usually more complex and, therefore, difficult to estimate. This is important in SAFe Agile because large teams often have to make trade-offs between different tasks in order to meet their deadlines.
Planning poker, also known as “scrum poker” and “pointing poker”, is a gamified technique that development teams use to guess the effort of project management tasks. These estimations are based on the entire group's input and consensus, making them more engaging and accurate than other methods.
The Fibonacci series is just one example of an exponential estimation scale. The reason an exponential scale is used comes from Information Theory.
The information that we obtain out of estimation grows much slower than the precision of estimation. In fact it grows as a logarithmic function. This is the reason for the higher uncertainty for larger items.
Determining the most optimal base of the exponential scale (normalization) is difficult in practise. The base corresponding to the Fibonacci scale may or may not be optimal.
Here is a more detailed explanation of the mathematical justification: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html
Out of the first six numbers of the Fibonacci sequence, four are prime. This limits the possibilities to break down a task equally into smaller tasks to have multiple people work on it in parallel. Doing so could lead to the misconception that the speed of a task could scale proportionally with the number of people working on it. The 2^n series is most vulnerable to such a problem. The Fibonacci sequence in fact forces one to re-estimate the smaller tasks one by one.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With