The Definition Of Done
When you are developing software, no matter web or mobile application, you need to make sure that everything is done (and offcourse done right). So you need a way to define the “Done!” itself. I had such a problem and searched for this and gather all definitions and combined them together. The result is:
DoD checklist for a user story
Coding
- Code refactoring is done
- Code is in standard format
- Code is inspected (by a static code inspector)
- PCR (Peer Code Review) performed
- Assumptions of user story met
- Project builds without errors
Testing
- Unit tests written and passed
- Integration tests written and passed
- Project deployed on the test environment
- QA (Quality Assurance) session performed
- Issues from QA session resolved
- Acceptance criteria is met
- Any configuration or build changes documented
- User documentation updated
- Technical documentation updated
DoD checklist for sprint
- DoD of the user stories met for each single user story included in the Sprint
- All “to do” in the code completed
- All unit tests passing
- All integration tests passing
- Product backlog updated
- Project deployed on the test environment
- Tests of backward compatibility passed
- The performance tests passed
- The security tests passed
- All reported bugs fixed
- Beta Testing is done
- Sprint marked as ready for the production deployment by the Product Owner