Our Definition of Done

Posted by Riomhaire Research on Tuesday, July 31, 2018

There are many definitiions within Agile about what it means for a piece of software being defined as ‘done’; Here is ours.

Definition of ‘done’ is:

  1. Acceptance criteria is met
  2. Code is developed to be functional, to meet the requirements and storybook is updated if necessary.
  3. Instrument eventing considered and applied where necessary for the story (Zipkin/Splunk/Datadog etc)
  4. Have added monitoring as needed on per epic basis after operational focus discussions (runscope etc)
  5. DevOps Dashboards have been created/or updated to include instrumented values
  6. Code review by peers (minimum 2 peers) (1 Internal and 1 external)
  7. Design review off built code has been completed
  8. Code should meet our coding standards
  9. Code should meet our testing standards
  10. Code coverage via unit tests are implemented and meet our standards (Minimum 85%)
  11. Code is to have sufficient and appropriate logging which if necessary uses central logging system (Kibana/Datadog)
  12. End to end tests for the User Story are created and pass (regression tests passing also)
  13. If Required Device/Web-browser testing conducted.
  14. Code has been Prettified and Linted.
  15. Any necessary documentation as needed, in Pull Request, as per coding standards
  16. Code has been deployed to production.

I won’t go into detail since if you’re a developer you should know what these mean.

we hope you find the above useful.