Agile estimation: Story Pointing Fibonacci
The Fibonacci Sequence pops up in life far more often than you realize. Flowers, pinecones, shells, hurricanes, and even entire galaxies exhibit the Fibonacci sequence. The numbers in the Fibonacci sequence are the heart of how things grow in the natural world, but the sequence also has plenty of applications in business!
If you’ve ever played Priority Poker, you already know one way we can apply the Fibonacci Sequence to product management. Today, we’re going to look at how the Fibonacci Sequence can be used for Agile estimation.
Table of contents
- Agile estimation: how to do Fibonacci story pointing
- What is the Fibonacci sequence?
- Why the Fibonacci sequence is important for Agile estimation
- How to use the Fibonacci scale in agile estimation
Agile estimation: how to do Fibonacci story pointing
Before we get into how to perform story pointing using the Fibonacci sequence, you need to know what Agile estimation is and why it’s important.
What is Agile estimation?
Agile estimation is the process of estimating how much effort is required to complete a task from the product backlog. This is similar to how architects estimate cost and resource use. But unlike building a house, requirements for software projects are constantly changing. This makes estimating a difficult job for software developers.
Despite the challenge, estimation is a crucial part of any project. It allows us to communicate better with those outside of the development process who have a vested interest in the product. It also helps us plan out resources and avoid waste, even with changing requirements.
Sprint planning sessions also benefit from Agile estimation as it reigns in the team. They can plan sprints with budget and resource limitations in mind rather than getting carried away.
What are story points in Agile estimation?
When performing Agile estimation, we tend to avoid specific timeframes. Deadline dates and timeframes don’t factor in non-project work that inevitably creeps into our days, like emails and meetings.
Instead, we use story points. Story points are a measurement unit representing an estimate of the effort required to deliver a task in the product backlog. Story points are assigned relative to the complexity, risk, and amount of work involved.
While this can be a confusing concept at first, story points are great for helping teams understand how much they can achieve each sprint. Assigning values more abstractly pushes the team to make tough decisions to ensure you only add value to the project.
What is the Fibonacci sequence?
The Fibonacci sequence is made up of numbers commonly found in the natural world. It has been adapted as a tool to aid mathematics, science, and even business! It is a sequence where each number is the sum of the two preceding numbers and looks like this: 0,1, 1, 2, 3, 5, 8, 13, 21, 34, and so on. The sequence is closely related to “the golden ratio, “ which artists use to create works with beauty, balance, and harmony.
Agile uses the Fibonacci sequence to assign numbers to story points. If you’ve played Planning Poker, this concept will be familiar to you. Numbers are assigned to story points to represent the complexity. The higher the number, the more complicated the story point will be.
Why the Fibonacci sequence is important for Agile estimation
Estimation sessions can often get a little ambitious. We all hope to perform the maximum possible amount of work even with resource and time limitations, but it’s just not possible. Using ambitious estimates for sprint planning can set the team up for failure.
As the project progresses, requirements change, and unexpected variables pop up. This can result in a failure to reach the high expectations established during estimation sessions and lots of re-planning. The Fibonacci scale gives teams a more realistic way to approach estimation.
Each number in the Fibonacci scale is exponentially larger than the preceding number. This is important for estimation because it clearly lays out which item has more importance. With a linear scale, something with a rating of 5 can seem almost as important as something with a 4 or 6 rating.
How to use the Fibonacci scale in agile estimation
You need a set of cards to run an Agile estimation session with the Fibonacci scale. These can be regular playing cards, specially made priority poker cards, or even cut-up pieces of paper with the numbers written on them.
The process will look at each user story individually.
The product owner will start by giving an overview of each story. The team has a set amount of time to discuss the story and ask questions to better understand requirements, risks, and assumptions. Team members should avoid assigning estimation numbers to the story at this stage to avoid bias. It can also be helpful to assign a moderator during these discussion sessions to make notes on key points and enforce time limits.
Once the discussion has ended, it’s time for the team to assign a card to the current user story. Cards should be placed face-down to not influence others. Team members will then turn over their cards, simultaneously revealing their estimations.
You can move on to the next story if all the numbers are the same. If there are different numbers in the group, ask those who have given significantly different values to explain their reasoning, then repeat the process until the team is aligned.
The most common use of the Fibonacci scale in Agile estimation is Planning Poker (also known as Priority Poker). This is a great way to gamify the estimation process and adds fun to the workday. Planning Poker encourages even the quietest team members to participate, making sure you get input from everyone.
If Planning Poker sounds like an excellent activity for your product team, you can learn more about it on the EasyRetro blog. And if you’re ready to start with story pointing using the Fibonacci scale, you can make the session even more exciting with Planning Poker cards!