Definition of Done
In short
The Definition of Done is a shared checklist of quality standards that every piece of work must meet before a team can consider it complete.
What is the Definition of Done?
The Definition of Done, often shortened to DoD, is an agreed list of criteria that every item of work must satisfy before the team can call it done. It removes the ambiguity of someone calling a feature finished when it has not yet been tested, reviewed, or documented. In Scrum, it is the formal commitment attached to the increment: work that does not meet the Definition of Done cannot be released or presented as finished at the sprint review.
A typical Definition of Done includes items such as: the code is reviewed, automated tests pass, test coverage meets the team's standard, documentation is updated, and the change is merged and deployed to a staging environment. The team creates it together, keeps it where everyone can see it, and tightens it over time as its practices improve. If the organization has a company-wide standard, each team must follow it at a minimum and can add stricter rules of its own.
Think of it like a pilot's pre-flight checklist: the same checks happen before every flight, no matter where the plane is going, so nothing important depends on memory. Because the DoD applies to every item, it keeps quality consistent and prevents hidden work, such as untested code, from piling up as technical debt.
The Definition of Done is often confused with acceptance criteria. Acceptance criteria are specific to one user story and describe what that feature must do, while the Definition of Done is the same for all work and describes the quality bar it must reach. Some teams also use a Definition of Ready, a checklist for when a story is clear enough to start, though it is not part of official Scrum.
Key takeaways
- The Definition of Done is a shared quality checklist that applies to all work.
- It makes done mean the same thing to everyone on the team.
- Work that doesn't meet it is not part of the increment.
- It differs from acceptance criteria, which are specific to one story.
- Teams should make it stricter over time as their practices mature.
Example
Definition of Done (Web team)
[ ] Code is peer reviewed and merged to the main branch
[ ] All automated tests pass in the CI pipeline
[ ] New code has unit tests; coverage does not decrease
[ ] Acceptance criteria are verified by someone other than the author
[ ] No new linting errors or security warnings
[ ] User-facing changes are documented
[ ] Feature is deployed to the staging environmentReaders ask
What is the difference between the Definition of Done and acceptance criteria?
Acceptance criteria describe what one specific user story must do, while the Definition of Done is a quality standard that applies to every story. A story is only complete when it satisfies both.
Who creates the Definition of Done?
In Scrum, the Scrum team creates it together. If the organization already has a standard, the team follows that standard and may add stricter criteria of its own.
Can the Definition of Done change?
Yes. Teams often review it in retrospectives and make it stricter as their skills and tools improve, for example by adding automated security scans.
See also
- ScrumTeams & Process, p. 21Scrum is an Agile framework in which a small team delivers a product in fixed-length cycles called sprints, using defined roles, events, and artifacts.
- User StoryTeams & Process, p. 30A user story is a short, plain-language description of a feature told from the user's point of view, explaining who wants it, what they want, and why.
- SprintTeams & Process, p. 26A sprint is a fixed-length period of one month or less, often two weeks, in which a Scrum team works toward one goal and produces a usable product increment.
- Code ReviewVersion Control, p. 4A code review is the practice of having other developers check code changes before they are merged, to catch bugs, improve quality, and share knowledge.
- Test CoverageTesting & Quality, p. 30Test coverage is a metric that measures how much of a program's source code is executed when its automated tests run, usually shown as a percentage.
- CI/CDDevOps & Cloud, p. 9CI/CD is a set of automated practices that build, test, and release code changes frequently, so software can be delivered to users quickly and safely.
Spotted a mistake or something missing on this page?Suggest an edit