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?
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!”
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.
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:
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.
Contact us to share the challenges you’re facing and learn more about the solutions we offer to help you achieve your goals. Our job is to solve your problems with expertly crafted software solutions and real world training.
For a better experience on the web, please upgrade to a modern browser.