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 DoDExample:
Example:
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.
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 UsSumeet is an excellent coach and can relate the subject to the day-to-day work we do. That makes our understanding easie...
I attended PSPO Training by Sumeet Madan last wakened and I must say it has been the best training ever. He did not open...
I had recently attended PSPO training with Sumeet Madan and it was fantastic! His expertise in Agile product ownership i...
Excellent way of providing the training by Preeth. Scenario based teaching approach makes it extremely easy to learn and...
I recently took the ICP-ENT (Enterprise Agile Coaching) training with an online course. The customer service was great a...
We will get back to you soon!
For a detailed enquiry, please write to us at devops@agilemania.com
We will get back to you soon!
For a detailed enquiry, please write to us at devops@agilemania.com