Using the Fibonacci Scale in Agile Estimation (2024)

Chances are that you’ve had the experience of being given an estimate that turned out to be completely wrong—the car wasn’t repaired in two days or the table at the restaurant wasn’t ready in 15 minutes.

If estimates can be inaccurate, why are they important to project planning?

It’s a matter of setting the right expectations and determining how much work is realistic to complete in a given timeframe—teams need to account for a project’s complexity in order to decide the amount of effort required, the number of resources needed, and ultimately, how much time it will take to complete the project.

Many developers in Agile environments have successfully improved the estimation process using the Fibonacci scale or a modified Fibonacci sequence to estimate the work that needs to be completed in an iteration.

Learn what the Fibonacci sequence is and how you can apply it to Agile estimations.

What is the Fibonacci sequence?

Fibonacci was an Italian mathematician in the Middle Ages who wrote a book called Liber Abaci (Book of Calculation). This book introduced and popularized the Hindu-Arabic numeral system in the Western world. In Liber Abaci, Fibonacci also presented the following problem:

A certain man put a pair of rabbits in a place surrounded on all sides by a wall. How many pairs of rabbits can be produced from that pair in a year if it is supposed that every month each pair begets a new pair which from the second month on becomes productive?

To estimate the answer, Fibonacci introduced an exponential sequence of numbers, now known as the Fibonacci number or Fibonacci sequence. In the sequence, each number is the sum of the preceding two numbers:

0, 1, 2, 3, 5, 8, 13, 21…

Why the Fibonacci series is used in Agile

The Fibonacci sequence is found in many different disciplines and in nature. For example, it has been used to describe plant life growth, estimate population increases over a specified timeframe, model virus breakouts, and predict the behavior of financial markets.

But what does this long string of numbers have to do with Agile planning?

Essentially, the Agile Fibonacci scale gives teams a more realistic way to approach estimates using story points. Story points are used to represent the size, complexity, and effort needed for completing or implementing a user story. Each story point is assigned a number from the Fibonacci scale. The higher the number, the more complex the story point, and presumably, the amount of effort it will take to complete.

As discussed previously, estimates can often be inaccurate—and that happens because people tend to be overly optimistic.

For example, instead of making an estimate based on a similar project we completed in the past, we believe we can get it done faster because we are more experienced and we are sure that this time there won’t be any problems that cause delays.

Because the Agile Fibonacci Scale is exponential rather than linear, it helps teams to be more realistic when looking at larger, more complex tasks.

To help you understand why the exponential nature of the Fibonacci series is helpful, we’ll paraphrase an analogy used by Mike Cohn, one of the founders of the Scrum Alliance:

Imagine holding a one-pound weight in one hand and a two-pound weight in the other. Without looking, you are likely able to determine which is which because the 2-pound weight is noticeably heavier—the two-pound weight is 100% heavier than the 1-pound weight).

If you were to hold a 20-pound weight and a 21-pound weight, it is harder to determine which is heavier because the difference between the weights is not that significant—the 21-pound weight is only 5% heavier.

Each number in the Fibonacci scale is exponentially larger (by about 60%) than the previous number. Teams can more easily recognize the differences and define the complexity of each story point.

How to use the Fibonacci scale in Agile

Many Agile teams use the planning poker technique for estimating story points.

This technique involves card decks with Fibonacci numbers starting with zero (0, 1, 2, 3, 5, 8, 13, 21, etc.) or a modified version of the sequence (0, .05, 1, 2, 3, 5, 8, 13, 20, 40, 100). Your team can use any number sequence with a fixed ratio (e.g., 1, 2, 4, 8, etc.) as long as the team understands and agrees with what the ratios mean.

Each member of the estimation team, aside from the moderator, needs their own deck of cards, and the planning poker technique proceeds with these steps:

  1. The product owner gives the team an overview of a user story.
  2. The team is given time to discuss and ask questions to get a better understanding of risks and assumptions. Team members should not mention any estimation numbers so that estimates are not biased. The moderator should record a summary of the discussion and can use a timer to limit the discussion time.
  3. Each team member chooses a card to represent their estimate of the story and places it facedown on the table.
  4. Team members turn over their cards simultaneously.
    • If everybody selects the same number, you’re done. That number is used for the estimate, and you can move on to the next story.
    • Individuals who have selected numbers that are significantly higher or lower than other numbers are given time to justify their estimates. For example, the task may be simple for a developer to complete (such as adding a field to a form), but that simple addition could turn out to be more complex for testers later.
  5. The process repeats from step 3 until the team reaches a consensus.
  6. The next user story is introduced for estimation and the entire process repeats.

If your team doesn’t have physical card decks, you can run through your user story estimation process using the template below. An online Fibonacci scale is a great solution for distributed teams who can’t physically meet in the same location.

Benefits of using Fibonacci Agile estimation

When using the Fibonacci scale in Agile settings, your team can experience the following benefits

Involve the whole team

It is important that every member of the development team is included in the Agile estimation process. Each member gives a different perspective that helps to hone in on a more accurate and realistic estimation of the work required to complete a user story.

For example, before declaring that building a web page should only take four hours to complete, you’ll want to get input from UX, design, development, and quality assurance.

Establish a scale for comparing story point complexity

Assigning story points with linear numbers makes it difficult to determine how much weight each story point should carry.

For example, you can reasonably estimate that a story point assigned the number two is twice as complex as a story point assigned the number one. But, how much more complex is a number 12 compared to a number 11?

The exponential nature of the Fibonacci Scale makes it easy for the entire team to understand what the assigned numbers mean.

