Imagine a Thursday morning at Corellian Engineering Corporation, makers of durable, upgradable, and fast cargo starships. It’s the end of the sprint for Scrum team A-Tano, and the whole team is nervous because previous reviews have been contentious.
This review is no different. The stakeholders demand that three of the stories must be redone, stunning the team, who thought they’d finished the stories successfully. An argument erupts over a perception of poor quality, and two of the team members glare at each other from opposite sides of the room. The lead architect storms out, slamming the door so hard that the monitor on the wall shudders.
Would you be surprised to learn that the root of this team’s problems is that they don’t have a written Definition of Done?
Scrum Team A-Tano Discussion—What Went Wrong?
In the retrospective, the Scrum Master, Inez, asks the team to discuss what happened. One of the testers was confused by the criticism of the quality. “I tested every one of those stories myself,” he says. “How was I to know that 25 seconds was too long for the page to load?”
One of the developers pipes up. “You know, the Product Owner told us not to allow special characters in the YT1300 field at the last minute. We just couldn’t get that done in time, so he shouldn’t have demonstrated it.”
The Product Owner holds up his hands. “Hey, I got that information at the last minute myself. I thought it was totally do-able. You should have said something.”
“We said something about that last story at Sprint Planning. We told you we wouldn’t be able to get it tested in time, but you wanted it anyway,” another developer shoots back.
Grady, the architect, chuckles. “Heck, that’s potentially shippable!”
Everyone laughs. After they take a moment to collect themselves, the Scrum Master says, “Team, this is why we need a Definition of Done!”
Why Should Agile Teams Use a Definition of Done?
A Definition of Done is a concrete list of verifiable qualities that work must meet in order to be considered done and ready to demonstrate to the customer or Product Owner. This might include unit testing, integration testing, and the location where code has been deployed. This list creates a shared understanding between the team members and the organization for what it means for work to be complete. A Definition of Done also evolves and becomes more demanding over time as a team matures.
If Scrum Team A-Tano had created a Definition of Done before their first Sprint, they would have avoided several bad Sprint Reviews.
Crafting the Perfect Definition of Done
Together, Scrum team A-Tano discusses and creates a Definition of Done. Their Definition of Done specifies that all acceptance criteria—such as page must load in under 20 seconds—must be met. The Scrum Team agrees to a quality standard and communicates it to the stakeholders. This quality standard is also reflected in the Definition of Done. They put the Definition of Done into practice immediately.
Would you be surprised to learn that Scrum team A-Tano’s experience improves? Here’s how:
- Because they have a shared understanding about what “Done” means, the team creates more accurate estimates prior to Sprint Planning.
- In Sprint Planning, the Definition of Done helps the team determine what can be added to the Sprint, with confidence that they can complete each item.
- At the Sprint Review, there are no surprises because the Definition of Done requires Product Owner acceptance.
- Because there is no question that each story fulfills the organization’s quality standards, the stakeholders are satisfied with the quality of the product increment. It gives them new ideas for valuable improvements that the Product Owner adds to the backlog.
Everyone enjoys the Sprint Review, the team goes into the next Sprint feeling optimistic and energized, and there is temporary balance in the universe.
If you would like to have some balance in your own universe, then it might be time to contact the best Agile coaches in the galaxy.
Co-authored by Sam Falco and Adam Ulery.