Rally is proposing a very collaborative way to create the Definition of Done: the team creates “items” that define when software can be released. then the team look at each item and decide which ones apply to a user story (e.g. approved by the product owner), a sprint (e.g. no blockers, no critical) and for a software release (e.g. KPI testing).

Here is the link: http://www.rallydev.com/toolkits/definition-done-toolkit, then click on “Defining Done Guide“.



Alternatively: http://www.scrumalliance.org/articles/107-how-do-we-know-when-we-are-done

This is a similar idea from Mitch Lacey, applying very well to deployment software onto production environment:


Last but no least, I have found some great videos by Ken Schwaber explaining the importance of the DoD and how teams, if not careful, create technical debt and are not done… really not!