Definition of Done for Software Development Projects

Tags
6 September 2019
Complete Guide for CTO & IT Directors
Microservices under X-Ray Three books image Download free ebook

In software development, definition of done specifies all of the conditions that a software product must satisfy to be accepted by the customer. The main driver for establishing DoD criteria is increasing the quality of the product being delivered.

The DoD might differ from product to project, and usually the team (together with client representative) is responsible to figure out the exact criteria that are needed/are going to work for specific project at hand. However, it is good to have a good starting point that becomes cornerstone for the team’s work. Here is our initial Definition of Done for agile projects:

User story:

  1. Code review accepted
  2. Automated tests passing
  3. 80% unit test coverage
  4. Acceptance tests automated and passing
  5. Functional tests scenarios created and reviewed 
  6. Integration test scenarios created and reviewed
  7. 80% of functional and 60% of integration tests automated
  8. Data migrations scripts created and tested (forwards and backwards)
  9. Documentation written and reviewed

Sprint:

  1. All stories in scope merged into sprint branch
  2. All tests passing
  3. Demo performed and Product Owner accepted the sprint functionality
  4. Performance tests passed
  5. Exploratory tests passed
  6. No bugs/regressions on the sprint branch

Marcin Wudarczyk

Talk with experts

We look forward to hearing from you to start expanding your business together.

Email icon [email protected] Phone icon +1 (888) 413 3806