PushBackLog

Definition of Ready (DoR)

Hard enforcement Complete by PushBackLog team
Topic: delivery Topic: quality Methodology: Agile Methodology: Scrum Skillset: any Technology: generic Stage: definition Stage: refinement

Definition of Ready (DoR)

Status: Complete
Category: Delivery
Default enforcement: Hard
Author: PushBackLog team


Tags

  • Topic: delivery, quality
  • Methodology: Agile, Scrum
  • Skillset: any
  • Technology: generic
  • Stage: definition, refinement

Summary

The Definition of Ready (DoR) is a shared, explicit agreement on the minimum quality a work item must reach before it can be pulled into active development. Where the Definition of Done defines the exit criteria for completed work, the DoR defines the entry criteria for work about to start. It stops half-formed tickets from entering a sprint, protects the team’s delivery flow, and ensures that anyone picking up a ticket — human or AI — has everything they need to begin without interruption.


Rationale

The cost of starting too early

Pulling a poorly defined ticket into a sprint is one of the most quietly destructive things a team can do. The story looks like capacity is being used — it’s in the sprint, someone is working on it. But within hours or days, work stalls: the developer has a question the ticket doesn’t answer, the acceptance criteria are ambiguous, a dependency wasn’t identified, or the scope turned out to be three times larger than expected.

The resulting back-and-forth — back to the product owner, then back to the developer — is expensive context-switching at the worst possible moment, mid-sprint. A ticket that fails the DoR should be refined before it’s started, not during.

The INVEST connection

The DoR is closely related to the INVEST criteria (coined by Bill Wake, 2003), which describe the properties of a well-formed user story:

LetterPropertyWhat it means
IIndependentCan be developed without depending on another in-progress story
NNegotiableThe approach is open; the outcome is agreed
VValuableDelivers value to a user or the business — not purely technical
EEstimableThe team can size it with reasonable confidence
SSmallFits within a single sprint
TTestableAcceptance criteria can be verified — there is a clear definition of success

A story that fails any INVEST criterion should not be considered ready. The DoR makes this operational by turning INVEST from a checklist-to-remember into a gate-to-pass.

The AI multiplier

As AI pair programmers and autonomous agents take on more implementation work, the DoR becomes a structural prerequisite for effective delegation. An AI worker given a well-formed ticket with clear context, stated constraints, mockup references, and unambiguous acceptance criteria can produce high-quality output with minimal guidance. Given an under-specified ticket, it will make assumptions — confident, plausible, and wrong in ways that are expensive to undo. The DoR is how teams make their backlog AI-delegation-ready. This is core to PushBackLog’s value proposition.

Protecting flow

A team’s sprint capacity is a fixed resource. Every story that enters without meeting the DoR is a liability disguised as inventory. Sprint planning becomes a negotiation over ill-defined work instead of a confident commitment to well-understood stories. The DoR signals to the team: we have done the thinking before the building starts.


Guidance

What a DoR should require

Every team will define their own DoR, but the following are the most common and most impactful criteria:

CriterionDescription
TitleClear, verb-led description of the value delivered
User storyFramed as “As a [persona], I want [capability], so that [outcome]” or equivalent
Acceptance criteriaAt least the happy path and primary error state are defined. See Acceptance Criteria Quality
Context / backgroundEnough information for a developer unfamiliar with the area to understand why the story exists
Dependencies identifiedAny upstream or downstream dependencies are named and their status noted
Design or mockup attachedFor any work with a UI component, the design artefact is linked
Estimated / sizedTeam has agreed on a relative size (story points, T-shirt, or equivalent)
No blockersNothing prevents work starting on day one of the sprint

What a DoR should not require

The DoR is not a specification document. Avoid requirements that encourage gold-plating at the refinement stage:

  • Full technical design docs (these belong to the story or a design spike, not as a gate)
  • Completed test plans (tests are refined during development, not before)
  • Sign-off from external stakeholders who are rarely available (build this into the process, not the gate)

A DoR that is too heavy discourages refinement and causes teams to work around it.

When refinement happens

