Guide
The Fibonacci scale in agile estimation
Why teams estimate stories in 1, 2, 3, 5, 8, 13, 21 instead of a linear scale. The short answer: human estimation precision drops as the work gets larger, and the Fibonacci spacing reflects that.
The scale and where it comes from
The mathematical Fibonacci sequence — 1, 1, 2, 3, 5, 8, 13, 21, 34 — is the series in which each number is the sum of the two before it. It dates back to Leonardo of Pisa (1202) and shows up in nature anywhere recursive growth occurs.
Mike Cohn introduced Fibonacci as the default story-point scale in his 2005 book Agile Estimating and Planning. Almost every Scrum and Extreme Programming team uses some variant of it today.
Most agile teams use a slightly modified version: 1, 2, 3, 5, 8, 13, 20, 40, 100. The second 1 is dropped and the 21 is rounded to 20. The widening-gap property is preserved.
Why widening gaps matter
Human estimation has a built-in resolution limit. For small, well-understood work, you can comfortably distinguish a 1 from a 2 from a 3. For larger or more uncertain work, your ability to tell an 8 from a 9 collapses. The signal at that scale is just not there.
The Fibonacci scale encodes this directly. There is no "7" — you pick between 5 and 8. There is no "15" — you pick between 13 and 21. The choice is forced to match the actual resolution of your judgement, which prevents the team from spending ten minutes arguing whether a story is a 7 or an 8.
Rule of thumb
The further apart two scale values are, the more confident you should be that the story is one or the other. A story that feels like "maybe a 3 or a 5" is fine; a story that feels like "maybe an 8 or a 13" means there is real uncertainty in the work and the discussion needs to surface what.
Comparison with other scales
| Scale | Values | Best for |
|---|---|---|
| Fibonacci | 1, 2, 3, 5, 8, 13, 21 | Backlog refinement, sprint planning |
| Modified Fibonacci | 1, 2, 3, 5, 8, 13, 20, 40, 100 | Large stories that are not yet split |
| Linear (1–10) | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Rarely useful — invites false precision and long arguments |
| T-shirt sizes | XS, S, M, L, XL, XXL | Early-stage rough sizing before stories are broken down |
| Powers of two | 1, 2, 4, 8, 16, 32 | Same widening-gap property as Fibonacci; rarer in practice |
When to split
A 13 is a yellow flag. A 21 is a red flag. Stories at that size are usually too big to fit confidently in a sprint and too uncertain to estimate accurately. Split them before they enter the iteration:
- By workflow step (research → design → implement → verify).
- By happy path vs. edge cases.
- By user-visible vs. backend slices.
- By acceptance criterion (one AC per smaller story).
A good split lands two or three stories at 5 or 8 each. If you end up with five 3s, you over-split.
FAQ
- Why not just use 1 to 10?
- A linear scale invites false precision. Teams argue whether a story is a 7 or an 8, when the underlying estimation noise is bigger than that gap. The Fibonacci spacing forces the team to commit to a magnitude (5 vs. 8) instead of a number.
- What is the difference between Fibonacci and modified Fibonacci?
- True Fibonacci is 1, 1, 2, 3, 5, 8, 13, 21, 34. Most agile teams use 'modified Fibonacci': 1, 2, 3, 5, 8, 13, 20, 40, 100 — replacing the second 1 and rounding 21 to 20. The difference is cosmetic; both have the widening-gap property.
- Should stories over 13 points be split?
- Almost always. A 13 means the team is far enough from the work to lose precision. A 21 is a flag that the story should be broken down before it enters a sprint, not estimated as-is.
- Can we add a 0 or a ½ to the scale?
- Some teams add 0 for trivial work bundled with a larger story, and ½ for a story that is clearly smaller than a 1. Neither is required. If it is worth tracking, it is worth a 1; if it is smaller than a 1, you are probably not tracking the right granularity.
Try the Fibonacci scale on a real backlog
Paste your tickets and share the room link. Sessions auto-delete after 24 hours.
Start a planning poker session