Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Definition of Done

Krzysztof Kaczmarczyk edited this page Dec 8, 2020 · 2 revisions

Definition of Done (DoD) is an agreed upon set of items that must be completed before a project or user story can be considered complete. It is applied consistently and serves as an official gate separating things from being “in progress” to “done.”

Service Net DoD:

  1. Development: The functionality described in the story was implemented (or bug fixed) according to the provided acceptance criteria or reproduction steps.

  2. Development: Automated unit tests were added for the core business features at the minimum.

  3. Review process: The code built clean (at the minimum it compiled, tests and static code analysis passed) on the TravisCI server.

  4. Review process: All code changes, additions, and removals went through code review, conducted by at least one person with technical expertise, who wasn’t directly involved in making the code changes; the code review feedback was incorporated or discussed with the reviewer.

  5. Deployment process: The code was audited with CodeQL to test and discover vulnerabilities across the codebase.

  6. Deployment process: The Docker images for each service were built - code changes can’t break up the Docker images build process.

  7. Deployment process: The changes were deployed to the testing/UAT environment.

  8. QA: The changes were tested manually on a test environment that best replicates the production environment - the summary of the conducted tests is attached to the ticket (e.g. as a comment or as a link).

  9. QA: The changes did not introduce known, critical regressions.