Why ‘Definition of Done’ is Crucial for Success in Scrum

Published on
6 minute read

When we talk about Scrum, one of the most critical elements that often gets overlooked is the Definition of Done. It’s one of those terms that seem straightforward on the surface, but once you dig into it, there’s a lot more than meets the eye. Today, we’ll explore why the Definition of Done is crucial, how it’s independent of the solution you’re working on, and how it can be applied universally to different projects—whether you’re developing software or running a bakery!

What is the Definition of Done?

At its core, the Definition of Done (DoD) is not about the product or solution you’re creating. It doesn’t define the final outcome or how your product should look. Instead, the DoD defines the level of quality required for the product to be considered complete. This is important because the quality standards you set in your Definition of Done ensure that the work you produce is not just “finished,” but ready to deliver.

The Definition of Done helps you:

  • Ensure the product meets your organization’s quality standards.

  • Protect your customers by delivering a reliable and robust product.

  • Safeguard your brand and business from potential issues.

So, how do you create a DoD that fits any project, even when you’re unsure of the final solution? Let’s break it down with a fun analogy.

The Bakery Analogy 🍩🥖

Imagine you’ve decided to quit your current job and open a bakery. You’re going to sell donuts and baguettes—two very different products with different ingredients, recipes, and preparation methods. The acceptance criteria for each product will be specific to what they are:

  • Donuts are typically round, fried, dusted with sugar, and sometimes filled with something sweet.

  • Baguettes are long rods of dough, cut in a specific way to create that iconic twist on top, and baked to a golden brown.

While these products differ in almost every aspect, certain universal standards apply to both. These standards are your Definition of Done.

Universal Standards for All Products

No matter what you’re baking, the following things must be true for every product in your bakery:

  • 🧼 The kitchen is clean at the time of preparation – A fundamental requirement that ensures hygiene and safety.

  • 🥚 All ingredients are fresh – Fresh ingredients lead to higher quality products, reducing the chance of complaints or health risks.

  • 👩‍🍳 Each batch is taste-tested before it goes on sale – You want to make sure the product is up to standard before selling it to customers.

These criteria form the Definition of Done for your bakery. They have nothing to do with the type of product (whether it’s a donut or a baguette), but they ensure that everything leaving your kitchen is safe and of high quality.

Adding New Products, Adjusting the Definition of Done

As your bakery grows, you might add new items, like a steak pie. Since you’re now working with meat, you’ll need to add an additional criterion:

  • 🔥 Cook to the appropriate temperature – This ensures that your meat products are safe to consume and free from harmful bacteria like salmonella.

This new criterion, while specific to your steak pies, might also apply to other items if relevant. The point is, your Definition of Done evolves as your offerings grow, but it always focuses on quality.

Applying the Bakery Analogy to Software Development đź’»

Now, let’s bring this analogy back to software development. Just like in the bakery, you have different products (or features) with their own specific acceptance criteria. But what remains consistent is the Definition of Done, which ensures that everything you ship meets your company’s quality standards.

Here are some examples of universal criteria that might form your DoD in a software project:

  • 🛡 Code is peer-reviewed – This ensures that at least one other developer has validated the code for quality, functionality, and maintainability.

  • 🧪 All unit tests pass – Your code is only as good as your tests. If tests are failing, your code isn’t complete.

  • 🔍 No critical bugs remain – Before shipping, ensure there are no critical bugs that would impact the user experience or the system’s stability.

  • đź“ť Documentation is updated – Any changes to the codebase should be accompanied by updates to relevant documentation to ensure long-term maintainability.

These criteria ensure that every feature, regardless of its complexity, is done. Notice how none of these items define what the solution looks like—they only focus on the quality of the work being delivered.

Why Does the Definition of Done Matter?

The Definition of Done is not just a checklist; it’s a safeguard for your product, your brand, and your customers. It ensures that you’re not just building things fast, but also building them right. Here’s why it’s important:

  1. Quality Assurance: By adhering to your Definition of Done, you’re ensuring that your product is of the highest quality possible. It reduces defects and minimizes the risk of post-release issues.

  2. Customer Satisfaction: Delivering a well-tested, fully functional product ensures a better experience for your customers, leading to higher satisfaction and loyalty.

  3. Team Alignment: When the team shares a clear understanding of what “done” means, everyone works towards the same goal, reducing confusion and misalignment.

  4. Brand Protection: Delivering faulty or incomplete products can damage your reputation. The Definition of Done protects your brand by ensuring that everything you deliver meets a certain standard.

Practical Advice for Defining Your DoD

Defining a strong DoD can seem tricky, especially when you’re not entirely sure what the final solution will look like. Here are a few tips to help you craft a useful and effective DoD for your team:

  • Focus on Quality, Not Quantity: The Definition of Done is about the level of quality, not the quantity of features. Ensure each feature or increment is of high quality before moving on.

  • Make it Universal: Your DoD should apply to all deliverables, regardless of their specific acceptance criteria. For example, every feature should be peer-reviewed, fully tested, and documented.

  • Involve the Team: Create your DoD collaboratively. Get input from developers, testers, and stakeholders to ensure that it meets everyone’s needs and expectations.

  • Review and Adapt: Your DoD is not set in stone. Just like in the bakery analogy, you may need to adjust it as your product evolves. Regularly review it with your team and make changes as necessary.

