What Is the Definition of Done?
In Scrum, the Definition of Done (DoD) is a formal list of criteria that every Product Backlog Item (PBI) must meet before it can be considered complete. It's the shared agreement between the Scrum Team on what "done" actually means — and it's one of the most underrated quality tools in the entire framework.
Without a DoD, "done" becomes subjective. One developer considers a feature done when the code is written. Another thinks it needs tests. A third thinks it requires documentation. The result is inconsistent quality, technical debt, and nasty surprises at the Sprint Review.
Why the Definition of Done Matters
The DoD serves several critical functions:
- Creates shared understanding: Everyone on the team — developers, PO, Scrum Master — agrees on the quality bar
- Prevents technical debt accumulation: Shortcuts get caught before they become permanent
- Enables transparent progress: Stakeholders can trust that "done" items are genuinely releasable
- Supports the Sprint Goal: If items don't meet the DoD, they can't count toward the sprint
- Feeds retrospectives: Recurring DoD failures reveal systemic issues worth fixing
What Goes Into a Definition of Done?
A DoD typically includes criteria across several dimensions. Here's a practical example for a software development team:
Code Quality
- Code reviewed and approved by at least one other developer
- No new linting errors or compiler warnings
- Code follows team's style guide and naming conventions
Testing
- Unit tests written and passing (target coverage maintained)
- Integration tests pass in CI/CD pipeline
- Manual testing completed for user-facing changes
- Regression tests pass — no previously working functionality broken
Documentation
- Inline code comments updated where logic is non-obvious
- Relevant API or user documentation updated
- Changelog entry added if required
Deployment Readiness
- Feature merged to main branch (or release branch)
- Deployed to staging environment
- No open critical or high-priority bugs linked to this item
How to Create Your Team's Definition of Done
- Start in a Retrospective: The whole team — not just the Scrum Master — should define and own the DoD
- Make it achievable: Aim high, but not so high that items never get completed. A DoD you can't consistently meet isn't helpful
- Make it specific: "Tested" is vague. "Unit tests written and passing with ≥80% coverage on new code" is specific
- Post it visibly: Put it on the team's Jira board, Confluence page, or physical wall — wherever the team works
- Revisit it regularly: As your pipeline matures, your DoD should evolve. Review it in retrospectives
The Difference Between DoD and Acceptance Criteria
This is a common point of confusion. Here's the distinction:
| Definition of Done | Acceptance Criteria | |
|---|---|---|
| Scope | Applies to ALL backlog items | Specific to ONE backlog item |
| Defined by | The Scrum Team | Product Owner (with team input) |
| Focus | Engineering & process quality | Business & functional requirements |
| Example | "All code reviewed before merge" | "User can log in with Google OAuth" |
A PBI must meet both its acceptance criteria and the Definition of Done before it can be included in the Sprint Increment.
A Strong DoD Is a Team's Quality Signature
Teams that invest in a clear, enforced Definition of Done build trust — with stakeholders, with each other, and with their codebase. Start simple, enforce it consistently, and grow it over time. The compounding returns in code quality and team confidence are well worth the effort.