Definition of Done is a shared understanding within the team of what it means for a user story or task to be complete.
A DoD ensures that the team maintains a high level of quality and clarity about what it means for work to be considered complete. It helps everyone involved understand the criteria that must be met before a user story or feature can be marked as done. Each team can customize their DoD, but it should always be realistic and achievable to ensure effective use.
A good example of a Definition of Done (DoD) could look like this for a Team Increment:
Example Definition of Done
User Stories:
- All user stories meet the acceptance criteria defined at the beginning of the iteration.
- User stories are completed by all teams in the ART (Agile Release Train).
Testing:
- Acceptance tests are passed (automated where practical).
- Unit tests are passed with no critical defects remaining.
Quality Standards:
- No must-fix defects are present.
- Engineering standards are followed.
Documentation:
- Release documentation is updated to reflect the changes made.
- All relevant documentation is completed and stored in the appropriate location.
Integration:
- The increment is integrated into the main codebase and deployed in the staging environment.
- End-to-end integration, verification, and validation are completed.
Approval:
- The increment is demonstrated to stakeholders, and feedback is received and addressed.
- The increment is accepted by Product Management.