Definition of Done

A Scrum Team's (PO, SM, Dev Team) Definition of Done is the list of Acceptance Criteria that applies to every work item a SCRUM team does.

It's intended to be an ever evolving definition that changes as the team learns new things and tries different ways of working.

The Definition of Done (DoD) is created and maintained as a collaboration between the PO and the Dev Team.

The Dev Team are the custodians of the code quality and the PO is constantly striving to add as much value to the product as possible with the least amount of effort being expended.

If the DoD has not been satisfied for a work item, then that work item can't be counted as being "Done".

Simple Example Definition of Done


    • All functionality added or changed in the product have been successfully tested via automation.
    • All code written (product code and test code) has been peer reviewed.
    • All code has been merged back into the master branch, any merge conflicts resolved.
    • If there were any merge conflicts, then all code was retested.

In this example I've deliberately left out regression testing the product to make sure there were no unexpected behaviour changes. Although this may be a common task, maybe the team won't do this for all tickets. Maybe they will add this later once they've had a regression bug slip through their product release.

The key aspect of this is that it's probably better to start off with a simpler DoD. With time and sprints, the team will modify their DoD, using things we've learnt, to add more value and ultimately drive a higher quality product.