A clearly-defined Definition of Done is absolutely essential to agile software development.
At the end of every sprint or increment, software is demonstrated to the product owner and relevant stakeholders to make sure that the increment is done. But too often, we end up accepting the work completed during the increment even though it isn’t truly done yet – “DONE-done,” as we call it at Enfocus Solutions.
A Definition of Done creates a shared understanding of what it means to be finished. According to AgileAlliance.org, the Definition of Done is a list of criteria that must be met before a product increment is considered “Done.” The Definition of Done is also an expression of the team’s quality standards. A more precise Definition of Done is often associated with the delivery of higher quality solutions. Generally, the team will increase their velocity as their Definition of Done gets refined, because they will improve release planning and spend less time fixing old problems.
The most important function of the Definition of Done is that it provides a clear description of what it means for an increment to be done and ready to be implemented. It helps us avoid misunderstandings and miscommunications, and makes sure that there’s transparency around what the team is doing during the sprint.
It is difficult to pin down a Definition of Done that suits all circumstances. Each organization needs to define their own definition; the checklist found in this pocket guide is meant to serve as a guideline for building your own Definition of Done for an iteration.
Here’s a couple tips for dealing with the Definition of Done:
Tie the Definition of Done into Inspect and Adapt (I&A) activities
The solution should be continuously inspected during development by people on all levels (i.e., portfolio, program, and team) to ensure the solution increment is completed. During I&A, everyone should refer to the agreed-upon Definition of Done to make sure everyone is still operating on the same scale of “done.”
Document the Definition of Done using Verifications in Enfocus Solutions’ software
By documenting the Definition of Done in a collaborative software tool like the one provided by Enfocus Solutions, we provide transparency to what’s going on and make sure everyone is on the same page. There’s no need to constantly ask, “Is it done yet?” because you can check on the progress yourself.