The goal of the Definition of DONE agreement is many fold, and it exists not only to create a standard by which teams can operate so that they can feel confident that when someone says, “I’m DONE!” they know precisely what that means, but also to ensure that all involved stakeholders understand when, why, and how to engage with a given team, and what they can expect from their contributions. There are 3 typical stages to a standard DoD template, while they may be described in different ways, an easy way to think about it might be, “to whom is this most relevant?” These also map to specific states in Rally, and can be informative if you’re using Scrum, and serve as exit criteria if you’re using Kanban. What follows should be tweaked to be specific to your team and your partners.
COMPLETED - I’m DONE! (Developer’s perspective)
All aspects of application development have been successfully completed through Verification in development including
- Requirements and/or design (Acceptance Criteria pass)
- Development
- Code review
- Unit Testing
- Technical Verification in development environment
ACCEPTED - You’re DONE, but are you DONE DONE? (Product owner’s Perspective) – Velocity credit if you’re doing Scrum All aspects of application development have been successfully completed through Verification in staging including:
- Tested by someone who is NOT the developer
- Found issues resolved
- Appropriate documentation updated
- Product/Business Owner Accepts the story (Velocity)
- Product Owner Verification in staging environment
RELEASED TO PRODUCTION - We’re DONE, but is it LIVE? (Customer’s perspective) – Throughput credit All aspects of application development have been successfully completed through deployment in production including:
- Integration
- UAT
- Issue resolution
- Deployment to production
Some people refer to the above as DONE DONE DONE, which should probably have a tune associated with it (a 4th DONE would be a perfect fit for Beethoven’s 5th). This is the ultimate result we are tracking towards with Agile, a verification that our customers are using our products without encountering bugs or any other nasty surprises.