Estimate relatively, predict with velocity, and know when estimates go wrong.
Humans are bad at estimating absolute time. "This will take 3 days" is almost always wrong. We underestimate complexity and overestimate our productivity.
But humans are good at relative comparison. "This story is about twice as big as that one" is something we can do reliably.
XP uses relative estimation. Instead of estimating hours, we estimate size. A story might be a "2" or a "5" or a "13." These numbers don't mean hours or days—they mean relative size compared to other stories.
Why relative works:
We're bad at guessing how long things take. We're good at saying 'this is harder than that.' XP plays to our strengths.
Story points are the most common unit for relative estimation.
Points represent effort, complexity, and uncertainty combined—not time. A 5-point story is roughly twice the effort of a 2-point story (ish), but not necessarily twice the hours.
Common point scales:
Tips for pointing stories:
Planning poker is a technique for reaching team consensus on estimates.
How it works:
Why simultaneous reveal? To prevent anchoring. If the senior developer says "5" first, everyone else adjusts toward 5. Revealing simultaneously captures independent opinions.
Why discuss outliers? The person who said "13" might know something others don't ("this requires database migration"). The person who said "2" might have a simpler approach. Both views improve the estimate.
Planning poker is as much about building shared understanding as getting a number. The discussion surfaces assumptions, risks, and design decisions.
If the team can't converge after two rounds of voting, the story probably needs to be split or spiked first.
Velocity is how many points the team completes per iteration. It's the key to turning relative estimates into predictions.
If the team completed 30 points last iteration, they'll probably complete about 30 points next iteration. This is called yesterday's weather—the best predictor of tomorrow's weather is today's weather.
Using velocity:
What affects velocity:
Don't game velocity. It's not a productivity metric—it's a planning tool. Inflating points or cutting corners to "increase velocity" defeats the purpose.
The team averages 25 points/sprint. A new feature is estimated at 75 points. The PM expects about 3 sprints and plans accordingly.
Management sets a target to 'increase velocity by 20%.' The team responds by estimating everything higher. Velocity numbers go up. Actual output doesn't change.
Estimates are guesses. They will be wrong. XP acknowledges this and builds in adaptability.
Common estimation failures:
What to do when off-track:
Don't hide it. Don't work overtime to hit a bad estimate. The whole point of estimation is to plan—if the plan is wrong, change it.
Over time, estimates improve. As the team gains experience with the codebase and each other, uncertainty decreases. But they'll never be perfect—that's why XP emphasizes adaptation over prediction.
Estimates Are Not Commitments
An estimate is your best guess with current information. It's not a promise. Treating estimates as commitments creates pressure to hide problems.