How to use Fibonacci to estimate tasks
humans are evil at estimating, especially when working in a complex domain. The good news is that people are instead good at comparing things. Discover how to use Fibonacci to estimate tasks.
Today I want to talk about how to use Fibonacci - instead of time - to estimate tasks. We know what, how, and when we can consider a task as done (check this past issue). But what about how long?
It is impossible to accurately estimate how much time a project will take. Even for those implementing it.
In the 1940s, Rand Corporation’s research proved that humans are not good at estimating hours. We only know enough to get started. Plus, 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. That's why the best way to set estimations is not by estimating in hours but by setting your level of uncertainty.
When more is unknown than known, use relative sizing.
As we said above, humans are evil at estimating, especially when working in a complex domain. The good news is that people are instead good at comparing things. Agile estimating uses relative sizing to provide a realistic way for teams to define the story point for a task
What is relative sizing?
Comparing tasks and determining which is larger or smaller is easier and more effective. The size is relative to the other tasks your team may have on its plate. A story point is a metric to estimate a task's difficulty. It is an abstract measure of the effort required to implement it. It considers the complexities, risks, and efforts involved in completing the task. Don't use the “human-day” or "human-hour" metric when the team estimates. Instead, define a Fibonacci, where each number is the sum of the preceding two numbers: 0, 1, 2, 3, 5, 8, 13, 21… The exponential nature of the Fibonacci Scale makes it easy to understand the meaning and its unique domain.
How to use Fibonacci to estimate task
Once you understand the theory, getting started can be tricky. Knowing you have a 99% chance of getting your estimates wrong at the beginning is essential. However, thanks to the first mistakes, you can adjust the shot and start attributing numbers that make sense. To help you get started, you can find below my definitions for numbers 1 to 8.
1 Story Point - Very Easy
It's a tiny "just do it" task. The task is simple, easy, and can be completed with autonomy. No further support from the team. The task is not blocking others. It hasn't any risk or urgency.
2 Story Points - Easy
It's a "just do it after briefing" task. The task is simple, easy, and can be completed with little support from the team. The task can block others, but it is the simplest one in the project. The risk is shallow. Urgency is not high.
3 Story Points - Medium
It's a "plan and focus on" task. The task is not easy, a brief with the supervisor is needed. The task can block others and the main project. The risk level is medium, as well as urgency.
5 Story Points - Tough
It's a "plan, do, and double-check" task. Most of the time is about complex analysis. The task is complex and involves other departments. It needs a detailed brief and continuous alignment with the supervisor. The task blocks others and the main project. Priority, urgency, and risk levels are high. Risks are:
Edges are not strictly defined, and implementation may include any risk.
This task will probably lead to creating others to be completed.
If possible, it would be better to decompose it into more than one task.
8 Story Points - Very Hard
The task is entirely about deep investigation or analysis of an unknown area. The approach is not defined and requires discussion and approval. Significant implementation will be required according to the results of this investigation.
Risks are:
Edges are unknown, and implementation may include any risk.
This task will probably lead to creating others to be completed.
If possible, it would be better to decompose it into more than one task.
The sooner you start before you become good at estimating
The first time you do anything, you don't know how long it's going to take to do it. That's why getting some experience is essential, so you can get a feel for how long things will take.
Once you've got some experience, you can start to get better at estimating. But even then, you're not going to be perfect. That's just the way it is.
The important thing is to not let that stop you. You'll never get anything done if you're always waiting until you're sure you can do something perfectly before you start.
Start with something small, and then move on to something bigger. The more you practice, the better you'll get.
You'll soon be able to estimate tasks pretty well.