Agile Estimation Techniques | Story Points & Planning Poker
Estimate work accurately with planning poker, T-shirt sizing, and story points. Build shared understanding, improve sprint planning, and track velocity trends.
6 min read
Estimation is about understanding, not precision. Good estimation creates shared understanding and enables planning. Poor estimation either overpromises or pads excessively. This guide covers practical estimation techniques for agile teams.
Estimation Approaches
| Technique | Best For | Effort |
|---|---|---|
| Planning Poker | Sprint items | Medium |
| T-Shirt Sizing | Roadmap items | Low |
| Affinity Mapping | Many items | Low |
| Time-boxing | Research, spikes | N/A |
Story Points
Relative Estimation
STORY POINTS
ββββββββββββ
WHAT ARE STORY POINTS:
βββββββββββββββββββββββββββββββββββββ
Relative measure of:
βββ Complexity
βββ Effort
βββ Uncertainty
βββ Combined into single number
βββ Not hours
βββ Relative sizing
FIBONACCI SEQUENCE:
βββββββββββββββββββββββββββββββββββββ
1, 2, 3, 5, 8, 13, 21
Why Fibonacci:
βββ Larger = less precision
βββ Forces choice between options
βββ Acknowledges uncertainty
βββ Gap grows with size
βββ Reflects reality
REFERENCE STORIES:
βββββββββββββββββββββββββββββββββββββ
Establish baseline:
βββ 1 point: "Add field to form"
βββ 3 points: "New API endpoint"
βββ 5 points: "Feature with tests"
βββ 8 points: "Complex integration"
βββ 13 points: "Should split"
βββ Team calibration
βββ Compare new to reference
WHAT POINTS CAPTURE:
βββββββββββββββββββββββββββββββββββββ
βββ Technical complexity
βββ Amount of work
βββ Risk/uncertainty
βββ Knowledge gaps
βββ Dependencies
βββ Not just time
βββ Holistic view
Planning Poker
Team Estimation
PLANNING POKER
ββββββββββββββ
HOW IT WORKS:
βββββββββββββββββββββββββββββββββββββ
1. Read story aloud
2. Answer clarifying questions
3. Everyone selects card (hidden)
4. Reveal simultaneously
5. Discuss differences
6. Re-vote if needed
7. Consensus or average
EXAMPLE SESSION:
βββββββββββββββββββββββββββββββββββββ
Story: "User password reset"
Round 1 (reveal):
βββ Alice: 3
βββ Bob: 8
βββ Carol: 5
βββ Dave: 5
βββ Wide spread - discuss!
Discussion:
βββ Bob: "Need email service integration"
βββ Alice: "We have email helper already"
βββ Carol: "What about rate limiting?"
βββ Team: "Good point, add to story"
βββ New understanding
Round 2 (reveal):
βββ Alice: 5
βββ Bob: 5
βββ Carol: 5
βββ Dave: 5
βββ Consensus: 5 points
WHY IT WORKS:
βββββββββββββββββββββββββββββββββββββ
βββ Prevents anchoring (simultaneous)
βββ Surfaces different perspectives
βββ Discussion builds understanding
βββ Team owns estimate
βββ Wisdom of crowd
βββ Collaborative
TIPS:
βββββββββββββββββββββββββββββββββββββ
βββ Time-box discussions (2-3 min)
βββ Defer to implementer
βββ If wide spread, discuss more
βββ Large items (>13): split
βββ Uncertain: default higher
βββ Efficient meetings
T-Shirt Sizing
Quick Estimation
T-SHIRT SIZING
ββββββββββββββ
SIZE DEFINITIONS:
βββββββββββββββββββββββββββββββββββββ
XS: Trivial (< 1 day)
S: Small (1-2 days)
M: Medium (3-5 days)
L: Large (1-2 weeks)
XL: Epic (break down first)
WHEN TO USE:
βββββββββββββββββββββββββββββββββββββ
βββ Roadmap planning
βββ Early backlog grooming
βββ Quick estimates
βββ High-level planning
βββ Not sprint-ready
βββ Rough sizing
PROCESS:
βββββββββββββββββββββββββββββββββββββ
1. List items to estimate
2. Start with obvious ones
3. "Is this S, M, or L?"
4. Quick team consensus
5. Move to next
6. Refine later
CONVERT TO POINTS:
βββββββββββββββββββββββββββββββββββββ
When sprint-ready:
βββ XS β 1 point
βββ S β 2-3 points
βββ M β 5-8 points
βββ L β 13+ (split first)
βββ Rough conversion
βββ Detail later
Affinity Mapping
Batch Estimation
AFFINITY ESTIMATION
βββββββββββββββββββ
FOR MANY ITEMS:
βββββββββββββββββββββββββββββββββββββ
When you have many items to estimate:
1. Setup
βββ Columns: 1, 2, 3, 5, 8, 13
βββ Cards on table
βββ Team around table
2. Silent sorting
βββ Pick up any card
βββ Place in column
βββ No talking
βββ Can move others' placements
βββ 5-10 minutes
3. Discussion
βββ Review placements
βββ Discuss disagreements
βββ Adjust as needed
βββ 10 minutes
4. Finalize
βββ Record estimates
βββ Note large items to split
βββ Done
EXAMPLE:
βββββββββββββββββββββββββββββββββββββ
β 1 β 2 β 3 β 5 β 8 β 13 β
βββββΌββββΌββββΌβββββΌβββββΌββββββ€
β A β D β G β J β M β P β
β B β E β H β K β N β β
β C β F β I β L β O β β
30 items estimated in 20 minutes!
WHEN TO USE:
βββββββββββββββββββββββββββββββββββββ
βββ New project kickoff
βββ Many backlog items
βββ Quarterly planning
βββ Quick calibration
βββ Efficient for volume
Improving Estimates
Learning from Experience
IMPROVING ESTIMATION
ββββββββββββββββββββ
TRACK ACCURACY:
βββββββββββββββββββββββββββββββββββββ
Record for each story:
βββ Estimated points
βββ Actual effort
βββ Surprises encountered
βββ What was missed
βββ Data for learning
RETROSPECTIVE REVIEW:
βββββββββββββββββββββββββββββββββββββ
Discuss:
βββ Which estimates were way off?
βββ What did we miss?
βββ Any patterns?
βββ How to estimate better?
βββ Continuous improvement
COMMON ESTIMATION ERRORS:
βββββββββββββββββββββββββββββββββββββ
Underestimating:
βββ Hidden complexity
βββ Integration work
βββ Testing effort
βββ Review/feedback cycles
βββ Dependencies
βββ Add buffer
Overestimating:
βββ Unfamiliar technology (less scary after)
βββ Similar past work
βββ Existing solutions
βββ Adjust calibration
GUIDELINES:
βββββββββββββββββββββββββββββββββββββ
βββ Break down large items
βββ Include testing in estimate
βββ Account for reviews
βββ Don't estimate > 13 points
βββ When uncertain, go higher
βββ It's okay to be wrong
βββ Learn and improve
GitScrum Estimation
Tool Support
GITSCRUM FOR ESTIMATION
βββββββββββββββββββββββ
EFFORT POINTS:
βββββββββββββββββββββββββββββββββββββ
βββ Estimate on tasks
βββ Sprint planning view
βββ Capacity tracking
βββ Velocity calculation
βββ Built-in support
PLANNING SESSION:
βββββββββββββββββββββββββββββββββββββ
βββ Backlog refinement view
βββ Add estimates
βββ Team discussion
βββ Record decisions
βββ Efficient sessions
VELOCITY TRACKING:
βββββββββββββββββββββββββββββββββββββ
βββ Points completed per sprint
βββ Average velocity
βββ Trend over time
βββ Planning data
βββ Predictability
ESTIMATION HISTORY:
βββββββββββββββββββββββββββββββββββββ
βββ See past estimates
βββ Compare to actual
βββ Reference stories
βββ Learn from history
βββ Improve over time
Best Practices
For Estimation
Anti-Patterns
ESTIMATION MISTAKES:
β Manager dictates estimates
β Precise hour estimates
β No reference stories
β Skip discussion
β Estimate solo
β Never review accuracy
β Punish wrong estimates
β Estimate huge items