our Definition of Done hasn’t been reviewed or updated for a while. Some of the points are no longer relevant (e.g. we don’t have component leads), and as such we would like to propose several changes to make our DoD up-to-date and relevant.
After updates, we would want to start monitoring it more rigorously, with a checklist attached to the Jira issue.
The current DoD is
1. Functionality described in the story is implemented and accepted by the Product Owner. Technical tasks are accepted by the Component lead. 2. Unit tests are written for any new code 3. Updated RESTful interfaces are included in test automation 4. Code has been peer reviewed, committed to the development branch and builds clean 5. Story has been reviewed via the TEST or UAT build (not on a dev box!). 6. No open "Blocker" or "Critical" bugs are open on the story (e.g. bugs found during testing) 7. CHANGLOG entry is added for all services impacted during work on ticket. A Definition of Done (DoD) for Bug is following: 1. **1-7** from above apply. 2. New unit tests are added that wouldn't pass before fix, if possible. 3. Bug root cause analysis is done and the Bug Root Cause Analysis page is updated.
Here is the updated DoD we propose (changes in bold).
- The functionality described in the story was implemented (or bug fixed) according to the provided acceptance criteria or reproduction steps.
- Test coverage for any new or modified code is at least 80%.
- Updated RESTful interfaces are included in test automation.
- Code has been committed to the development branch and builds clean on CI server (including tests and static code analysis)
- Code has been peer-reviewed by at least one person who wasn’t directly involved in the development and the code review feedback was addressed.
- Story has been reviewed via the TEST or UAT build (not on a dev box!) and the summary of the conducted tests has been attached to the ticket.
- No open “Blocker” or “Critical” bugs are open on the story (e.g. bugs found during testing).
- CHANGELOG entry is added for all services impacted during work on the ticket.
We have also been wondering about the relevance of the Bug root cause analysis page from the DoD for bugs (https://openlmis.atlassian.net/wiki/spaces/OP/pages/113248022/Bug+Root+Cause+Analysis). Given that we often work on bugs that were reported several months or years ago, diving deep into the cause of those bugs back then might not bring much value. I’d propose that we either drop it or only include new regressions in this requirement.
Please let me know whether you have any concerns about the updates to DoD. Given there are no objections we will make those updates go live next week.