Task Estimation Techniques | Accurate Planning
Estimate accurately with story points, planning poker, and T-shirt sizing. GitScrum tracks velocity, estimate variance, and calibrates team accuracy over time.
7 min read
Estimation is hard because software is inherently uncertain. But better estimation is possible through proven techniques, team collaboration, and learning from past estimates. The goal isn't perfect estimatesβit's estimates good enough to plan effectively and predictability that improves over time.
Estimation Approaches
| Technique | Best For | Precision |
|---|---|---|
| Story Points | Sprint planning | Medium |
| T-Shirt Sizes | Rough roadmapping | Low |
| Planning Poker | Team consensus | Medium |
| Time (Hours) | Short, well-known tasks | High (if small) |
Story Points
Relative Estimation
STORY POINTS EXPLAINED
ββββββββββββββββββββββ
WHAT THEY MEASURE:
βββββββββββββββββββββββββββββββββββββ
βββ Complexity (how hard?)
βββ Effort (how much work?)
βββ Uncertainty (how much unknown?)
βββ NOT time (how many hours)
RELATIVE, NOT ABSOLUTE:
βββββββββββββββββββββββββββββββββββββ
"This is twice as complex as that"
Not: "This takes 8 hours"
Comparing to known work:
βββ Story A = 1 point (our baseline)
βββ Story B feels twice as complex = 2 points
βββ Story C feels 3x Story A = 3 points
βββ Comparison is more accurate than guessing time
FIBONACCI SCALE:
βββββββββββββββββββββββββββββββββββββ
1, 2, 3, 5, 8, 13, 21...
Why gaps grow:
βββ Larger items have more uncertainty
βββ Precision decreases with size
βββ 13 vs 14 is false precision
βββ 8 vs 13 is meaningful difference
βββ Forces "about this size" thinking
TYPICAL MEANINGS:
βββββββββββββββββββββββββββββββββββββ
1 point: Trivial, well understood
2 points: Small, straightforward
3 points: Medium, some complexity
5 points: Large, multiple parts
8 points: Very large, significant work
13 points: Should probably split
21+ points: Definitely split
Using Story Points
STORY POINT ESTIMATION
ββββββββββββββββββββββ
STEP 1: ESTABLISH REFERENCE STORIES
βββββββββββββββββββββββββββββββββββββ
Find completed stories team agrees on:
βββ 1-point reference: "Add logging to endpoint"
βββ 3-point reference: "User profile page"
βββ 5-point reference: "Payment integration"
βββ Use these as comparison points
STEP 2: COMPARE NEW STORIES
βββββββββββββββββββββββββββββββββββββ
"How does this compare to our 3-point reference?"
βββ About the same? 3 points.
βββ Bit more complex? 5 points.
βββ Less complex? 2 points.
βββ Comparison is key
STEP 3: WHOLE TEAM ESTIMATES
βββββββββββββββββββββββββββββββββββββ
Everyone estimates together.
Different perspectives reveal:
βββ "Wait, this is more complex than you think"
βββ "I've done this before, it's simpler"
βββ "What about [edge case]?"
βββ Discussion improves accuracy
STEP 4: TRACK AND LEARN
βββββββββββββββββββββββββββββββββββββ
After sprint:
βββ Did 5-point stories take ~5x as long as 1-point?
βββ Which estimates were way off?
βββ Why were they wrong?
βββ Adjust future estimates based on learning
βββ Calibration improves over time
Planning Poker
Team Estimation
PLANNING POKER PROCESS
ββββββββββββββββββββββ
SETUP:
βββββββββββββββββββββββββββββββββββββ
βββ Each team member has cards: 1, 2, 3, 5, 8, 13, ?
βββ Product Owner has stories to estimate
βββ Facilitator (Scrum Master) runs process
βββ Whole team participates
PROCESS:
βββββββββββββββββββββββββββββββββββββ
1. PO READS STORY
"As a user, I want to save my cart..."
Answers clarifying questions.
(2 minutes)
2. TEAM CONSIDERS
Everyone thinks about complexity.
No discussion yet.
(30 seconds)
3. SIMULTANEOUS REVEAL
"3, 2, 1, show cards!"
Everyone reveals at once.
Prevents anchoring.
4. IF CONSENSUS:
All cards same or adjacent (5, 5, 5, 3)
β Take the majority, move on.
5. IF DIVERGENCE:
Cards spread (2, 5, 13)
β Discuss differences.
High: "I think this needs [complex thing]"
Low: "We have code for this, it's simpler"
β Re-estimate after discussion.
6. RECORD AND MOVE ON
Story gets the estimate.
Move to next story.
Timebox total session.
BENEFITS:
βββββββββββββββββββββββββββββββββββββ
βββ Whole team input
βββ Surface assumptions
βββ Prevent dominance
βββ Build shared understanding
βββ More accurate than solo estimates
βββ Team ownership of estimates
T-Shirt Sizing
Rough Estimation
T-SHIRT SIZING
ββββββββββββββ
WHEN TO USE:
βββββββββββββββββββββββββββββββββββββ
βββ Roadmap planning (rough)
βββ Initial backlog sizing
βββ Quick triage
βββ When precision isn't needed
βββ Faster than story points
THE SIZES:
βββββββββββββββββββββββββββββββββββββ
XS: Trivial, < 1 day
S: Small, 1-2 days
M: Medium, 2-5 days
L: Large, 1-2 weeks
XL: Epic, > 2 weeks (split it)
USAGE:
βββββββββββββββββββββββββββββββββββββ
In roadmap planning:
"Q3 features:
βββ User authentication: M
βββ Payment integration: L
βββ Dashboard: L
βββ Reporting: XL β split
βββ Rough capacity: Can we fit this?"
CONVERT TO POINTS LATER:
βββββββββββββββββββββββββββββββββββββ
When sprint planning:
βββ Take L item
βββ Break down into stories
βββ Estimate each in points
βββ More precision when needed
βββ T-shirts for planning, points for sprints
Improving Estimates
Learning from Variance
ESTIMATION IMPROVEMENT
ββββββββββββββββββββββ
TRACK ACTUAL VS ESTIMATED:
βββββββββββββββββββββββββββββββββββββ
After each sprint, compare:
Story Estimated Actual Variance
βββββββββββββββββββββββββββββββββββββββββββ
Login flow 5 pts 8 pts +60%
Profile page 3 pts 3 pts 0%
Search 8 pts 5 pts -38%
Payment 13 pts 13 pts 0%
βββββββββββββββββββββββββββββββββββββββββββ
ANALYZE WHY:
βββββββββββββββββββββββββββββββββββββ
Login (+60%):
"OAuth complexity was higher than expected.
We didn't account for error handling."
β Next time: Factor in auth complexity more
Search (-38%):
"Library did most of the work.
We overestimated custom work."
β Next time: Check if libraries exist first
RETROSPECTIVE DISCUSSION:
βββββββββββββββββββββββββββββββββββββ
"Which estimates were off? Why?"
βββ Uncover patterns
βββ Adjust calibration
βββ Update reference stories
βββ Improve process
βββ Get better over time
COMMON REASONS FOR VARIANCE:
βββββββββββββββββββββββββββββββββββββ
Underestimate:
βββ Forgot testing time
βββ Edge cases discovered
βββ Integration harder than expected
βββ Technical debt slowed work
βββ Dependencies blocked
Overestimate:
βββ Had reusable code
βββ Simpler than expected
βββ Found better solution
βββ Less testing needed
βββ Learn from both!
Breaking Down Large Items
SPLITTING FOR ACCURACY
ββββββββββββββββββββββ
LARGE ITEMS ARE INACCURATE:
βββββββββββββββββββββββββββββββββββββ
βββ More unknown unknowns
βββ Harder to compare
βββ Compound uncertainty
βββ Estimates often wrong
βββ Split into smaller pieces
SPLITTING TECHNIQUE:
βββββββββββββββββββββββββββββββββββββ
Story: "User can make payment" (13 pts)
Split into:
βββ Show payment form (2 pts)
βββ Validate card input (2 pts)
βββ Process with Stripe (5 pts)
βββ Confirmation screen (2 pts)
βββ Error handling (3 pts)
βββ Total: 14 pts (but more accurate)
Each piece:
βββ More comparable to references
βββ Less uncertainty
βββ Better estimate
βββ Reveals hidden complexity
RULE:
βββββββββββββββββββββββββββββββββββββ
Anything > 8 points: Question it
Anything > 13 points: Split it
Prefer 1-5 point stories
GitScrum Estimation
Estimation Features
GITSCRUM ESTIMATION TOOLS
βββββββββββββββββββββββββ
STORY POINTS:
βββββββββββββββββββββββββββββββββββββ
Task β Estimate field
βββ Enter points
βββ Visible on board
βββ Sums for sprint capacity
βββ Velocity tracking
βββ Historical data
PLANNING POKER:
βββββββββββββββββββββββββββββββββββββ
Sprint Planning β Estimation Mode
βββ Team members estimate simultaneously
βββ Reveal together
βββ Discuss differences
βββ Lock in estimate
βββ Built-in workflow
VELOCITY:
βββββββββββββββββββββββββββββββββββββ
Reports β Velocity
βββ Points per sprint
βββ Running average
βββ Trend over time
βββ Use for capacity planning
βββ Compare committed vs completed
ESTIMATION REPORT:
βββββββββββββββββββββββββββββββββββββ
βββ Stories by estimate
βββ Completion by estimate
βββ Accuracy trends
βββ Identify patterns
βββ Improve over time
Best Practices
For Estimation
Anti-Patterns
ESTIMATION MISTAKES:
β One person estimates
β Hours for everything
β Never reviewing accuracy
β Estimating in isolation
β Giant stories (13+ pts)
β False precision (6.5 points)
β Punishing wrong estimates
β Using estimates as commitments