7.4 Agile Planning, Estimation, and Metrics
Key Takeaways
- User stories follow the format "As a [user role], I want [goal] so that [benefit]" and include acceptance criteria for validation
- Story points measure the relative effort, complexity, and uncertainty of a user story rather than absolute time
- Velocity is the average number of story points a team completes per sprint and is used for forecasting future capacity
- Common estimation techniques include Planning Poker, T-shirt sizing, affinity estimation, and the Fibonacci sequence
- Burndown charts track remaining work against time while burnup charts track completed work toward a target
Agile Planning, Estimation, and Metrics
Agile planning differs fundamentally from predictive planning. Instead of creating a comprehensive upfront plan, agile teams plan iteratively, estimate relatively, and adjust based on actual performance data.
User Stories
A user story is a lightweight description of a requirement from the perspective of the end user:
User Story Format
"As a [user role], I want [goal/desire] so that [benefit/value]"
Example User Stories
- "As a customer, I want to search for products by category so that I can quickly find what I need"
- "As an administrator, I want to export user data to CSV so that I can create reports for management"
- "As a project manager, I want to view a project dashboard so that I can monitor progress at a glance"
INVEST Criteria for Good User Stories
| Letter | Criterion | Meaning |
|---|---|---|
| I | Independent | Can be developed and delivered independently |
| N | Negotiable | Details can be negotiated between team and Product Owner |
| V | Valuable | Delivers value to the customer or user |
| E | Estimable | Team can estimate the effort required |
| S | Small | Small enough to complete in one iteration |
| T | Testable | Has clear acceptance criteria that can be verified |
Epics and User Stories
| Concept | Size | Description |
|---|---|---|
| Theme | Largest | A high-level grouping of related features |
| Epic | Large | A large user story that must be broken down to fit in a Sprint |
| User Story | Medium | A requirement that can be completed in one Sprint |
| Task | Smallest | A specific action needed to complete a user story |
Agile Estimation Techniques
Story Points
Story points measure the relative effort, complexity, and uncertainty of a user story. They are NOT time-based.
Key concepts:
- A 5-point story is not necessarily five times the effort of a 1-point story
- Teams calibrate by selecting a reference story as a baseline
- Story points are unique to each team — they cannot be compared between teams
- Common scales: Fibonacci (1, 2, 3, 5, 8, 13, 21) or Modified Fibonacci (1, 2, 3, 5, 8, 13, 20, 40, 100)
Planning Poker
- Each estimator gets a deck of cards with values (Fibonacci sequence)
- The Product Owner presents a user story
- Discussion and clarification occurs
- Each estimator simultaneously reveals their card
- High and low estimators explain their reasoning
- Repeat until consensus is reached
Other Estimation Techniques
| Technique | Description | Best For |
|---|---|---|
| T-Shirt Sizing | Categorize as XS, S, M, L, XL | Quick, high-level estimates for large backlogs |
| Affinity Estimation | Group stories by relative size | Large numbers of stories |
| Dot Voting | Team members place dots to indicate priority/size | Quick prioritization |
| Wideband Delphi | Expert estimation with discussion rounds | Complex items needing expert judgment |
Velocity
Velocity is the average number of story points a team completes per Sprint.
How to Use Velocity
- Track completed story points each Sprint
- Average over 3-5 Sprints for a reliable velocity
- Use velocity to forecast how many sprints to complete the backlog
- Never use velocity to compare teams or pressure teams to go faster
Velocity Calculation Example
| Sprint | Story Points Completed |
|---|---|
| Sprint 1 | 20 |
| Sprint 2 | 24 |
| Sprint 3 | 18 |
| Sprint 4 | 22 |
| Average Velocity | 21 points/Sprint |
If the remaining backlog is 126 story points: 126 / 21 = 6 Sprints remaining
Agile Metrics and Charts
Burndown Chart
- Y-axis: Remaining work (story points or tasks)
- X-axis: Time (days or sprints)
- Ideal line: Shows the expected rate of work completion
- Actual line: Shows the real progress
- If actual is above ideal → behind schedule
- If actual is below ideal → ahead of schedule
Burnup Chart
- Y-axis: Completed work
- X-axis: Time
- Shows total scope line AND completed work line
- Advantage over burndown: Makes scope changes visible
Cumulative Flow Diagram (CFD)
- Shows the number of items in each workflow stage over time
- Reveals bottlenecks, work-in-progress trends, and throughput
- The distance between bands shows WIP at each stage
- A widening band indicates a bottleneck
Backlog Refinement (Grooming)
Backlog refinement is the ongoing process of reviewing, adding detail, estimating, and prioritizing Product Backlog items:
- Not a formal Scrum event but an essential ongoing activity
- Typically consumes no more than 10% of the team's capacity
- Ensures upcoming Sprint Backlog items are "ready" for Sprint Planning
- Involves the entire Scrum Team
Definition of Ready (DoR)
A team-agreed checklist indicating when a Product Backlog item is ready to be pulled into a Sprint:
- User story is well-written and meets INVEST criteria
- Acceptance criteria are defined
- Story has been estimated
- Dependencies are identified
- Design considerations are addressed
A team has completed 22, 18, 26, and 22 story points over the last four Sprints. What is their velocity?
The INVEST criteria for good user stories stands for:
Story points measure:
In an agile burndown chart, if the actual line is ABOVE the ideal line, this means: