Definition of Done
Vivek Jayaraman
26th Mar, 2020
In a restaurant kitchen, when someone is cooking the food, when do they know the food is ready to be served? How can one conclude that the food is prepared to consume? There could be a list of things like
- Preparing the ingredients to reach the right level of cooking.
- The right amount of flavor is added, like salt, spice, sweetness, and so on.
- Will the food serve the purpose it is prepared for?
- Has the food displayed the right texture?
- Has it met the standards of sous-chef and executive chef?
- Has it met the food standards as per the restaurant?
- Has it met the standards of the committee's definition?
And much more.
The Definition of Done is an exit criterion agreed upon by the Scrum team to consider a Product Backlog Item (PBI) as "done." There are two things to find in the definition of done (DoD),
- A checklist to check if the work is shippable.
- To identify whether it solves the user problem.
DoD is a shared understanding between Scrum team members of what it means to call work as done. When we call an item "done," everyone on the team must understand what that means. DoD ensures transparency in the team as everyone understands what a done PBI is.
A programmer's understanding could be like an item is done when the coding is complete. A tester's perception will be like an item is done only when all the testing activities are complete.
A build and release engineer may think that a PBI is done when it is pushed to live. Other team members may feel that a PBI is done only when it functions as expected for a customer. There may be multiple perspectives of a done product increment from each Scrum Team member.
The definition of done brings them all to the same page in understanding what a "done" product increment signifies. The purpose of every sprint is to come up with a potentially releasable product increment (PRPI).
The development team delivers a working product increment every sprint. The product increment should be readily releasable so the Product Owner can choose to release them immediately or on a specific date.
As part of the Scrum Team kick-off, the definition of done is one of the things that will be created upfront. Without a proper definition of done, the team can't deliver a working product increment.
If the definition of "Done" for an increment is part of the conventions, standards, or guidelines of the development organization, all Scrum Teams must follow it as a minimum.
The definition of done evolves, and it doesn't remain constant. The Scrum Team adjusts to its definition of done as more is learned from it. If "Done" for an increment is not a convention of the development organization, the Development Team of the Scrum Team must define a definition of "Done" appropriate for the product.
If multiple Scrum Teams are working on the system or product release, the Development Teams on all the Scrum Teams must mutually define the definition of "Done." As Scrum Teams mature, it is expected that their definitions of "Done" will expand to include more stringent criteria for higher quality.
Are you ready to skyrocket your career? 65% of professionals are upskilling in 2023. Don’t fall behind, get on a call with us and start upskilling now!
You are already a step ahead. Keep learning and growing!