With the onset of Scrum and as many organizations are trying to adopt Agile test processes and tools, the test resources on the Agile teams need to help the product owner define Acceptance Criteria during backlog grooming or the Iteration planning process. Acceptance Criteria may include a collection of Story tests that need to be passed for Story acceptance. The Acceptance Criteria and Story tests can be confined to the Story and may not consider all the aspects of the application or product.
The Definition of Done (DoD) is a wider and more comprehensive criterion that needs to be defined and met at a Story, Sprint and Release level in addition to Story acceptance criteria for the new set of features or capabilities to be released to production or users. Story acceptance criteria can include a series of functional tests to ensure the functionality meets the business or user needs, but does not necessarily define all conditions to say the Story is done and no more work needs to be performed by the team. For instance, the acceptance criteria can have list of Story tests or test cases that cover functionality, but a Story DoD can cover non-functional and technical requirements of a User Story like performance testing, browser compatibility, stakeholder acceptance, unit testing, regression testing and automation scripting.
The Scrum team(s) needs to collaboratively define DoDs at Story, Sprint and Release levels. The Story, Sprint and Release has to meet all the conditions defined in the DoDs for the Scrum team(s) to say the Story, Sprint and Release is Done and no further activity is needed.
This paper discusses the need for a clear Definition of Done at Story, Sprint and Release levels and sheds some light on few examples that are common in software applications and products, with a goal to help Agile and Scrum teams to better define their DoDs as a team and improve the overall quality of the application and releases.