
The Definition of Done (DoD) in Agile Scrum is a shared, team-wide checklist of the quality criteria every product backlog item must meet before it can be considered truly complete and releasable. It ensures consistent quality standards and prevents “almost done” work from accumulating as technical debt.
DoD vs. Acceptance Criteria
It is common to confuse the DoD with Acceptance Criteria, but they serve different purposes:
- Definition of Done: Applies to all product backlog items. It dictates the technical quality standards (e.g., code reviewed, tests passed) required to be releasable.
- Acceptance Criteria: Specific to an individual user story. It details the unique functional behaviors and business requirements needed to satisfy the user.
Typical DoD Checklist
While the DoD evolves as the team matures, a standard software development checklist often includes:
- Code written and passes static analysis checks
- Peer code review completed (Pull Request approved)
- All unit and automated acceptance tests are written and passing
- Security and performance checks completed
- Meets accessibility standards (e.g., WCAG)
- All necessary documentation (API, release notes, user guides) is updated
- Deployed to a staging/testing environment
Why the DoD Matters
- Transparency: Everyone—from developers to stakeholders—knows exactly what “done” means, removing ambiguity.
- Quality Assurance: Establishes a minimum quality threshold, reducing bugs and future rework.
- Releasability: Ensures the product increment is genuinely usable and ready to be shipped to end-users.