← About

Agile estimation: complete guide

Agile estimation is often misunderstood. Teams either over-engineer it with spreadsheets or dismiss it as inaccurate. This guide explains the principles, the tools, and the common mistakes, so your team can estimate with confidence and plan with clarity.

Why estimate at all?

Estimation is not about predicting the future. It is about surfacing what the team does not know. A good estimation session reveals hidden complexity, unstated assumptions, and unresolved dependencies, before any code is written.

The output (the number) is less valuable than the conversation that produced it.

Story points vs. hours: the key difference

Hours measure time, which varies by developer, day, and context. A senior engineer may finish a task in 2 hours; a junior in 8. Neither estimate is wrong; they just measure different things.

Story points measure relative complexity within the team's shared experience. A 5-point story is roughly twice as complex as a 3-point story, regardless of who implements it. This abstraction makes velocity a stable and comparable metric across sprints.

The shift from hours to story points is the single most impactful change most teams can make to improve planning accuracy.

How velocity works

Velocity is the number of story points a team completes per sprint on average. It is calculated after each sprint by summing the points of all completed stories (not started, not partially done, only done-done).

After 3–5 sprints, velocity stabilizes. You can then use it to:

  • Forecast how many sprints a release will take.
  • Set a sustainable sprint commitment.
  • Detect capacity changes (new team member, vacation, on-call duty).

Velocity is a team metric, not an individual one. Never compare velocities across teams, scales differ and contexts differ.

Capacity planning in practice

Before committing to a sprint, calculate available capacity:

  • How many developers are available this sprint?
  • Are there holidays, on-call rotations, or planned meetings?
  • What is the team's historical velocity over the last 3 sprints?

A simple formula: planned velocity = average velocity × (available days / full sprint days). If the team averages 40 points over a 10-day sprint but two developers are out for 2 days each, reduce commitment proportionally rather than guessing.

The most common estimation mistakes

MistakeWhy it hurtsFix
Estimating in hoursAnchors to individual speed, not team complexitySwitch to relative story points
Anchoring on the first vote revealedKills independent estimationAlways reveal cards simultaneously
Forcing consensus on outliersSuppresses valid risk signalsAsk outliers to explain; revote after discussion
Skipping estimation for bugsInflates velocity, misleads planningEstimate bugs that take meaningful effort
Comparing team velocitiesDifferent scales, contexts, team sizesVelocity is an internal forecasting tool only

When to re-estimate

Re-estimate a story when its scope changes significantly mid-sprint, or when a new technical discovery makes the original estimate obviously wrong. Do not re-estimate simply because the work took longer than expected, that information lives in velocity, not in the point value.

Frequently asked questions

What is the difference between story points and hours?

Story points measure relative complexity, not time. A 5-point story is roughly twice as complex as a 3-point story, regardless of who implements it or how long it takes. Hours vary by developer and context; complexity is team-relative and stable.

What is velocity in agile?

Velocity is the number of story points a team completes per sprint on average. After 3–5 sprints, velocity stabilizes and becomes a reliable input for release planning and sprint commitment.

Should the team estimate bugs and technical debt?

Yes. If a bug takes significant effort, estimate it. If technical debt work is planned in a sprint, estimate and count it in velocity. Ignoring it produces inflated velocity that misleads planning.

What is the right team velocity?

There is no universally correct velocity. Velocity is an internal team metric used for forecasting, not a performance benchmark. Never compare velocities across teams.

How many sprints does it take for velocity to stabilize?

Typically 3 to 5 sprints. The first sprint is often lower as the team calibrates estimation. By sprint 4 or 5, the average becomes reliable enough for release date forecasting.