It’s been a long way for the definition to get to this blog post, so i’ll choose the one which favors the most, meanwhile its revision history:
- Paul M Jones: Definition of “Done” 
- Mehdi Khalili: Definition of “Done” in MVC project 
- Paul Stovell: “Done” criteria 
- AgileFAQ: definition of “done” [2007-10]
An example Story definition of done would look like this.
- All story should have automated acceptance test.
- The story should have working code supported by unit test that provide around 60 – 70 percent coverage.
- The story should have well defined acceptance criteria.
- The code must have been written as a pair or should be code reviewed.
- Code must be completely checked in to the source control system and the build should pass with all the automated tests running.
- The product owner must accept the story.
Sprint Definition of done:
- Product owner should have defined a sprint goal.
- All stories completed for the spring must be accepted by the product owner
- All the automated acceptance tests should be running for the stories in the sprint.
- All code should have been pair programmed or must have gone thorough a code review process.
- If there is a database involved, the database scripts must have been automated and tested.
Release Definition of done
- Product is deployed to the test box and makes it to staging
- Product has a formal release date.
- There are deployment documents for the release
- Training manuals are available for users.
- All stories for the release are completed and accepted.
- The release does not have any level one bugs.