When managing a team, it's essential to be able to estimate how long it takes to complete a task. Chances are you've had an experience where your estimates turned out to be wrong; the project took longer than expected, or your product team couldn't deliver in time.
If estimates are often inaccurate, why bother with them at all? Imagine spending time creating a cost estimation, but going over budget by a huge amount once the project is underway? The reality is that estimates help to set expectations and determine how much work your team can complete within a specific timeframe. As a project manager, it’s useful to improve your project estimation skills and carry your team along with you.
Managers in Agile environments improve their estimation process using the Fibonacci scale or a modified Fibonacci sequence to evaluate the tasks to be completed in a sprint. Learn what the Fibonacci scale is and how you can apply it to determine the time needed for your projects.
What is the Fibonacci scale?
Agile teams discuss upcoming tasks and assign points to each one using the Fibonacci scale to prioritize tasks to be included in the next sprint. Complex tasks are assigned more Agile story points, while smaller tasks are assigned fewer.
The Fibonacci scale, based on the Fibonacci sequence, consists of numbers that add up the two preceding numbers, starting with 0 and 1. The standard Fibonacci sequence is 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, and 89.
Why is the Fibonacci sequence used in Agile?
You can find the Fibonacci sequence in nature and across many different disciplines. It has been used to describe plant life growth, estimate population increase, model virus breakouts, and predict financial markets behavior. But what does it have to do with Agile planning?
Essentially, Fibonacci in Agile gives teams and project managers a realistic way to approach estimates using story points.
Story points represent the size, complexity, and effort needed to complete a user story. You assign a number from the Fibonacci scale to each story point. The higher the number, the more complex the story point and the more effort it will take to complete.
How to use the Fibonacci estimation in Agile
- Each team member estimates a number on the Fibonacci scale that represents the task's size
- All team members disclose their numbers at the same time to avoid being influenced by each other's estimates
- Together, they conduct a review of the disclosed numbers until they reach a consensus about each task and user story
- Each user story is then added to a bucket which represents a corresponding point in the Fibonacci sequence
The team repeats these steps for all user stories and pending tasks to be added to the product backlog.
Another common method Agile teams use to estimate story points is the planning poker method. This technique involves distributing card decks bearing numbers in the Fibonacci sequence. Each team receives their deck of cards, and the product owner or manager begins the estimation process with an overview of a user story.
The team discusses the story, asking questions to clear up any confusion. They then choose a card to represent their estimate and place it face down on the table.
At the product owner's prompt, team members turn over their cards. If everyone selects the same number, that number becomes the estimate, and the team moves to the next story. If there are different numbers, those whose estimations are significantly higher or lower are called to justify their selections until everyone reaches a consensus.
Can you use a modified Fibonacci scale?
If you've estimated using the planning poker method, you may have used cards with the standard Fibonacci sequence or a modified version.
As long as the modified Fibonacci sequence increases by a percentage over 60%, you'll likely get similar results from the exercise as you would with the standard Fibonacci sequence. The 60% limit comes from Weber's law of noticeable differences, which shows that we are more likely to notice the difference between two objects of significantly varied weights than two with only a slight difference in weight.
You may choose a modified Fibonacci sequence starting with numbers other than 0 and 1. You may also choose to start at 0 and 1 and double each number, e.g., 1, 2, 4, 8, 16, 32.
Whatever modification style you choose, ensure that your team members' discussions focus on evaluating each user story correctly and not on the modified Fibonacci sequence.
What are the benefits of applying the Fibonacci scale in Agile?
Using the Fibonacci scale in Agile environments is valuable for several reasons. Its exponentially increasing nature makes it easy to differentiate between simple and complex tasks, which helps teams make good judgment calls. Other benefits of using Fibonacci in Agile include:
1. Encouraging collaboration in cross-functional teams
Fibonacci estimation techniques require that team members bring their perspectives, experiences, and expertise to implementing the upcoming user stories. This makes the project estimation process more accurate, collaborative, and realistic. For example, you need the input of your UX, design, development, and content teams to estimate the time required to complete a new landing page.
2. Establishing a scale for comparing user story points
Fibonacci estimation techniques provide a sturdy way to determine how much weight each user story carries. The Fibonacci sequence’s exponential nature makes it easy for teams to understand what the assigned numbers mean and how complicated it may be to complete a particular task. For example, a 0 or 1 means that the story point is simple and can be completed quickly. An 8 or 13, however, means the story point is more complex and could take weeks to finish.
3. Increasing the accuracy of estimates in project planning
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.
4. Improving team participation and engagement
Using the Fibonacci scale ensures that work is distributed appropriately within and between teams. By seeking team member's perspectives in the sprint planning stage, you ensure that everyone is on board with the projected timelines and ready to work together to see the project succeed. If you use this approach on an ongoing basis, you'll become more accurate in forecasting project timelines and avoid overcommitting during each sprint cycle.
What are the challenges of applying the Fibonacci scale in Agile?
Compared to the benefits of using the Fibonacci scale in Agile, the drawbacks are very few.
For some, using a story points system that follows Fibonacci can be confusing — the sequence of numbers increasing as they do can go against our brain's usual preferred way of counting and estimating.
When using Fibonacci, it is understood that, as the uncertainty and complexity of that task increases, so does the figure in the sequence. When the task at hand is assigned a very high number on the sequence, it can become too complex to make any kind of accurate assumption about it. Using a different approach may make it easier to estimate complexity in this kind of situation.
Make work easier with Wrike
Are you tired of wrongly estimating task completion times and rushing through projects to deliver as expected? Incorporate the Fibonacci scale into your Agile estimation and project planning process. You can boost team communication and implement user stories with ease using Wrike's Agile project management software. Find out how with a two-week free trial.