DEV Community

Cover image for Definition of Done

Definition of Done

Justin Beall
Software engineer (Python/Node/Java), craftsperson, XP advocate, agile technical coach, product discovery/delivery/management/owner curious, data miner, believer in growth mindset, multiplier, servant
・2 min read

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!


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.


  • 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


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"

Discussion (0)