In Agile methodologies like Scrum, DoD (Definition of Done) and DoR (Definition of Ready) are crucial concepts that help teams clarify expectations and ensure quality and efficiency throughout the development process.
Definition of Done (DoD)
The Definition of Done (DoD) is a shared understanding within an Agile team about the criteria that must be met for a piece of work, typically a Product Backlog Item (PBI) or User Story, to be considered truly complete and potentially shippable.
- Purpose:
- Ensures quality and transparency.
- Creates a common understanding of what "done" means, avoiding ambiguity.
- Provides a checklist for the team to ensure all necessary steps have been completed.
- Increases predictability by ensuring consistent quality.
- Examples of DoD Criteria:
- Code is written.
- Code has been peer-reviewed.
- Unit tests pass.
- Integration tests pass.
- Acceptance criteria are met.
- Documentation is updated.
- Deployed to staging environment.
- Performance requirements are met.
The DoD is essential for building trust and delivering a high-quality product increment consistently. It evolves as the team matures and the product develops.
Definition of Ready (DoR)
The Definition of Ready (DoR) is a set of criteria that a Product Backlog Item must satisfy before the development team can confidently pick it up and begin working on it in a Sprint.
- Purpose:
- Ensures PBIs are sufficiently understood and prepared for development.
- Minimizes delays during the Sprint due to unclear requirements or missing information.
- Helps in effective Sprint Planning.
- Promotes productive backlog refinement.
- Examples of DoR Criteria:
- Clearly written (often following a template like "As a [type of user], I want [an action] so that [a benefit]").
- Acceptance criteria are defined and understood.
- Dependencies are identified and addressed.
- Has a clear business value.
- Is estimated by the team.
- Is small enough to be completed within one Sprint (or a few days).
The DoR helps the team pull well-defined items into a Sprint, reducing uncertainty and improving flow. It's often used during Backlog Refinement sessions.
Key Difference Between DoD and DoR
As highlighted by the reference:
The main difference between the DoD and the DoR is that the DoD is a list of criteria that must be met in order for a user story or Product Backlog Item (PBI) to be considered "done," while the DoR is a list of criteria that must be met in order for a PBI to be considered "ready" for development.
Here's a simple comparison:
Feature | Definition of Done (DoD) | Definition of Ready (DoR) |
---|---|---|
When Applied | After development is complete. | Before development begins (e.g., Sprint Planning). |
Purpose | Define when a PBI is completed (potentially shippable). | Define when a PBI is prepared for development. |
Focus | Output quality and completion standards. | Input clarity, preparedness, and feasibility. |
What it Checks | Has the work been finished to a defined standard? | Is the work clear, understood, and ready to start? |
Why are DoD and DoR Important?
Both the DoD and DoR foster transparency and alignment within an Agile team and with stakeholders.
- They reduce guesswork and assumptions.
- They improve communication by providing a common language for item status.
- The DoD helps maintain quality standards and deliver value incrementally.
- The DoR helps ensure the team can start work efficiently and without major roadblocks.
While the DoD is considered essential in Scrum (it's part of the Scrum Guide), the DoR is more of an optional but highly recommended practice that aids teams in preparing their backlog effectively.