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