Definition of “DONE” and knowing when it is safe to sleep peacefully
As part of the preparations after the Better Unit Testing with Test Code Generation: Kick-off, we have been debating the sprint objectives, the project principles and the definition of DONE for our project. I would like to share what we have for DONE so far and get your candid feedback, so that we can eventually end up with a definition of DONE that we can share as part of our Ruck guide.
Definition of DONE (at an Epic level)
- Signoff
- Every member of the team gets veto power to say whether an Epic is ready (DONE) or not.
- PO must signoff the Epic before it is closed or the deliverable shipped.
- Design changes must be discussed and agreed to by the team, before code changes are made. PO must approve all design changes.
- All code and documentation is stored in team repository.
- Bugs
- Bugs must be triaged by the PO/PL/DL and associated with an Epic.
- Bugs should be fixed or cut. No active bugs should be carried over.
- Code
- Code must be reviewed by a peer member from the team, the dev lead, the quality testers and the PO.
- Code must be compliant with the ALM Ranger Tooling quality bar (https://aka.ms/df_tooling).
- Build
- Build and unit test automation is implemented and must pass.
- Build automation to use Gated check-in build.
- All binaries, if included in Epic, must be signed and be part of a quality essentials process.
- Test
- Unit tests must pass and achieve 80% or higher code coverage.
- User acceptance testing by testers must pass.
- Tenets
- Security - threat model must be up to date.
- Globalization - date, number formats must use regional settings.
- Localizability - display strings must be in resources.
- Accessibility - contrast mode, keyboard access, screen reader.
- User Friendly - Theming consistency (light/dark/blue), F1 Help, Update UI Roadmap, ensure new UI is reviewed by UX team.
Acronyms
PO Product Owner PL Project Lead DL Dev Lead UI User Interface UX User Experience
Thoughts?