Definition of Done
Purpose
The Definition of Done ensures that all work delivered by the team meets a consistent quality standard and is production-ready. A user story, task, or bug fix is only considered Done when it meets all the criteria below.
General Criteria
- [ ] Code is peer reviewed (via pull request) and approved
- [ ] Code is merged into main branch (via pull request) without conflicts
- [ ] Code follows agreed coding standards and style guidelines
- [ ] All acceptance criteria from the user story or task are met
- [ ] No known critical or high-severity defects remain open
- [ ] Jira user story linked to an Epic
- [ ] Branch naming follows agreed conventions
- [ ] Commit messages follow agreed conventions
- [ ] Meets agreed non-functional requirements (NFRs) for performance, scalability, and reliability
- [ ] Accessibility considerations addressed from design through to implementation
Testing & Quality
- [ ] Unit tests are written and passing
- [ ] Integration and/or end-to-end tests updated where necessary
- [ ] All automated tests in the CI/CD pipeline pass
- [ ] Manual exploratory testing completed for edge cases and usability
- [ ] All linked defects resolved or triaged with agreed mitigations
- [ ] Evidence provided in test reports or dashboards
- [ ] Accessibility testing completed (WCAG 2.2 AA compliance)
- [ ] Cross-browser/device testing completed where relevant
Documentation
- [ ] Code is commented where necessary for clarity
- [ ] API contracts, schemas, and models are updated
- [ ] User-facing documentation updated if relevant
- [ ] Knowledge shared with the team (eg. Confluence, show & tell)
- [ ] Testing evidence attached to Jira ticket (screenshots, logs, dashboards, test reports)
Security
- [ ] No new security vulnerabilities introduced
- [ ] Dependencies are up to date (checked against vulnerability databases)
Deployment
- [ ] Code successfully deploys to the test environment
- [ ] Monitoring/alerting updated if needed