If you are a part of the Agile or Scrum world, you may have already heard about the Definition of done. But what is it? Definition of done is like Mrs. Colombo, everybody talks about her, but nobody ever saw her.
As is the case with the definition of the Scrum Master, you can find the description of Definition of Done in the Scrum Guide written by Jeff Sutherland and Ken Schwaber, the "fathers" of Scrum.
When a Product Backlog item or an Increment is described as "Done", everyone must understand what "Done" means. Although this may vary significantly per Scrum Team, members must have a shared understanding of what it means for work to be complete, to ensure transparency. This is the definition of "Done" for the Scrum Team and is used to assess when work is complete on the product Increment.
The same definition guides the Development Team in knowing how many Product Backlog items it can select during a Sprint Planning. The purpose of each Sprint is to deliver Increments of potentially releasable functionality that adhere to the Scrum Team’s current definition of "Done".
Development Teams deliver an Increment of product functionality every Sprint. This Increment is useable, so a Product Owner may choose to immediately release it. 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.
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 there are multiple Scrum Teams working on the system or product release, the Development Teams on all the Scrum Teams must mutually define the definition of "Done".
Each Increment is additive to all prior Increments and thoroughly tested, ensuring that all Increments work together.
As Scrum Teams mature, it is expected that their definitions of "Done" will expand to include more stringent criteria for higher quality. New definitions, as used, may uncover work to be done in previously "Done" increments. Any one product or system should have a definition of "Done" that is a standard for any work done on it.
From Scrum Guide 2017
Is the definition a tad long? It might be… Let's have a look inside our SCRUM MF guide for a more condensed version:
Definition of Done (DOD) ensures, that those performing the work and those inspecting the results share common understanding of what DONE means.
Minimal DOD is defined by the development organization. DOD for the project is defined by mutual agreement between the development team and the Product Owner.
Minimal definition of DOD in SCRUM MF is:Tested
Reviewed by Product Owner
From SCRUM MF
Better? Well, the definition is much shorter. But do you really understand, what is expected of you, if you are a developer? Well of course, you say - to describe, what I must deliver at the end of the story. But is it really that simple? Yes? No? I would like to show you, how easy it is to be misunderstood and how the same words can mean completely different things to two people. Did you hear this joke before?
A roommate asks his friend, who is a programmer, to go shopping.
"Hey, can you buy a bottle of milk? Oh, and if they have eggs, buy 12!"
And the programmer went shopping. When he got back, he brought 12 bottles of milk and his roommate asked: "Why the heck did you buy 12 bottles of milk?!"
And the programmer responded: "They had eggs!"
When I shared this joke with my team, some of them were like… ok… and? And that is exactly, what this article is about. We really need to describe our Definition of done as best as we can, so that it is clear to everybody, what we want and what the expected results are. And we also should make sure, that everybody really understands, what needs to be delivered.
Because mistakes like those mentioned in the joke happen easier than expected. We all are processing information slightly differently. If we leave room for misunderstandings, it is just a question of time, before we end up with something much worse than 12 bottles of milk.
So back to the joke. How can we change it, so that everybody is on the same page regarding the desired outcome? Maybe:
"Hey, can you buy a bottle of milk? Oh and if they have eggs, buy also 12 eggs"
A small change, but it makes all the difference. Can you see it?