Jan 7, 2017

Definition of Done

This is a sample definition of done that I use in mature development process environments.

Task is considered done if all of the below conditions are met:

  1. Source code that corresponds to the task description has been developed
  2. Unit tests for the task that test the source code are have been developed
  3. All unit tests (including developed for the task) pass successfully
  4. New features are covered by integration test
  5. Integration test passes successfully
  6. Changes that describe installation and migration process related to the task are provided in corresponding documentation or deployment scripts
  7. Change log is updated
  8. Pull request has passed code review (all comments are either covered by fixes or somehow resolved with responsible reviewer) and merged to upstream repository
  9. Notes for QA people are added to the task
  10. Task deployment provided for test environment
  11. The task has passed manual testing successfully: discovered bugs are either fixed or brought out to separate issues for later fixing
  12. The task has been deployed to live, it does not expose bugs and shows correct behavior in live