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)image

  • 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 (http://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?