Definition of “Done”
My wife and I wanted our 11-year old to do his own laundry, so we asked him if he would start doing his laundry. What was his definition of “done”?
What does “Done” mean to the Scrum team? The Scrum guide defines that it is a shared understanding of what “Done” means, to ensure transparency. In my previous blog post, we reviewed that there are three pillars of empiricism that Scrum is founded on, and transparency is one of them.
Definition of “Done” or DoD is an artifact of the Scrum frame-work. It is used to assess when the 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 Sprint Planning. Teams must write the definition of done before they start Sprint 1, so they have a shared understanding of what done means to them. This can be a check-list of all the value-added activities to complete the functionality and quality of the product increment. This definition is not prescriptive. Each team needs to identify their DoD. The DoD varies significantly per team.
My wife and I wanted our 11-year old to do his own laundry, so we asked him if he would start doing his laundry. He was very excited and he said yes. I taught him how to operate the washing machine and he said he will be “done” soon. I checked on him after an hour and he said that he was “done”. When I checked the washing machine, his clothes were still there and they were not dry. His definition of “done” was different from ours. So, we came up with a list of all the activities that he needs to complete before we can call his laundry to be “done”.
We came up with a list of activities for definition of “done” for laundry.
- Clothes sorted?
- Picked the right detergent/fabric softener?
- Pre-treated stains?
- Set washer temperature and cycle (depending on the clothes load)
- Loaded the washer?
- Checked when laundry done to unload?
- Load dryer
- Set dryer temperature and cycle
- Unload dryer
- Hang or fold laundry
- Carry clothes in laundry basket
- Take the basket upstairs to room and put it in the closet
We started with a smaller list originally but added more items as he did laundry a few more times
In my experience, I found that teams sometimes tend to think about tasks they are working on and not the overall tasks that the entire team needs to work on, to complete a product increment.
For example, in the software industry, teams may need to ask some of the following questions to come up with their DoD:
- Code completed?
- Unit tests passed?
- Functional tests passed?
- Code reviewed?
- Code checked-in?
- Code peer reviewed?
- Product Owner reviewed and accepted?
- Acceptance tests completed?
- Released to staging server?
If the DoD is inadequate, the work may be incomplete, unreliable and not maintainable. Mature teams expand their definition of “done” to include additional criteria for higher quality.
Opportunities to define what “done” means
- There are many opportunities to clarify the definition of “done” – at the User Story, Sprint and Release level. Let’s not confuse ourselves with acceptance criteria and definition of “done’ as the same.
- Acceptance criteria are a list of conditions and individual product backlog item has to fulfill to be accepted whereas definition of “done” applies to the entire product backlog items.
Advantages of a clear definition of “done”
- Drives the quality of work
- Team becomes more productive because there is clarity on what “done” means and everyone is on the same page
- Teams Increase velocity as their definition of “done” becomes more stringent
Definition of “done” is one of the artifacts of the Scrum framework that defines what “done” means for the team to complete a product increment. It is a list of things to do before we can potentially ship the product. This is the same definition that helps teams to pick what product items to be included in a Sprint. As the teams mature, the DoD becomes more stringent in terms of quality. It becomes an expression of the team’s quality standards.