Refinement — the process of bringing stories up to the DoR — should happen continuously, not just in a single weekly meeting. The goal is to always have a small buffer (typically 1–2 sprints’ worth) of stories that are ready to pull from. The meeting format is less important than the outcome: stories that meet the DoR before they’re needed.

A story that doesn’t meet the DoR at sprint planning should be returned to the backlog for further refinement, not forced into the sprint with the intent to figure it out along the way.

Relationship to DoD

The DoR and DoD are bookends:

[Backlog]  →  DoR gate  →  [In-progress]  →  DoD gate  →  [Done]

The DoR ensures work is ready to start. The DoD ensures work is ready to ship. Both gates must be respected for a team’s delivery metrics to mean anything.


Examples

Example — Software team DoR

Definition of Ready — Story Level

[ ] Title is a clear, concise description of the deliverable
[ ] User story present ("As a... I want... So that...")
[ ] Acceptance criteria written for the happy path and at least one error/edge case
[ ] Context section explains the business reason for this story
[ ] Any design mocks or wireframes linked (required for all UI stories)
[ ] Dependencies on other stories or external services are identified
[ ] Story has been sized by the team (relative estimate, not hours)
[ ] No known blockers as of sprint planning

Example — Ticket that fails DoR and why

Title: Improve the dashboard

Why it fails the DoR:

  • “Improve” is not a testable goal — there’s no stated outcome
  • No acceptance criteria — what does “improved” mean?
  • No design reference — nobody knows what visual change is expected
  • No indication of scope — could be an afternoon or a week
  • Cannot be estimated with confidence

What it needs before it’s ready:

  • A specific user story: “As a team lead, I want to see my team’s open PR count on the dashboard so that I can spot bottlenecks without navigating away”
  • At least two acceptance criteria (happy path + empty state)
  • A design reference (even a rough wireframe)
  • An estimate from the team

Example — Distinguishing DoR from AC

LayerRole
DoRIs this story ready to be worked on at all?
Acceptance CriteriaUnder what conditions is this specific story considered complete?
DoDDoes the delivered work meet the team’s universal quality bar?

These three are distinct and complementary. A story can have excellent AC and still fail the DoR (because it hasn’t been sized or has a blocking dependency). A story can pass the DoR and have weak AC — in which case the AC needs to be strengthened before work begins, not after.


Anti-patterns

1. Pulling stories in because there’s nothing else ready

A sprint should never start with stories that haven’t met the DoR just because the team needs something to work on. If the sprint backlog is thin, the solution is better refinement cadence — not lower standards at the gate. A sprint with three well-defined stories is better than one with six half-defined ones.

2. Treating DoR as optional decoration

The DoR is an agreement, not a feel-good exercise. If stories that fail it routinely enter sprints without challenge, the DoR has lost its function. Someone needs to be explicitly accountable for enforcing it at sprint planning — typically the product owner or scrum master.

3. Skipping refinement and relying on developers to figure it out

“Our developers are smart; they’ll work it out” is a compliment dressed up as a process failure. Smart developers spend their time solving problems, not compiling requirements. Every hour a developer spends reconstructing context that should have been written into the ticket is an hour of unnecessary overhead — and it’s overhead that accumulates silently in velocity data.

4. Doing all refinement in a single weekly ceremony

A weekly refinement meeting that runs over sprint capacity is a sign that refinement is being treated as a calendar-driven event rather than a continuous discipline. Refinement conversations should happen as soon as stories are identified as upcoming — in ad hoc conversations, async comments, and embedded in planning — not batched into one meeting per week.

5. The DoR as a bureaucratic hurdle

When teams experience the DoR as friction rather than a service, it’s usually because the criteria are too heavy, too prescriptive, or unevenly enforced. The DoR should feel like a checklist that helps the team — not a form to complete before the real work begins. If refinement conversations feel compliance-driven, revisit the criteria together.

6. No shared ownership of the DoR

Just as with the DoD, if the DoR was written by management and handed to the team, it will not be owned by the team. The DoR must be a genuine team agreement. Everyone who works from it should have had a voice in defining it, and it should be updated based on what the team learns.



Part of the PushBackLog Best Practices Library. Suggest improvements →