Story points are a relative estimate of the overall size of a backlog item. They are not meant to be a disguised unit of time. They blend three things:
Complexity
How difficult is the problem to understand or solve?
Effort
How much raw work is actually involved?
Doubt
How much uncertainty, risk, or missing information exists?
When a team assigns a point value, the number says: compared with work we already understand, how large and uncertain does this feel? That distinction matters.
Why Fibonacci?
Teams use scales like 1, 2, 3, 5, 8, 13 deliberately. The growing gaps acknowledge a fundamental truth: the larger the work, the less precisely you can estimate it. A team can easily distinguish between a 1 and a 2. Distinguishing a 17 from an 18 is wishful thinking. The spaced scale forces the more useful question: is this small, medium, large, or too uncertain to discuss as a single item?
1 → 2 → 3 → 5 → 8 → 13 → 21 → ? → ∞
- Uncertain, cross-functional work where complexity and risk vary widely
- Long-range backlog forecasting over multiple sprints
- Surfacing what teams do not yet understand before work starts
- Avoiding individual time pressure on developers
- Comparing relative size across many backlog items at once
- When velocity becomes a target — points inflate and stop measuring reality
- When teams estimate mechanically and skip the discussion that creates shared understanding
- When leaders quietly convert points to hours behind the scenes
- When velocity is compared across teams — story points are local, never universal

