Often after exploring the definition of done in our Scrum.org training, and exploring its importance to promote transparency and is a commitment to the increment every Sprint. A common question we get asked is how do we get started with creating a Definition of Done?
It's not surprising a common question. Often when working with Scrum teams, we'll ask, "Where's your current Definition of Done (DoD)?". The general response is either one of the following:
- We don't have one
- Go searching for a dusty Definition of Done - "its somewhere in confluence"
- Definition of Done is a certificate - representing some activities they do in a Sprint and hasn't changed since it was created
After demonstrating the importance of the Definition of Done and a Sprint Increment, the customer should be close to obtain real feedback & validation. The same question gets typically asked.
For me, the place to start is to obtain transparency and visibility in 3 key areas
- Transparency on all the activities to create a valuable, usable increment to the customer
- Transparency on your current Definition of Done and the gap between a valuable, usable increment
- Transparency on the possible improvements towards bringing the Definition of Done closer to a valuable, usable increment
Once you obtained transparency of where you are and where your destination should be. The next step is gradually bringing some of those activities into a Sprint via inspection and adaptation. This could be the challenging part and something we’ll leave for another post.
Before we go into a bit more detail on the practical steps to achieve this transparency, let's have a quick recap on the importance of the Definition of Done.
Importance of Definition of Done
In our previous blog, Product Owners want a perfect Definition of Done. Here's why we discussed the importance of the Definition of Done in Scrum and why a strong Definition of Done has to include all the activities to be a valuable and useful increment for every Sprint. This enables transparency and supports both empiricism and predictability in our forecasting.
The sketch below nicely summarises the importance of a Definition of Done and why it needs to represent releasable. And what happens to predictability when we don't and have the increased risk of undone work:-
Creating a Definition of Done
Step 1: Transparency on what's needed to have a valuable useable Increment to your customer
The first step is to get transparency of all the activities needed to create a releasable, or valuable & useful product increment to your customer. There is a number of ways to do this.
One way is to get the team to capture a list of all activities that are needed to be done before a Product Backlog Item (PBI) is considered Done so that the increment can go Live! Sky's the Limit! Don't be constrained to thinking about what you are doing in a Sprint.
Create a sticky note or card for each activity.
This could be achieved by simply brainstorming with the team. Yet we found a useful facilitation approach to obtain is through the use of liberating structure 1-2-4-ALL. This allows a bottom-up intelligence approach and obtains everyone's input. If you are interested in exploring and learning more about liberating structures through practice, then check out the Scrum.org PSM II course.
Another useful technique is to visualise your workflow through the use of Value Stream Mapping. A Value Stream Mapping is an activity where your Team visualises and socialises the areas of efficiency and inefficiency across the whole process.
Our preference is always to execute a Value Stream Mapping (VSM) session when starting with any Scrum Team to help explore their workflow & value stream together. Any visualisation technique can be very powerful to enable understanding & collaboration - this approach is no exception. It can really help teams get on the same page & identify where the focus of improvement perhaps should be.
Being a Technical agile coach, we've been brought in to help establish Technical Excellence practices in teams that enable business agility. Teams tend to already have a preconceived idea of what they want to improve, yet they have no evidence for this. Value Stream Mapping can help the whole team explore and understand the workflow and collectively understand what is stopping the workflow from getting that value to the customers earlier as possible.
Step 2: Benchmark. What is the current Definition of Done and what is currently not included?
Next is to use all the captured activities to achieve a releasable increment to see what's in your current Definition of Done and what isn't. This enables everyone, at this point, to have a clear understanding of what is meant by "Done" and how much outstanding work there is as well, which will affect our predictability.
This step may highlight to a Scrum team the challenges ahead and entailed to have the ability to create a done increment at the end of a Sprint. And with any activity that's not in the Definition of Done, it needs to be added to the product backlog after each sprint to enable true transparency of all the work needed for the product.
They are different ways you could achieve this, but we will give you 2 possible approaches that we have picked up on our way while working with Scrum Teams. Each option is similar, with both making it clear what your current Definition of Done is and the additional activities needed to make the increment a releasable one.
- Draw 3 boxes, drawing one bigger than the next & around the previous box. It can be useful to draw these boxes in different colours. Name the first inner box as "NOW", the second outer box as "NEXT", and the third outer box as "FUTURE".
- Ask the team to go through the activities created in the first step and add all the activities they are, or should be doing, in a Sprint into the first box called "NOW".
- Then ask the team to go through the remaining activities not selected and add any activities that they think could be included in a Sprint with either little effort or permission to the outer box called "NEXT".
- Finally, whatever is left in the non-selected activities, place them in "FUTURE" outer box.
- Draw 3 lanes, labelled "Outside", "Inside", and "Definition of Done".
- Ask the team to go through the activities created in the first step and add all the activities they are, or should be doing, in a Sprint to the “Definition of Done” lane. As expected, this is their current Definition Of Done.
- Next, with the remaining non-selected items, select the items inside your team's control to move into a Sprint. Any items they can do with no or little permission. Place these items in the "Inside" lane.
- Any activities not selected go in the "Outside" lane.
Step 3: Continuously Improve towards a Definition of Done that is closer to Releasable
Whichever approach you take in Step 2, you’ll have your current Definition of Done commitment to the Sprint Increment and the possible next steps to gradually improve this towards committing to a releasable Definition of Done.
- Everything item outside the Definition lane, or box, clearly shows everyone all the activities required for the increment to be releasable, even when you say you are "DONE". Clearly showing how weak or strong your Definition of Done is right now.
- Your next steps and focus are to begin strengthening your Definition of Done, to be closer to be a releasable increment. This means looking at the "NEXT" or "Inside" items and moving them into the Definition of Done. Having these appear transparently may help raise any possible discussions or support needed by the team to bring them across and into Definition of Done.
- Once all the "NEXT" or "Inside" items are moved to Definition of Done, then its time to move on to the "FUTURE" or "Outside" items. These will likely need some organisation changes or support. Making these activities and challenges transparent early on will also help with some early discussions that are likely needed with key members or leaders to bring these into Definition of Done.
What's needed after you have this transparency of the missing gap (undone work) to have a valuable & useable Definition of Done is to inspect, adapt and move these not yet included activities into your Definition of Done.
Like further help?
We've created a mural template that puts this all altogether. You can download it from here - Create your Definition of Done. If you have any feedback on how to improve, then do let us know
If you are using Scrum to deliver a Software Product, there will likely be some challenges for a new Scrum Team to create a potentially releasable increment every Sprint. If you, or your Scrum Team, are looking for help with these challenges, then the Applying Professional Scrum for Software Development (APS-SD) may offer some help. It is a 3-day hands-on course where you will experience how to deliver quality software using Scrum with Agile and DevOps practices.
We also offer technical excellence coaching, so if you want to reach out and discuss this further, please get in contact at firstname.lastname@example.org.
Thanks for reading and if you want to learn more about Scrum, scrum mastery and product development, why not check out our courses?