The criteria for accepting work as completed. Specifying these criteria is the responsibility of the entire team, including the business. Generally, there are three levels of “Done” (also known as Done-Done-Done):
- Done: Developed, runs on developer’s box
- Done: Verified by running unit tests, code review, etc.
- Done: Validated as being of deliverable quality with functional tests, reviews, etc.
However, the exact criteria for what constitutes “Done” varies to meet the specific needs of different organizations and initiatives. An important agile principle is to deliver (potentially) releasable software after every iteration. The definition of done is a key component of Agile project governance used to help teams comply with this principle.