Demystifying the Definition of Done in Agile

Feb 16 / Rumyana Dancheva
Trying to improve the way they get things done is among the primary reasons why knowledge-work teams turn to visual management. Unfortunately, too few of them have a shared understanding of what exactly they are trying to achieve.

The fact that knowledge workers are typically not great at collaborating effectively makes it even more difficult to get things done in an effective and nonetheless, efficient way. We tend to assign work to individuals, but don’t pay enough attention to what the work requires of the team.
Thankfully, Agile provides a very intuitive way of changing that by encouraging teams to develop a shared definition of done and use it to their advantage. Let’s demystify the definition of done in Agile and assist you in creating one for your team.

What is the Definition of Done in Agile?

The definition of done in Agile is a set of conditions that must be met before an assignment or a project can be considered complete. It is a collaborative definition of quality and should be agreed upon and understood by the whole team. To avoid any chance of confusion, your definition of done needs to always be visible to everyone on the team. 

We will cover the “how” part later in this article. 

The Definition of Done was created in Agile to respond to a key problem: No one actually knew what they were doing and quality suffered. Unfortunately, the DoD first used a “test last” approach, meaning they used the DoD not to drive quality, but to make sure that work was accepted in a professional way. This is a very low bar for a Definition of Done. 

An example of a test-last Definition of Done for a product development team might look like this:
A deeper generic Definition of Done would ensure that the product was delivered professionally and might look like this:

The pain of overwork and the salve of definition of done

In all knowledge work, we tend to be overloaded, partially from our own actions and partially from work pushed onto us. This causes us to hurry work to completion, so we can move onto a new, emergent request. 

Without a clear definition of done, we tend to consider our assignments complete the moment we feel we’ve finished creating the value. But we haven’t actually finished the work, we’ve just done our isolated task. We failed to recognize our work is part of a system and, as a result, we build “technical debt” (an Agile term for incomplete or shoddy delivery) in the process and release work that breaks other parts of the product.

Although there isn’t a universal definition of done, there is a north star to guide you in creating your very own: quality professional delivery. 

But it doesn’t end there. “Done” is a funny word. Done means you, at one point, were able to provide the product to the customer in a way that made them happy. But knowledge work is  a garden, it needs to be tended, we need to improve how we work. 

As your goal is to continuously improve the way you get things done, you must be aware of what done means.

Definition of done vs acceptance criteria

Although they serve a similar purpose, teams use them in a different way and scale.

A definition of done is universally applied to every item that enters a team’s workflow. On the other hand, the acceptance criteria are unique for every user story or a product feature and cover specific use cases and parameters that must be met before it is done. 

Logically, the list of acceptance criteria would be far more specific because it applies to a single user story than the definition of done, which needs to be generalized enough to apply to all stories that pass through the workflow.

We’ve already covered what would be a typical definition of done for a product feature. Let’s see what the acceptance criteria for a payment panel of an application would look like:
It would be fair to say that acceptance criteria ensure that you are creating the value that your customers expect while the definition of done guarantees that you are doing everything necessary to deliver that value. 

For many teams meeting the acceptance criteria of a user story would be the first item on the checklist that comprises their definition of done.

Why is the Definition of Done Important?

Having a clear definition of done affects the effectiveness of your process and influences the team’s efficiency of delivering value directly. First of all, it frames the process into specific dimensions and creates a system of steps that the team follows every time they start new work. 

This plays a major role in ensuring that you are effective at creating value and removes the possibility of interpretation when you ask a team member whether something is done. As a result, you can reduce the chance of misunderstanding and conflict within the team.

A definition of done also plays a major role in creating transparency and facilitates collaboration. With a proper visual representation of the workflow in place, it becomes easier to understand how close tasks are to completion and where the process needs to be improved in general.

Discover Your Team’s Definition of Done

Individual contributors' criteria for completed work will look different depending on who you're speaking to and if you leave the definition of done for your team’s tasks and projects to interpretation, you will have a difficult time getting them on the same page and keeping them there.

To avoid that, you can create and document your very own definition of done in four simple steps.

Step 1: Create a definition of done as a team

When creating your definition of done, you will need input from every professional involved in the process. Note that this means you may have to include people outside your team (silo).  

Without input from the team, a manager will be unable to create a definition that is agreeable to everybody and won’t necessarily get support and compliance from the team. A team of professionals should be able to create their own statement of professionalism.

It’s essential that your definition of done is available to everyone and that there is transparency around the reasoning behind each requirement. This way, it becomes clear why work might be held up and what needs to be done to move it forward.

Make sure that these conditions are universally applicable for every type of work that you process and ensure that everything goes through the checklist before labeling it done.

Step 2: Keep it real

Your goal here is to create the smallest system of professional quality possible. Be mindful of what you include in your definition of done. If you get carried away and add too many conditions, you run two risks:

  1. The waste of overprocessing is one of the core wastes of Lean and consists of adding more value to a product than the customer actually requires. This will harm your chances of achieving optimal efficiency and will hurt your throughput as a team
  2. Creating your own little bureaucracy. If your Definition of Done involves the introduction of many steps to check for quality, you know that it has not taken the time to define quality up-front. When this happens, your team will rightly and quietly revolt by ignoring or working around your Definition of Done.  

To avoid that, you can stick to one golden rule when defining the set of conditions that mean  “done” in your team: 

Your definition of done should cover the minimum work required to meet your expected quality level.

Remember, your definition of done isn’t set in stone, so if necessary, evolve it over time to reflect the team’s reality.

Step 3: Align the definition of done to organizational goals

One of the main purposes of having a definition of done in place is to improve the value you deliver to your customers. However, you have to ensure that it reflects your organizational quality standards and industry compliances.

Make sure you revise it occasionally to ensure that you are serving them as much as you are serving the end customer. Often this is simply seeing beyond the blinders of your team’s silo. Think about what your product actually does, not simply the completeness of your little task.

An all-too-common example, if you are building an app with a payment panel, you need to ensure that the definition of done covers both functionality and security. Otherwise, you might create an awesome product that the users love, but risk problems for your organization if a security breach occurs.

As you’re defining the criteria for your definition of done, make sure to take a step back from just the technical aspects and think about the company as a whole. Preferably, get input from stakeholders to make sure that you are complying with the organizational needs.

Step 4: Visualize the definition of done

When you have an agreement about the conditions that comprise the team’s definition of done, ensure that they apply to every task or project that passes through your workflow. 

You have several options for visualization that you can lean into when you’re socializing your definition of done with the team:

  • Put your criteria on display as separate process phases visualized as columns  on your Kanban board
  • Visualize the conditions as a checklist on every ticket you create on the board
  • List them under the Done column of your board
  • Talk about the work in your huddle / stand up in terms of your DoD (make it part of the work)
  • Always ask how they can change or be improved.

With the definition of done visible all the time, the team will constantly be reminded of what they have to do before labeling an assignment completed, which will reduce the chance of skipping a condition or two occasionally. This will also help you achieve greater consistency because every time you deliver value, you will be adhering to the same standard.

Long Story Short (aka: saving the TL:DR to the end…)

A definition of done is a list of conditions that must be met to consider a work item completed.

Having a clear definition of done is highly beneficial for any knowledge work team, especially for those involved in product development. It reduces uncertainty and boosts transparency by establishing clear boundaries for labeling anything from individual tasks to large projects done.

A good definition of done impacts both the effectiveness of your process and the efficiency of your team positively by facilitating collaboration and trust.

You can create an effective definition of done in four simple steps that ensure it is a perfect fit for your team and complies with your organizational requirements as well. To make the most of it, make sure that the definition of done is accessible to all team members all the time.