What This Template Is For
A Definition of Ready (DoR) is the team's checklist for deciding whether a user story is clear enough to pull into a sprint. Stories that enter a sprint without clear acceptance criteria, designs, or dependency resolution cause mid-sprint chaos: engineers ask clarifying questions, scope creeps, and the story carries over to the next sprint.
This template defines the minimum bar a story must meet before the team commits to it during sprint planning. It pairs directly with the Definition of Done template, which covers the exit criteria. Together they bookend the story lifecycle. For teams building their agile practices, the guide to running sprint planning explains how to use both definitions in practice.
When to Use This Template
- When stories frequently carry over: Unfinished stories often trace back to unclear requirements at sprint start.
- During backlog refinement: Use the DoR as a checklist to decide whether a story is ready.
- New team kickoff: Set expectations for story quality from day one.
- When engineers complain about unclear stories: A DoR shifts the burden of clarity from sprint planning to refinement.
Step-by-Step Instructions
Step 1: Define Your Ready Criteria (15 minutes)
Start with the template below. Remove items that do not apply and add any team-specific requirements (e.g., legal review, data privacy assessment).
- ☐ Review each category (clarity, design, technical, dependencies)
- ☐ Remove items that do not fit your team's workflow
- ☐ Add team-specific criteria
- ☐ Get agreement from both product and engineering
Step 2: Integrate into Backlog Refinement (Ongoing)
Use the DoR during your weekly refinement session to evaluate each candidate story.
- ☐ Product manager presents each story
- ☐ Team evaluates against the DoR checklist
- ☐ Stories that pass move to "Ready" status
- ☐ Stories that fail get tagged with what is missing
Step 3: Enforce During Sprint Planning
During sprint planning, only pull stories from the "Ready" column. If a high-priority story is not ready, refine it live or defer it.
- ☐ Only pull "Ready" stories into the sprint
- ☐ Track how many stories fail the DoR check each sprint
- ☐ Adjust the DoR if it is too strict or too loose
The Definition of Ready Template
Story Clarity
- ☐ User story follows the format: "As a [user], I want [action] so that [outcome]"
- ☐ Acceptance criteria are written and specific (not vague "works correctly")
- ☐ Business value or user outcome is stated
- ☐ Story is small enough to complete in one sprint
- ☐ Edge cases and error states are described
Design and UX
- ☐ Mockups or wireframes attached (for UI stories)
- ☐ Design reviewed and approved by designer
- ☐ Interaction states defined (loading, empty, error, success)
- ☐ Mobile responsiveness requirements specified (if applicable)
Technical Clarity
- ☐ Technical approach discussed with engineering
- ☐ API contracts or data models defined (if applicable)
- ☐ Performance requirements specified (if applicable)
- ☐ No open technical questions blocking implementation
Dependencies
- ☐ External dependencies identified and resolved (or plan documented)
- ☐ Other team dependencies communicated and scheduled
- ☐ Third-party integrations tested in sandbox (if applicable)
- ☐ Data migration plan documented (if applicable)
Estimation
- ☐ Story is estimated in story points or t-shirt sizes
- ☐ Estimate reflects the full DoD (code, tests, docs, deployment)
- ☐ Team consensus on the estimate (not just one person's guess)
Example
Here is a filled-in DoR evaluation for a story entering Sprint 18.
Story: As a billing admin, I want to download invoices as PDF so that I can share them with our finance team.
Story Clarity
- ☑ User story follows standard format
- ☑ Acceptance criteria: PDF includes company name, line items, totals, tax, and payment status. Download triggers from the invoice detail page. PDF matches the branding guidelines.
- ☑ Business value: Reduces 15 support tickets/week from admins asking for invoices
- ☑ Estimated at 5 story points (fits in one sprint)
- ☑ Edge cases: invoice with 50+ line items (pagination), unpaid invoice (show "Unpaid" watermark), multi-currency (show original + converted amount)
Design and UX
- ☑ Figma mockup linked: shows download button placement and PDF layout
- ☑ Design approved by lead designer on Feb 28
- ☑ States defined: button loading spinner, success toast, error toast if generation fails
- ☑ Not a mobile flow (admin-only desktop feature)
Technical Clarity
- ☑ Using Puppeteer for HTML-to-PDF generation (decision logged in ADR-042)
- ☑ API endpoint:
GET /api/invoices/:id/pdf - ☑ Performance: PDF generation must complete within 5 seconds for invoices up to 100 line items
- ☑ No open questions
Dependencies
- ☑ No external dependencies
- ☑ Branding assets (logo, fonts) already in the asset pipeline
- ☑ No data migration needed
Estimation
- ☑ Estimated: 5 story points
- ☑ Includes unit tests, integration test, API docs, and staging deploy
- ☑ Consensus from team (planning poker: 5, 5, 5, 3; discussed and agreed on 5)
Verdict: Ready for Sprint 18.
Tips
- The DoR is a quality gate, not a bureaucratic hurdle. Keep it to 10-15 items. If every story needs 30 checkboxes, your refinement process is broken.
- Refine stories one sprint ahead. The best time to apply the DoR is during mid-sprint refinement, not during planning. Stories that fail the DoR during planning delay the meeting and frustrate engineers.
- Track "not ready" rates. If more than 20% of stories fail the DoR during planning, the PM needs more refinement time or better stakeholder input. Use velocity tracking to measure the impact of unready stories on sprint completion.
- Pair with the Definition of Done. The DoR covers entry criteria. The Definition of Done covers exit criteria. Together, they define the full quality lifecycle of a story.
- Adapt for story types. Bug fixes need less design review. Spikes need less acceptance criteria. Create lightweight variants of the DoR for non-standard story types.
