How We Started Using the Fibonacci Sequence in Agile?
- 23 Nov 2018
Today we celebrate the Fibonacci numbers or sequence – the numbers that occur in the notable Fibonacci spiral. They can be observed in many different places in nature and have found their way in many different domains in our lives – mathematics, statistics, computer sciences, and of course Agile Development and the Scrum methodology, widely used in the field.
And while some of us may use them daily not all know the history behind the sequence and Fibonacci himself. Italian mathematician Leonardo of Pisa (nicknamed Fibonacci) first introduced the numbers in 1202 in his book Liver Abaci.
So how did he himself come to this discovery? He posed a rather strange problem:
If a pair of rabbits is placed in an enclosed area, how many rabbits will be born there if we assume that every month a pair of rabbits produces another pair and that rabbits begin to bear young two months after their birth?
The answer represents the famous spiral - At the start no rabbits are born, as the initial pair has not had time to become pregnant and give birth. Then the first month one pair of rabbits is born. The second month one pair of rabbits is born as the new rabbits have not yet matured to bear young. Then the third month two pairs of rabbits reproduce, and one pair is not ready, so two pairs of rabbits are born. The fourth month three pairs of rabbits reproduce and 2 pairs of rabbits are not ready, so three pairs of rabbits are born, etc, etc. Sounds similar, doesn’t it?
But what do rabbits have in common with software development? Why do we use exactly these numbers in Scrum?
History points out the first instance these numbers were used in user story estimation was in 1948 by the US Department of Defence. Researchers from the Rand Corporation wanted a way to avoid the pressure of group conformity in teams that lead to bad estimates most of the time, which is why they developed the Delphi technique where the estimates are done in secret. As part of this study, they also found a linear sequence, such as 1,2,3… gave worse estimates than an exponentially increasing set of numbers such as the Fibonacci number set, or estimating workload in hours. Years later Microsoft repeated the study and confirmed the same findings, so they abandoned hourly estimation in projects.
Since then, the Agile community has mostly agreed on using the Fibonacci sequence. So next time you see a rabbit, don’t forget how much they contributed to software development ;)
Happy Fibonacci numbers day!
And while some of us may use them daily not all know the history behind the sequence and Fibonacci himself. Italian mathematician Leonardo of Pisa (nicknamed Fibonacci) first introduced the numbers in 1202 in his book Liver Abaci.
So how did he himself come to this discovery? He posed a rather strange problem:
If a pair of rabbits is placed in an enclosed area, how many rabbits will be born there if we assume that every month a pair of rabbits produces another pair and that rabbits begin to bear young two months after their birth?
The answer represents the famous spiral - At the start no rabbits are born, as the initial pair has not had time to become pregnant and give birth. Then the first month one pair of rabbits is born. The second month one pair of rabbits is born as the new rabbits have not yet matured to bear young. Then the third month two pairs of rabbits reproduce, and one pair is not ready, so two pairs of rabbits are born. The fourth month three pairs of rabbits reproduce and 2 pairs of rabbits are not ready, so three pairs of rabbits are born, etc, etc. Sounds similar, doesn’t it?
But what do rabbits have in common with software development? Why do we use exactly these numbers in Scrum?
History points out the first instance these numbers were used in user story estimation was in 1948 by the US Department of Defence. Researchers from the Rand Corporation wanted a way to avoid the pressure of group conformity in teams that lead to bad estimates most of the time, which is why they developed the Delphi technique where the estimates are done in secret. As part of this study, they also found a linear sequence, such as 1,2,3… gave worse estimates than an exponentially increasing set of numbers such as the Fibonacci number set, or estimating workload in hours. Years later Microsoft repeated the study and confirmed the same findings, so they abandoned hourly estimation in projects.
Since then, the Agile community has mostly agreed on using the Fibonacci sequence. So next time you see a rabbit, don’t forget how much they contributed to software development ;)
Happy Fibonacci numbers day!
Back to News