The Definition of Done (DoD) is the commitment associated with the Increment. We commit to fulfilling the Definition of Done when we work on the Increment.
The Definition of Done is a checklist of must-dos before we can call any product work item fully complete. It defines what is the minimum quality of the product we accept and deem good enough to be given into the hands of our customers.
Characteristics #
The DoD exists on the level of the whole product, not individual features or functionality.
The DoD must be agreed upon by all of the parties involved in the product development, including the stakeholders.
It cannot have any room for interpretation, therefore, a checklist is recommended.
If multiple teams work on the same product, they must use the same DoD as their minimum baseline.
The DoD may change upwards (meaning that it can only be improved by adding more strict criteria). But the change shouldn’t happen every Sprint. Instead, it is a change that is agreed upon at a time when the team decides to improve the quality of the product.
If a DoD has been improved, all of the previously completed work in the Increment must align with the next definition. Consider this when making changes to your DoD.
Example #
1. Development #
- Approved pull requests without errors in the pipeline
- Pull requests reviewed by the code owner + 1 other dev
- All acceptance criteria are satisfied
- Feature flag specification works
- Code analysis automation passed without critical warning
- Must have code comments for new modules/methods/etc. purpose and flow
- The design follows design principles
2. Testing #
- No critical or high-priority bugs for the ticket are open
- Defined test scenarios on the ticket passed
- Automated testing done based on guidelines (unit, E2E, integration)
3. Integration #
- Has been deployed to DEV, QA and PROD
- Feature follows accessibility guidelines
- Feature works with all other team’s code and merges without errors
4. Release #
- Must have documentation: Jira – Acceptance Criteria; Jira – Impact Analysis; Github – Pull Request
- The ticket is deployed to production
- Guides for the feature are read
- Hands-off complete for the customer support team