What is Definition of Done (DoD)?
Definition of Done (DoD) is a shared set of criteria the team uses to determine that work is truly complete. In other words, it's a clear answer to the question: "When can a task or feature be considered fully done?"
DoD removes the ambiguity between "almost done" and "ready to release", providing transparency and a shared understanding of quality among everyone on the project.
Essence and purpose
Definition of Done is not just a formality, it is a guarantee of quality and consistency. If a task does not satisfy every point of the DoD, it is considered incomplete, no matter how much code has already been written.
DoD helps:
- assess the readiness of an increment by shared standards;
- improve the product's quality;
- reduce the amount of technical debt;
- align expectations between the team, testers, and the client.
Examples of Definition of Done items
DoD can differ from team to team, but it usually includes several mandatory categories:
- Code readiness
- The code is written, formatted, and follows the team's standards.
- All reviews are done, comments addressed.
- The code is merged into the main branch without conflicts.
- Testing
- Unit tests are written and passing.
- Integration testing has been done.
- There are no critical bugs or crashes.
- Documentation
- README, comments, and technical specifications are updated.
- Usage instructions for a new feature are added if needed.
- Build and deployment
- The feature builds and deploys correctly to a test environment.
- Manual or automated testing has been completed.
- Business criteria
- All Acceptance Criteria are met.
- The functionality matches the described requirements and the Product Owner's vision.
Where it applies
- To each task (user story) - to determine whether it can be closed.
- To a sprint increment - to decide whether the sprint can be considered complete.
- To a product release - to make sure the version is ready to ship to production.
Example of a simple team DoD
- The code is written and has passed review.
- All tests are green.
- There are no errors in the logs.
- Documentation is updated.
- The Product Owner has accepted the task.
- The functionality is ready to release to staging.
Difference between DoD and Acceptance Criteria
| Parameter | Definition of Done | Acceptance Criteria |
|---|---|---|
| Level | Shared across the whole team | Unique to a specific task |
| Essence | What "done" means in principle | What "completed" means specifically for this task |
| Example | Tested, documented, passed review | The "Pay" button changes the order status to "Paid" |
Conclusion
Definition of Done is a shared standard of "readiness" that unites the team. It makes quality measurable, the process transparent, and the result reliable. If something doesn't match the DoD, it's not "almost done" - it's not done yet.
Short Answer
Interview readyA concise answer to help you respond confidently on this topic during an interview.