For example, a 1 could mean that complexity is minimal, and the story point can be delivered quickly (within an hour). Several of these tasks can be completed in a day. A 13 means the story point is very complex and could take weeks to complete.

Increase the accuracy of estimates

By assigning story points higher numbers, it forces the team to realistically look at the complexity and effort required to complete the task, which can lead to more accurate estimates.

Tired of completing user stories after your projected deadlines? Ready for more accurate estimates? Incorporate the Fibonacci scale into your Agile planning processes now.

Using the Fibonacci Scale in Agile Estimation (2024)

FAQs

What is the Fibonacci scale used for in scrum? ›

Scrum teams can use Fibonacci numbers to understand the scope and size of their product backlog items. "Size" is not a simple estimate of how long a task will take. Instead, it's a shared idea of: Scope.

Why is the modified Fibonacci sequence used when estimating in scaled agile? ›

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.

Why does Jira use the Fibonacci sequence? ›

To eliminate the vagueness from estimates, teams often use the Fibonacci sequence. In this sequence, the consecutive integers are the sum of the two preceding ones. And thus, you get 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, and so on. (You may modify this sequence and start as low as 0.5.)

Why does the Fibonacci sequence work well for estimating? ›

According to Weber's Law, if we can distinguish a 60% difference in effort between two estimates, we can distinguish that same percentage difference between other estimates. So, the Fibonacci values work well because they increase by about the same proportion each time.

How to use Fibonacci sequence in Agile? ›

How to use the Fibonacci scale in Agile. Many Agile teams use the planning poker technique for estimating story points. This technique involves card decks with Fibonacci numbers starting with zero (0, 1, 2, 3, 5, 8, 13, 21, etc.) or a modified version of the sequence (0, . 05, 1, 2, 3, 5, 8, 13, 20, 40, 100).

How many hours are 5 story points? ›

You can do this by looking at how many hours it takes to complete tasks with different story point values. For instance, if you find that, on average, a 2-story point task takes about 8 hours, a 5-story point task takes 20 hours, and so on, you can estimate that 1 story point is roughly equivalent to 4 hours.

How many hours is 3 story points in Jira? ›

Two story points, for example, equate to a work that will take 2-4 hours, whereas three story points go to issues that will take 4 to 8 hours, and so on. It's a hybrid technique to task estimations that should not be used in most cases.

What do 5 story points mean in Jira? ›

Story Points are generally assigned on a scale of one (lowest) to five (highest), with each number representing an arbitrary measure of difficulty. This method helps teams assign resources efficiently and accurately while ensuring that tasks and issues are completed within an acceptable time.

What is the Fibonacci sequence commonly used for? ›

Fibonacci retracements are the most common form of technical analysis based on the Fibonacci sequence. During a trend, Fibonacci retracements can be used to determine how deep a pullback may be. Traders tend to watch the Fibonacci ratios between 23.6% and 78.6% during these times.

How to estimate effort in Agile? ›

Agile teams usually estimate effort using a metric called story points. Story points are an abstract value that takes into account the relative complexity and size of a task. Teams tend not to estimate based on person hours, but instead use Story points – a concept inherited from Extreme Programming (XP).

Why is the Fibonacci point system terrible for sprint estimations? ›

Why it's Bad for Sprint Estimation. While Fibonacci pointing is good for measuring the complexity of a project, it by itself is a poor point system for measuring the actual amount of time and work it will take to complete a feature.

How to calculate story points in Agile? ›

How to Calculate Story Points in Agile: 6 Easy Steps
  1. Step 1: Understand the overall effort involved in each user story. ...
  2. Step 2: Choose a baseline story. ...
  3. Step 3: Determine the sequencing method before assigning the actual numerical value. ...
  4. Step 4: Register team consensus. ...
  5. Step 5: Record story point estimations.
Jan 30, 2024

What are Fibonacci levels used for? ›

The Fibonacci retracement levels are used to determine the support levels, while the Fibonacci extension levels are used to identify potential profit-taking levels. These levels are widely used in forex, stocks, and cryptocurrency trading to make informed trading decisions and increase the chances of success.

What is the Fibonacci sequence used for? ›

The golden ratio of 1.618 is derived from the Fibonacci sequence. Many things in nature have dimensional properties that adhere to the golden ratio of 1.618. The Fibonacci sequence can be applied to finance by using four techniques including retracements, arcs, fans, and time zones.

What is Fibonacci ratio used for? ›

Fibonacci Retracement and Predicting Stock Prices

For unknown reasons, these Fibonacci ratios seem to play a role in the stock market, just as they do in nature. Technical traders attempt to use them to determine critical points where an asset's price momentum is likely to reverse.

What is the Fibonacci scale for user stories? ›

The Fibonacci sequence is useful for user story estimation because it reflects the exponential growth of uncertainty and complexity as tasks get larger. The bigger the user story, the harder it is to estimate accurately, and the more likely it is to have hidden dependencies, risks, and unknowns.

Top Articles
Latest Posts
Article information

Author: Nathanael Baumbach

Last Updated:

Views: 5789

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Nathanael Baumbach

Birthday: 1998-12-02

Address: Apt. 829 751 Glover View, West Orlando, IN 22436

Phone: +901025288581

Job: Internal IT Coordinator

Hobby: Gunsmithing, Motor sports, Flying, Skiing, Hooping, Lego building, Ice skating

Introduction: My name is Nathanael Baumbach, I am a fantastic, nice, victorious, brave, healthy, cute, glorious person who loves writing and wants to share my knowledge and understanding with you.