Story Points: How Fibonacci Sequence works for Agile Estimation

Ducalis.io
Ducalis blog
Published in
5 min readApr 4, 2022

In agile projects, estimation is done for all the tasks and stories in a project. Estimation is usually done by assigning Fibonacci Story Points to each story. These points are assigned to the story based on how complex it is and how much time it will take to complete.

The Fibonacci Story Point system has been around for a while now, but the recent adoption of agile practices has made it popular again. It can be used in almost any project management software that supports estimation, such as Jira or Asana.

Fibonacci Sequence (1, 2, 3, 5, 8, 13, 21) for Evaluation

Using relative sizing instead of absolute estimating is a proven method when most requirements are unknown, the environment is complex, and the need is urgent. You don’t need to know the exact number of hours to spend or the amount of money to earn. Those figures are also known as Story Points in Scrum / Agile methodology.

💡 The goal of such estimation is to help with relative sizing. It helps determine what is bigger and smaller but does not find the exact number, as the forecast is rarely possible.

Fibonacci sequence estimation speeds up estimation time by 80%. It highlights the difference and gives better estimates.

https://ducalis.io/signup

Why Story Points With a Fibonacci Sequence Are Better Than Hours

According to Scum Inc, even the best experts in the company could not estimate how much time a project would take, including the people who implemented it. Moreover, Rand Corporation’s research in the 1940s showed that humans are not good at estimating hours. Practical experience repeatedly confirms this research.

Developers only know enough to get started; they don’t know everything needed to complete an item. The more ambiguous the requirement, the more difficult it is to calculate how long something will take. However, teams still need to estimate their work to forecast releases.

The more ambiguous the requirement, the more difficult it is to calculate how long something will take. WSJF is not forcing you to set the proper estimations in hours. Instead, it asks you to set your level of uncertainty.

💡 Our goal is not to find the exact number of hours but to determine and handle the acceptable level of uncertainty. Uncertainty grows exponentially as job size increases.

The probability of completing a task dramatically falls as your estimation Job Size grows.

Probability of Completing a Task on Time, ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL. 15, ISSUE 1/2017 45

We need to separate large and unclear tasks that cannot be accomplished in one sprint or product increment cycle for better planning.

With the linear evaluation scale, numbers are too close to one another, and it’s impossible to distinguish estimates. That’s why the Fibonacci sequence will protect your top priority list with reasonable complexity from something that should be cut into smaller chunks.

Correlation Between Job Size and a Probability of Completing a Task on Time

How Estimation with Fibonacci Sequence Follows 80/20 Rule

The WSJF priority score has 80 unique values distributed from 0.14 to 63. We can match our seven levels of priority to each interval of the WSJF score:

The majority of WSJF score values lay under 18, it’s about 80% of values. That matches Pareto Law. That estimation method clearly separates useless tasks from the best ideas of your backlog.‍

What if It’s Impossible to Evaluate a Task?

Sometimes it’s not possible to give an estimation at all. Maybe the task needs some clarification, rethinking, or there’s just not enough information on the issue.

Questions

A simple and powerful tool for asynchronous backlog refinement.

While running an evaluation session with Ducalis.io, you can ask a question that’s unclear for you relating to that issue. Then, the task will move from the evaluation section to questions.

The result of each question’s resolution should be an action relating to the issue. You’ll have time to discuss, clarify, divide, and merge the issue or even remove it from your backlog. After the question’s resolution, the issue will be back in your evaluation section.

The most significant advantage of this method is that it’s asynchronous. You don’t need to run a dedicated backlog refinement session. Just skip another Zoom call that may be replaced with a ‘Question’ button.

Evaluation Skipping

Sometimes you may read an issue’s description and have no clue what it’s about. For example, maybe it was just automatically synced from your task tracker, but the issue wasn’t ready for the evaluation at all as it’s still in research, prototyping or experimenting mode.

You can skip it until you reach the next evaluation cycle (product increment).

The issue will appear in the scored section, marked as skipped.

To understand the whole picture, check the team’s evaluation progress report to see how many skipped tasks are in your backlog.

Modified Fibonacci Sequence

Mike Cohn (the author of the story points concept) advises having teams estimate with a modified Fibonacci sequence of 1, 2, 3, 5, 8, 13, 20, 40, and 100.

The idea is simple enough. If you evaluate something with 40 or 100, it’s similar to asking a question or just skipping a task from a current PI cycle.

If you like that idea, you can easily modify your evaluation scale with Ducalis’ criterion setting:

However, it’s a lot of manual work. Therefore, someone should always track those tasks, keep in mind the list of unclear tasks, and tackle others to clarify them.‍

Originally published at https://hello.ducalis.io.

--

--