Sumeet Madan
With a remarkable 18-year tenure in software engineering, agile training, coaching, and consulting,... Read more
With a remarkable 18-year tenure in software engineering, agile training, coaching, and consulting,... Read more
The Professional Scrum Master (PSM-I) workshop has a module that talks about DoD and Technical Debt, and I have often come across students who are confused about this concept. This article is a small attempt to have more clarity on these topics.
Let's take DoD first As stated in Scrum Guide, the Definition of DONE (DoD) is – The Definition of Done is a formal description of the state of the Increment when it meets the quality measures required for the Product.
The moment a Product Backlog item meets the Definition of Done, an Increment is born. The Definition of Done creates transparency by providing everyone a shared understanding of what work was completed as part of the Increment. If a Product Backlog item does not meet the Definition of Done, it cannot be released or even presented at the Sprint Review. Instead, it returns to the Product Backlog for future consideration.
In short, DoD is a shared understanding within the Scrum Team on making your Product Increment releasable.
DONE = Releasable
Everything in this universe that is meant for delivery has DoD
and so on…. When we talk about Product Development (considering the system/software/solution), the DoD consists of 2 main components:
The business requirements assumed to carry value in the Product as functionality may be written in the form of User Stories and has the acceptance criteria.Example:
These are the quality characteristics or attributes of the Product that may not add direct business value but without which your Product can't move. These quality assurance attributes of the Product can also be considered under the quality component.
Example:
NFRs usually take their place in acceptance criteria or the Product Backlog as Product Backlog Item (requirement) but are the key for Product success and hence are part of the DoD too.
Quality is more aligned with the coding language or RAD/technical tools to build the Product. The developer owns the quality to ensure the Product is of the maximum quality. These quality standards can be subjective and data-driven.
Example:
and so on… The Definition of Done for an increment is usually part of the organization's standards. If it is defined at the organization level, then all Scrum Teams must follow it at a minimum, but if not, the Scrum Team must create a Definition of Done appropriate for the Product. The Product Owner can influence the Definition of DONE, but the Scrum team has the final say on this. A few examples of DoDs (New to Mature and Stringent)
Do we need everything as part of DoD?
Well, it depends on the nature of the Product's business, but the Definition of DONE concludes the Increment as potentially releasable. Therefore, whatever it takes to make an Increment releasable must be included as criteria in the DoD.
Do we need to have all these parameters from the first Sprint?
Well, the Product evolves as we learn more about it, its usage, and the competition. With the evolving Product, it's a mandate to ensure the quality and the user experience. It may so happen that the Scrum Team(s) starts with a LEAN DoD, and then DoD evolves as the Product evolve, and more is learnt.
Do we need to have DoD at the Product Level, Sprint Level, or Story Level?
Well, the moment a Product Backlog item meets the Definition of Done, an Increment is born, and it's the Product or its features that get released to the market or end users; hence, the DoD is at the increments level of the Product.
But as we are working with Sprints, every Sprint must create a releasable Increment of Product, and this means the DoD needs to be met every Sprint to make the Product Increment releasable.
The user stories are part of your Sprint deliverables, so to make every story releasable (functional releases) as part of the Product, that must meet the DoD of the Product.
If multiple Scrum Teams are working on the same Product, then this may so happen that each Scrum team has its own DoD, but the combined or the integrated work of all the Scrum Teams must meet the DoD of the Product, which means their combined/integrated work must be releasable.
How does DoD raise transparency within the Scrum Team?
Well, DoD is a shared understanding within the Scrum team on what DONE Increment of Product means, increasing transparency in the Scrum Team. But, if we consider the DoD as just a checklist for the Developers to complete their work, then this may be barely a checklist document for the sake of having it, and this type of DoD hardly evolves or is refined.
This results in low confidence within the Scrum team to declare a Product as DONE/RELEASABLE, and this also makes the Increment of low quality and non-releasable with a pile-up of UNDONE work.
What is the impact if DoD is not defined?
Well, there is no transparency on if a Product increment is releasable, there is an impact on the estimations or leads to unrealistic estimates, inaccurate forecast on Sprint work, the difficulty for the Product Owner to understand the progress on the Product, inefficient inspection and adaptation at Sprint Review and finally, the DoD can impact Product's total cost of ownership.
What is UNDONE in the context of DoD?
Well, UNDONE work refers to anything that is not completed, as mentioned in the DoD, to create a releasable Increment.
What is the difference between a shippable and a releasable Increment of the Product?
Well, shippable refers to some undone work (mostly related to approvals) stopping the Product Increment from being released to the market. So Shippable is like Almost DONE, which can be referred to as the Definition of Almost Done (DoAD).
It's like we are DONE with the work, but the work is pending approval from UAT or Compliance or Legal, or some Documentation is pending. So in this scenario, your Product is not releasable, but the team refers to that as shippable.
This is also popularly known as DONE (Shippable) and DONE (Releasable). So I mean to refer to your work as "DONE" or "DONE DONE", where the first is referred to as Shippable and the latter as Releasable.
Many definitions of "Done" focus only on development activities, where such activities hold no guarantee of high quality.
The key components include functional and non-functional requirements, coding standards, testing, and quality metrics.
Yes, the DoD can evolve as the Product matures, ensuring that it continues to meet quality and business standards.
If it doesn’t meet the DoD, the Product Backlog item cannot be considered DONE and must return to the backlog for further work.
Without a DoD, there is a lack of clarity about whether the Product Increment is releasable, leading to unrealistic estimations and poor quality.
With a remarkable 18-year tenure in software engineering, agile training, coaching, and consulting, Sumeet's expertise is unparalleled. As a certified Professional Scrum Trainer (PST) from Scrum.org and a distinguished SAFe® Practice Consultant (SPC), Sumeet brings a wealth of knowledge and skill to every project, making a lasting impact on organizations seeking to embrace Agile methodologies.
WhatsApp UsWe will get back to you soon!
For a detailed enquiry, please write to us at connect@agilemania.com
We will get back to you soon!
For a detailed enquiry, please write to us at connect@agilemania.com