It is impossible to create a single Definition of Done (check the Scrum Guide Mind Map) that suits every situation. In Scrum each team should come up with it’s own definition. A definition that suits its unique environment. To help you and your team to get to your Definition of Done, I post ours as an example here.
In general organizations that have just started with agile may find it difficult to reach a mature level immediately; therefore, they should take the steps, sprint-by-sprint, to improve their done definition. For example on the code coverage of their JUnit test.
Definition of Done on our current project
In our current project we are working with a customer that is getting started with an Agile and Scrum way of working. Besides that they also recently changed their technology stack to WebLogic Server, SOA Suite. They have been programming in Java for years. Here is what we as a team came up with:
Definition of Done
- Code complete
- Unit tests all green
- Code Coverage 35% (with the explicit ambition of growing to 90%)
- Documentation updates:
- Release doc
- Deployment Guide updated
- Technical Design
- Quick Guide for Users
- Coding Standards met
- Functional Testing passed on DEV