Agile Glossary

Definition of Done

What is Definition of Done?

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.

Also Known As

Software developers have a reputation for being somewhat careless when answering the question “are you done with this feature”? In fairness, this is an ambiguous question – it can mean “done programming” and this is generally what a developer will have in mind when answering. However, the meaning of interest is usually “are you done programming, creating test data, actually testing, ensuring it’s deployable, documenting…”.

Proverbially, to get an answer to that, the question to ask is, “I know that you are done, but are you DONE-done?”. See also “READY-ready“.

Some teams use the term “Done List” or “Done Checklist”; the less widespread term “product sashimi” offers a compelling image of well-defined slices of a product.

Expected Benefits

  • the Definition of Done provides a checklist that usefully guides pre-implementation activities: discussion, estimation, design
  • the Definition of Done limits the cost of rework once a feature has been accepted as “done”
  • having an explicit contract limits the risk of misunderstanding and conflict between the development team and the customer or product owner

Common Pitfalls

  • obsessing over the list of criteria can be counter-productive; the list needs to define the minimum work generally required to get a product increment to the “done” state
  • individual features or user stories may have specific “done” criteria in addition to the ones that apply to work in general
  • if the definition of done is merely a shared understanding, rather than spelled out and displayed on a wall, it may lose much of its effectiveness; a good part of its value lies in being an explicit contract known to all members of the team

Origins

  • 2002: an early article by Bill Wake calls attention to the possible inconsistencies arising from terms commonly used within teams, such as “done”
  • 2003: early Scrum training materials hint at the future importance of the “Definition of Done”, initially only in the form of a slide title: “The story of Done”
  • 2005: the first exercises inviting Scrum trainees to reflect on their (local) “definition of done” appear in later iterations of Scrum training materials
  • 2007: by that point the “Definition of Done” as a full-fledged practice, and as a textual checklist displayed in the team room, has become widespread

Signs of Use

  • upon request, the team can point to its explicit Definition of Done
  • the team actually uses the Definition of Done at the end of a sprint to justify the decision to count work towards velocity or not

Join us today!

Agile Alliance offers many online and in-person events and workshops for our members. If you’re not currently a member, you can join now to take advantage of our many members-only resources and programs. LEARN MORE >

Get the latest Agile news!

  • This field is for validation purposes and should be left unchanged.

By subscribing, you acknowledge the Agile Alliance Privacy Policy, and agree to receive our emails.

Additional Agile Glossary Terms

The product owner is a role on a product development team responsible for managing the product backlog in order to achieve the desired outcome that a product development team seeks to accomplish.
Three amigos refers to the primary perspectives to examine an increment of work before, during, and after development. Those perspectives are: Business - What problem are we trying to solve? Development - How might we build a solution to solve that problem? Testing - What about this, what could possibly happen?
Backlog grooming is when the product owner and some, or all, of the rest of the team refine the backlog on a regular basis to ensure the backlog contains the appropriate items, that they are prioritized, and that the items at the top of the backlog are ready for delivery.
Mock Objects (commonly used in the context of crafting automated unit tests) consist of instantiating a test-specific version of a software component.
Sprint planning is an event that occurs at the beginning of a sprint where the team determines the product backlog items they will work on during that sprint and discusses their initial plan for completing those product backlog items.
An iteration is a timebox during which development takes place. The duration may vary from project to project and is usually fixed.

Help us keep the definitions updated

Ready to join Agile Alliance?

Unlock members-only access to online learning sessions, Agile resources, annual conference discounts, and more! And when you join, you’ll be supporting our member initiatives, regional events, and global community groups.

Privacy Preference Center

IMPORTANT: We have transitioned to a new membership platform. If you have not already done so, you will need to SET UP AN ACCOUNT on the new platform to establish your user profile. Your previous login credentials will not work until you do this set up.

When you see the login screen, choose “Set up Account” and follow the prompts to create your new account. You can choose to log in using your social credentials for either Google or Linkedin (recommended), or you can set up your account using an email address.