Agile Defination Of Done

What does Definition of Done (DoD) mean in Agile?

Definition of Done (DoD) is a clear, shared agreement within an Agile team about what it means for a task, user story, or product increment to be considered 100% complete. It ensures consistency in the team’s work and avoids misunderstandings like "I thought it was done!" It helps the team deliver high-quality, potentially shippable software.


Example: Imagine a team at SLSI Corp working on a new mobile app. For them, a user story is "done" only when the code is written, peer-reviewed, tested, documented, and deployed to the staging environment. This comprehensive checklist ensures consistency and quality across the board.

Defination Of Done

For the teams who work for shippable products, the Definition of done would contain the subset of deliverable which is needed to release to the end users. Such teams have DoD at various levels:

  • DoD for a Feature (Story or Product Backlog Item).
  • DoD for a Sprint (Collection of features developed within a sprint).
  • DoD for a Release (Potentially shippable state).

Several factors determine whether a specific activity belongs in the DOD for a feature or a sprint. The team must, most importantly, address the following question:

  • Can we do this activity for each feature? If not, then
  • Can we do this activity for each sprint? If not, then
  • We must do this activity for our release!

DOD is not Static -

The Definition of Done is not fixed forever. It can evolve over time as the team's capabilities, standards, and expectations improve.

  • In early stages, your DoD might be simple: "Code completed and tested".
  • As the team matures, it can become stricter: "Code reviewed, unit tested, integrated, documentation updated, performance verified, security checked".

Definition of Done Components

A good DoD typically includes several key components across three major areas:

  • Business or Functional Requirements
  • Quality
  • Non-Functional Requirements

Business or Functional Requirements

This means the feature does what the business or user needs it to do.

  • All user stories must meet the acceptance criteria.
  • The product must behave exactly as expected.

Quality

These are checks to ensure the code is reliable, maintainable, and error-free.

  • Unit testing is done and passed.
  • Peer code review completed.
  • Integration testing or UI testing is done.
  • No critical bugs are open.

Non-Functional Requirements

These are qualities like performance, security, scalability, and usability. Even if the feature works, it’s not "done" unless it meets these invisible requirements too.

For example -

  • Availability
  • Maintainability
  • Performance
  • Reliability
  • Scalability
  • Security
  • Usability
  • Compliance/Regulatory
  • Legal

DOD is an Auditable checklist

The Definition of Done acts like an auditable checklist — meaning it’s transparent, traceable, and verifiable. It helps the team prove that everything required for completeness has been done.

Benefits:

  • Keeps everyone on the same page.
  • Minimizes rework.
  • Builds trust with the client or stakeholders.
  • Helps during reviews or audits.

Example Checklist for "Done":

  • Code implemented
  • Peer review completed
  • Unit tests written and passed
  • Feature demoed to Product Owner
  • Acceptance criteria met
  • Documentation updated
  • Deployed to staging

If any item is missing, the task is not "done".