Introduction
The Definition of Done (DoD) can be compared to safety standards in a manufacturing plant. Just as safety standards establish the criteria for ensuring worker safety and product quality, the Definition of Done sets out the rules and criteria to ensure that each task or feature is completed according to the quality and functionality standards required within the context.
The DoD allows for thinking about the present and the future while respecting the company in its current state as well as in its future state. The goal of this definition is truly to align with the notion of quality, in order to collectively respect a vision while speaking the same language.
A Common Understanding Between the Scrum Team and Stakeholders
Once the DoD is defined, “completed” takes on a different meaning in our language:
“An example of a common situation:
David from Marketing: “Hi Julien! Is this ticket completed?”
Julien: “Yes, it’s completed.” Jean the Developer: “No! The DoD includes automated tests, and they’re not finished yet, although the development itself is okay.”
Julien: “Oh, no, it’s not completed.”
David from Marketing: :(‘
The Definition of Done is:
- A common quality standard: it is a set of specific requirements and criteria that must be fulfilled for a work item to be considered completed. It represents the common quality standard accepted by the team and the Product Owner.
- Non-negotiable: it is non-negotiable and applies uniformly to all work items. It cannot be changed during a sprint “to save time.” All team members must commit to respecting this definition for each work item.
- Defined by the team: the DoD is determined by the development team. It can vary from one team to another in a scaled context (based on the skills and quality standards of each team). However, each team must respect the criteria of the “overall DoD.”
- Measurable criteria: The Definition of Done must include measurable and objective criteria that determine when a work item is completed. These criteria may include successful unit tests, complete documentation, code reviews, validations, etc.
- Transparency and shared understanding: The Definition of Done must be clear, understandable, and transparent to all team members and the Product Owner. Everyone must have a common understanding of what “Done” means to avoid misunderstandings and unmet expectations.
- Essential for the increment: If the increment does not meet the Definition of Done, it cannot be delivered. As a reminder from the Scrum Guide: “A Product Backlog item that does not fulfill the Definition of Done cannot be considered part of the Increment.”
An Example of Definition of Done
For a context with developers:
- Features are implemented, and acceptance criteria are met.
- I have manually tested/validated my feature.
- The code has been reviewed by two colleagues, and both confirm that it is well written, easy to understand, and follows the team’s coding standards.
- Unit tests are written and pass successfully.
- The feature is deployed to the test environment and made available to stakeholders.
- The status of the ticket (in Redmine/Jira) is updated to keep the boards up to date (to-do ⇒ in progress ⇒ in pre-production).
Definition of Done: A Constraint in a Non-Agile Environment
In a non-agile environment, the Definition of Done may be perceived as a constraint. Some teams may feel pressure to skip steps or accept unfinished work items. This can be due to tight deadlines, a lack of understanding of agility, or other external factors.
However, it is important to emphasize that the dod is an essential part of Scrum and the agile approach. It ensures the quality and completion of work items and ensures transparency and trust between team members and stakeholders.
In a non-agile environment, it is crucial to raise awareness among stakeholders and involve them in the dod. It is important to communicate the benefits of this approach, such as reducing errors, improving customer satisfaction, and effectively managing expectations.
Ultimately, the goal is to transform the environment into a more agile one, where the Definition of Done is accepted and valued. This requires ongoing commitment, open communication, and progressive adjustments to adapt to the organization’s culture and specific needs.
Conclusion
The Definition of Done is an essential element within the Scrum framework. It establishes the criteria and requirements for considering a task or feature as completed. By providing a common and non-negotiable quality standard, it ensures that each work item meets the measurable criteria defined by the team. Transparency and shared understanding of the DoD are crucial to avoid misunderstandings and unmet expectations. By respecting the DoD, the increment can be delivered with confidence, ensuring stakeholder satisfaction and overall project progress.