The definition of ‘Done’ probably is the most misunderstood concept of the Scrum framework. In this article, we will learn some common dysfunctions or antipatterns associated with the Definition of ‘Done’ and also certain tips or remedies to overcome these.
Previous Article
Previous Article: Definition of ‘Done’: What It is and How It Supports Scrum Events, we discussed
- What Is the Definition of ‘Done’
- How it can be used in Scrum Events
I would highly suggest reading that article first.
Let's discuss some common dysfunctions or antipatterns related to it.
Common Dysfuncitons or Antipatterns
Below are a few key dysfunctions or antipatterns I have observed in my experience and have tried to describe how to overcome-
- Not having a practical & pragmatic Definition of ‘Done’-
One of the critical root causes for not having or following a Definition of ‘Done’ is that- ‘it is not being practical and pragmatic in that moment of time’. Many organisations/teams adopt a Definition of ‘Done’ which is hard or in many ways impossible to achieve with a Scrum Team’s skills and experience. This sometimes leads to a belief that it is optional and Scrum teams stop following it.
💡Tip: To overcome the above, sometimes it is better to start with a less stringent Definition of ‘Done’ which is practical and achievable by the skills available in the Scrum team. First, Create a skills matrix (not job titles). Identify the missing skills or where they need more experience. The key here is to craft a Definition of ‘Done’, which is actionable in that moment of time.
🔥Caution: Try to quickly extend the Definition of ‘Done’ otherwise team will start accumulating the technical debt or a not-usable or valable increment which will be very difficult or costly to repay.
2) Not Inspecting and Adapting
Another common mistake that Scrum Teams make is not inspecting and adapting the Definition of ‘Done’ regularly.
Geoff Watts quoted in his book Scrum Mastery
A good Scrum Master help the team to meet the Definition of ‘Done’ at the end of the Sprint. A Great Scrum Master help the team to extend their Definition of ‘Done’. — By Geoff Watts- Scrum Mastery.
Inspection & Adaptation is core to the Scrum framework and this applies to the Definition of ‘Done’ as well. During the Sprint Retrospectives, Scrum teams should adapt the Definition of ‘Done’ based on their own experience during the Sprint and the feedback received during the Sprint Review or from the market.
💡Tip: Make the Definition of Done a must topic for Sprint Retrospective. Ask a few questions, such as:
- What could be added to the current Definition of Done to improve quality?
- What changes we can make to our internal team processes that can improve the quality of the Increment?
- Are we missing some critical skills that are coming our way to create a usable and valuable Increment?
A few ideas may emerge from these questions such as Code reviews, Automation, Release Notes, Refactoring, Pair Programming, No known defects etc.
3) Not Having A Clear Definition of Workflow
From: Professional Scrum With Kanban ( PSK) course by Scrum.org
When Scrum Team don’t have a clear Definition of Workflow, they struggle to understand how value flows from an Idea to an Increment. Individuals focus on completing the tasks associated with them. There is not enough emphasis on ‘Done’ or the team doesn’t work as a single unit. The definition of ‘Done’ play a huge is building a ‘Time Goal over Individual Goal’ mindset.
‘Done’ is binary. Either it is ‘Done’ or ‘Not Done’. There is nothing like partially done, my part done, 90% done etc.
💡Tip: When you are building the Definition of Workflow, think about
- How do we get to the ‘Done’ as a team?
- What are the key activities we involve in?
- Where are the handoffs?
- Can we build some quality constraints at hand-off points?
A clear Definition of ‘Done’ also includes Work In Progress (WIP) limits. This further helps in getting to ‘Done’ Increments.
To learn more about Workflow & WIP limits, please have a look at Scrum.org’s Professional Scrum With Kanban course.
4) Single Product-Multiple Definitions of ‘Done’
If there are multiple Scrum Teams working together on a product, they must mutually define and comply with the same Definition of Done. Scrum Guide 2020.
In many cases, multiple teams work on the same product. In such scenarios, having different Definitions of ‘Done’ for each team can create integration issues and chaos.
A Story From the Trenches
I once worked in a single product-multi Scrum Teams setup. Teams were having their own Definitions of ‘Done’.
Our team included security testing as one element of the Definition of ‘Done’. We were making sure we are following Security standards and policies. However, there was a team that didn’t include that in their Definition of ‘Done’.
Though our work was getting integrated regularly, my team was running security scans only on the features created by our team. The Product Owner thought that Increment was in good shape and decided to release the product to our B2B client. The client hired a third party to do a neutral inspection of the product. The third party did exhaustive testing and found some serious security vulnerabilities such as XML injections. It created a chaotic situation for our product and we almost lost one of our key clients.
When multiple teams work on a single product, teams should adopt a common Definition of ‘Done’ for their combined Product Increment. If teams have not integrated their work by end of the Sprint, it should not be considered as ‘Done’.
Definition of ‘Done’ is for the product Increment and in case of single product-multiple teams scenario, this must apply to the integrated product Increment.
5. Copy & Paste the Definition of ‘Done’
Each Product is unique and hence may require a unique Definition of ‘Done’. Simply ‘Copy & Paste’ will not work. Scrum Teams need to go beyond that.
Yes, the Definition of ‘Done’ will be driven by the organisation and it will have standards and quality required by the organisation. But, Scrum Teams need to add their uniqueness to the product. Different products require different product qualities. Scrum Teams’ technical practices and processes may vary as well. Some processes and practices that work really well with one product, may not work the same way with the other product.
There are no Best Practices in complex world such as product development.
Take inspiration and don’t blindly follow others. Check which of the items from the other Products’ Definition of ‘Done’ can work in your environment.
💡Tip: Think about what is required for your product to be usable, valuable and potentially releasable.
- Start backwards from collecting and analysing key customer/user metrics.
- Think about the qualities that customers may expect from your product.
- Think about the quality that your organisation expect from your product.
- Think about regulations, audits and other governance that needs to adhere to.
End-Note: The Definition of ‘Done’ enables a high level of transparency in the Scrum framework. It builds a shared understanding across all interesting parties such as Scrum Teams and stakeholders. It ensures quality. However, reaching a good Definition of ‘Done’ is a journey in itself. The definition of Done is emergent. It is not static. It is dynamic and gets better over time. It requires frequent inspection and adaptation. It is the Scrum Team’s commitment towards high-quality Product Increment.
Vision To Value
Why Not Subscribe To My Newsletter 'Vison To Value' where I share weekly nano-tips to deliver value to users, teams and organisations?