Conclusion

The Definition of Done is a powerful tool in Scrum and software development. It’s not about defining the final solution but about ensuring that whatever you deliver is of the highest quality. Just like in a bakery, whether you’re making donuts or baguettes, the standards you set ensure that your customers are happy, and your business thrives.

So next time you’re working on a feature, remember: the Definition of Done is there to protect you, your team, and your customers. It’s not just a checklist—it’s a commitment to excellence. 🎉 Happy baking… or coding!

This is one of my favourite questions. So the question is, how do you define a definition of done if you aren’t 100% sure what the solution is going to look like? And I would say easy, because the definition of done has nothing to do with the solution, absolutely zero to do with the solution that you’re trying to create. The definition of done is the level of quality that each thing needs to meet in order for it to be an even viable solution.

Right, so let’s use an analogy because that’s always great for these things. Let’s say you’ve decided to quit your job in this IT or whatever malarkey you’re in at the moment, and you are going to go open a bakery. Right, you’re going to go open a bakery. In this bakery, you’ve decided that your new products that you’re going to ship in this bakery are donuts and baguettes.

Right, donuts and baguettes have very different recipes. One’s made with sugar and one’s made with salt. Right, so if you have these two different products that have different characteristics, you could say that you have a different recipe for each one. You have different characteristics you would like each one to be. Right, let’s call them acceptance criteria. In order for you to accept your donut as, in fact, a donut, it normally has to be round, it has a hole in the middle or no hole in the middle if it’s filled with something. Right, it should be fried and dusted with sugar. Right, donuts, very tasty.

Right, the other tasty thing is baguettes. If a baguette looked like a donut, that would be a bit weird. I’m not going to fry my baguette and dust it with sugar. Right, what I am going to do is I’m going to create a long rod of dough that then goes in the oven, and you need to cut it in a particular way to get that kind of twisty thing that you see on the top, and they need to be golden brown. And they’re not sweet. Right, those are maybe some characteristics, some definitions of acceptance criteria for baguettes.

Make sense so far? Okay, what needs to be true for both of those products in order for you to ship it? The customers, not specific to any particular thing you’re shipping in your bakery. What needs to be true for both of those things? I would suggest the kitchen is clean at the time of preparation. That would be good. You could swap that out with meeting local health standards. Right, all ingredients are fresh at the time of preparation. Right, you don’t want to be making with mouldy or poor quality products. Right, the better quality of the product input, the better quality of the output.

And each batch is taste tested before it goes on the shelf, before it goes on sale. There’s your definition of done. And those three things have nothing to do with what your baker is creating in the bakery. In fact, I would suggest that those three things should be true for any kitchen in the world preparing any type of food. Right, once your bakery decides to add some meat products, right, let’s say you want to have some kind of pie, a steak pie or something you’re going to sell as well, suddenly you might need to add an extra thing to your definition of done, and that might be heated to the appropriate temperature. Right, because you want to cook the meat. You don’t want people to get salmonella and all of those nasty germs. You need to kill the germs.

But that new definition of done, cook to the appropriate temperature, still applies to donuts and still applies to meat. Right, so all four of those things can then be true for every single thing you create in your kitchen. That’s the definition of done. It’s about quality of the product. How do we ensure that we don’t make our customers sick, that we don’t put ourselves out of business, that we have happy and successful customers? That’s your definition of done.

So it has nothing to do with what you’re making in your kitchen. So let’s apply that to the software world. Right, what needs to be on your definition of done for you to be sure that you’re protecting your customers, that you’re protecting your brand, that you’re protecting your business, and you’re protecting yourselves? What needs to be true? That would be your definition of done.

Thanks for watching the video. If you enjoyed it, please like, follow, and subscribe. I always reply to comments, and if you want to have a chat about this or anything else, Agile, Scrum, or DevOps, then please book a coffee with me through Naked Agility.

Definition of Done Professional Scrum Software Development Agile Frameworks Agile Project Management Pragmatic Thinking

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Qualco Logo
Big Data for Humans Logo
Freadom Logo
Healthgrades Logo
Akaditi Logo
Higher Education Statistics Agency Logo
Bistech Logo
DFDS Logo
Boeing Logo
Trayport Logo
Emerson Process Management Logo
ProgramUtvikling Logo
Cognizant Microsoft Business Group (MBG) Logo
Philips Logo
Microsoft Logo
New Signature Logo
Deliotte Logo
MacDonald Humfrey (Automation) Ltd. Logo
Department of Work and Pensions (UK) Logo
Washington Department of Transport Logo
Nottingham County Council Logo
Ghana Police Service Logo
Washington Department of Enterprise Services Logo
New Hampshire Supreme Court Logo
Xceptor - Process and Data Automation Logo
DFDS Logo
Teleplan Logo
Workday Logo
Cognizant Microsoft Business Group (MBG) Logo
Boxit Document Solutions Logo