Key Takeaways
- User stories follow the format: 'As a [user], I want [feature] so that [benefit]' to capture requirements from the user's perspective
- Story points measure relative complexity, effort, and uncertainty -- not hours or days
- The Fibonacci sequence (1, 2, 3, 5, 8, 13, 21) is commonly used for story point estimation
- Velocity is the number of story points a team completes per iteration, used for capacity planning
- Planning Poker uses consensus-based estimation where all team members vote simultaneously
Agile Planning & Estimation
Agile estimation differs fundamentally from traditional approaches. Instead of predicting exact hours or costs, Agile teams estimate relative size and use empirical data to forecast delivery.
User Stories
User stories are short descriptions of functionality from the user's perspective. They capture who wants what and why.
User Story Format
As a [type of user],
I want [some feature],
So that [some benefit].
Example User Stories
| Story | Analysis |
|---|---|
| "As a customer, I want to save items to my cart so that I can purchase them later." | Clear user, action, and benefit |
| "As an admin, I want to view usage reports so that I can track system performance." | Specifies different user role |
| "As a mobile user, I want push notifications so that I stay informed on the go." | Context-specific need |
INVEST Criteria
Good user stories are:
| Criterion | Description |
|---|---|
| Independent | Can be developed in any order |
| Negotiable | Details can be discussed |
| Valuable | Delivers value to the user |
| Estimable | Team can estimate its size |
| Small | Fits within an iteration |
| Testable | Has clear acceptance criteria |
Story Points
Story points are a unit of measure for estimating the relative size of user stories. They combine:
- Complexity: How complicated is the work?
- Effort: How much work is involved?
- Uncertainty: How much is unknown?
Key Characteristics
| Aspect | Story Points |
|---|---|
| Unit | Relative, not absolute |
| Comparison | Sized relative to reference stories |
| Team-specific | Different teams have different scales |
| Not time | A "5" doesn't mean 5 hours |
Why Not Hours?
| Hours-Based Estimation | Story Point Estimation |
|---|---|
| Creates false precision | Acknowledges uncertainty |
| Varies by person | Team consensus |
| Easy to game | Focuses on relative size |
| Stressful deadlines | Empirical forecasting |
The Fibonacci Sequence
Most teams use the Fibonacci sequence for story point values:
1, 2, 3, 5, 8, 13, 21, (34, 55, ...)
Why Fibonacci?
| Reason | Explanation |
|---|---|
| Natural progression | Gaps increase with size |
| Acknowledges uncertainty | Larger stories have more unknowns |
| Forces decisions | Can't pick "between" numbers |
| Prevents false precision | No difference between 14 and 15 |
Typical Scale Meanings
| Points | Typical Interpretation |
|---|---|
| 1 | Trivial change, very low risk |
| 2 | Simple, well-understood |
| 3 | Straightforward but some effort |
| 5 | Moderate complexity |
| 8 | Complex, some uncertainty |
| 13 | Very complex, high uncertainty |
| 21+ | Should probably be split |
Planning Poker
Planning Poker is a consensus-based estimation technique where the whole team participates.
How Planning Poker Works
- Present the story: Product Owner describes the user story
- Discuss: Team asks clarifying questions
- Vote secretly: Each person selects a card with their estimate
- Reveal simultaneously: All cards shown at once
- Discuss differences: High and low voters explain their thinking
- Revote if needed: Repeat until consensus emerges
- Record: Final estimate is assigned
Benefits of Planning Poker
| Benefit | Why It Matters |
|---|---|
| Diverse perspectives | Everyone's view counts |
| Prevents anchoring | Simultaneous reveal avoids bias |
| Surfaces assumptions | Discussion reveals hidden complexity |
| Team ownership | Collective estimates create commitment |
| Knowledge sharing | Less experienced team members learn |
Velocity
Velocity is the number of story points a team completes per iteration.
Calculating Velocity
Sprint 1: 23 points completed
Sprint 2: 27 points completed
Sprint 3: 25 points completed
Sprint 4: 24 points completed
Average Velocity = (23 + 27 + 25 + 24) / 4 = 25 points/sprint
Using Velocity
| Application | How |
|---|---|
| Sprint capacity | Plan to take ~25 points next sprint |
| Release forecasting | 100 points remaining / 25 per sprint = ~4 sprints |
| Trend analysis | Is velocity increasing, stable, or declining? |
Velocity Warnings
- Don't compare team velocities: Story points are team-specific
- Don't pressure for higher velocity: Gaming estimates helps no one
- Watch for volatility: Large swings indicate estimation problems
- Use ranges: Forecast with a range (e.g., 23-27 points)
Release Planning
Release planning determines what can be delivered and when.
Release Planning Steps
- Prioritize the backlog: Rank by value, risk, dependencies
- Size the stories: Estimate in story points
- Determine velocity: Use historical average or estimate
- Calculate duration: Total points / velocity = iterations
- Set milestones: Identify key dates and deliverables
Example Release Plan
| Iteration | Stories | Points | Running Total |
|---|---|---|---|
| Sprint 1 | A, B, C | 24 | 24 |
| Sprint 2 | D, E, F | 25 | 49 |
| Sprint 3 | G, H | 26 | 75 |
| Sprint 4 | I, J, K | 25 | 100 |
Release of 100 points in 4 sprints = 8 weeks (2-week sprints)
Iteration Planning
Iteration (Sprint) planning determines what will be done in the upcoming iteration.
Iteration Planning Process
| Step | Activity |
|---|---|
| Set capacity | Account for PTO, meetings, holidays |
| Review priorities | Product Owner presents top items |
| Select stories | Team pulls stories up to capacity |
| Create tasks | Break stories into development tasks |
| Confirm commitment | Team agrees on the Sprint Goal |
Capacity Considerations
| Factor | Impact |
|---|---|
| Team availability | Vacations, holidays reduce capacity |
| Support duties | Bug fixes, maintenance take time |
| Technical debt | May reserve capacity for improvements |
| Team stability | New members reduce initial velocity |
Other Estimation Techniques
| Technique | Description | Use Case |
|---|---|---|
| T-Shirt Sizing | S, M, L, XL categories | High-level backlog grooming |
| Affinity Estimating | Group similar-sized items | Large backlogs |
| Ideal Days | Days of focused work | Teams uncomfortable with points |
| Wideband Delphi | Anonymous estimates with discussion | Expert groups |
PMP Exam Tips
According to the PMI-ACP exam content outline, Agile Estimation includes:
- Relative sizing and story points
- Planning Poker
- Affinity estimating
- Wideband Delphi
- Ideal time
Key concepts:
- Story points measure relative size, not time
- Velocity is used for forecasting, not performance evaluation
- Planning Poker ensures team consensus
- The Fibonacci sequence reflects increasing uncertainty
Key Takeaways
- User stories capture requirements from the user's perspective
- Story points measure relative size, complexity, and uncertainty
- The Fibonacci sequence (1, 2, 3, 5, 8, 13, 21) prevents false precision
- Planning Poker uses simultaneous voting to prevent anchoring bias
- Velocity is the empirical basis for forecasting delivery
- Never compare velocity between teams or pressure teams to increase it
What do story points measure?
Why do Agile teams commonly use the Fibonacci sequence for story point estimation?
In Planning Poker, why do team members reveal their estimates simultaneously?