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 which 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 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

References

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"

Get In Touch

We'd love to hear from you! Whether you have a question about our services, need a consultation, or just want to connect, our team is here to help. Reach out to us through the form, or contact us directly via social media.


Previous
Previous

Getting Docker Running On AWS

Next
Next

Proper CRUD