DEV Community

Cover image for Definition of Done
Justin L Beall
Justin L Beall

Posted on

Definition of Done

Along with the Definition of Ready, the Definition of Done is one of the fundamental states defined within the Agile software development life cycle. The Definition of Done is the soul of the entire Scrum process. The definition explicitly identifies a User Story "done state”.

The Definition of Done defines a common terminology to be used between all members (internal and external) of the team. Once defined, no one ever has to ask if something is "DONE-done" ever again!

Definition

The team agrees on, and displays prominently somewhere in the team room, a list of criteria that must be met before a product increment "often a user story" is considered "done". Failure to meet these criteria at the end of a sprint normally implies that the work should not be counted toward that sprint's velocity.

Benefits

  • Provides Explicit Accountability
    • Every user story moved into the "Done" category meets a minimum agreed-upon standard of completion
  • Creates an Overwhelming Sense of Clarity and Power
  • Prevents User Story Thrashing
  • Limits the Risk of Misunderstanding and Conflict
    • Between the development team, quality assurance, and the product owner
  • Guides Pre-Implementation Activities
    • Discussion, estimation, design

Reference

Here is a solid article that has a great formal definition from the Agile Alliance on the Definition of Done

Example Checklist:

  • Code Updated to satisfy all requirements and acceptance criteria
  • Code Properly Formatted and follows applicable standards
    • Code self-documented
  • Code Review Performed
  • Exit Three Amigos Completed
  • Unit, Integration, and Acceptance Tests Added/Updated
    • Pass successfully
    • Provide adequate code coverage
  • Documentation Created (Architectural / Design ) and made available as appropriate
  • Performance concerns have been identified, analyzed, and addressed
  • Security concerns have been identified, analyzed, and addressed
  • Metrics have been identified and addressed
  • Code Accepted by QA
  • User Story Status Updated
    • Set to "Done"

Top comments (0)