The Lifecycle of a User Story
A User Story is not born ready. It evolves from a vague idea to software in production. Understanding this cycle helps you estimate better at each phase.
The 8 Phases
1. Idea
Where: User conversation, feedback, business metrics Who: PO, stakeholders, team State: Not in the backlog yet Estimate: None — not even a story yet
2. Backlog Draft
Where: Product Backlog What: PO writes the story in “As a… I want… so that…” format State: New, no details Estimate: None — too vague
3. Refined
Where: Prioritized backlog What: PO adds acceptance criteria, mockups, context State: “Ready” (Definition of Ready met) Estimate: Planning Poker — defined Fibonacci value
4. Planned
Where: Sprint Backlog What: Team commits to delivering in the sprint State: Committed Estimate: Locked (changes require re-discussion)
5. In Development
Where: Board “In Progress” What: Code being written, tests being created State: Active Estimate: If new complexity arises, re-estimate and communicate
6. In Review
Where: Board “Code Review” / “Testing” What: PR open, tests passing, QA verifying State: Almost done Estimate: Validated (actual complexity confirmed)
7. Done
Where: Board “Done” What: Definition of Done met State: Delivered Estimate: Counted toward sprint velocity
8. In Production
Where: Live What: Feature available to users State: Validated or not by real usage Estimate: Calibrated (estimated vs actual recorded)
Visualizing the Cycle
Idea → Draft → Refined → Planned → In Dev → In Review → Done → Production
(PO) (PO+Team) (Team) (Team) (Team) (DoD) (User)
?? ?? Planning Locked Re-eval Validated Calibrated
Metrics per Phase
| Transition | Metric |
|---|---|
| Draft → Refined | Refinement time |
| Refined → Planned | % refined in backlog |
| Planned → Done | Sprint delivery rate |
| Done → Production | Lead time |
| Idea → Production | Total cycle time |
Common Bottlenecks
Stuck in Draft
Stories without acceptance criteria. Solution: PO needs to dedicate more time to writing stories.
Stuck in Refined
Backlog full of “ready” items that are never planned. Solution: PO prioritizes better or discards old items.
Stuck in Code Review
PRs waiting for review for days. Solution: 4-hour SLA for review.
Stuck in Done
Features complete but not deployed. Solution: Continuous deployment or same-day deployment.
Conclusion
Understanding the lifecycle of stories allows you to identify bottlenecks, improve estimates (knowing what phase each item is in), and ensure that value reaches the user. A story that is “Done” but not in production is only half-complete.