Whenever we do any work we need to have a checklist to make sure everything is completed. For instance, you want to post a greeting to your friend on his birthday. I know we are in the digital era and mail posting is an age-old trend. Still, we may want to surprise a friend refreshing an old yet gold tradition of sending a greeting card on an occasion. We might purchase a card, fill in wishes, paste the cover, write the address and despatch it. To do all this in order we may have to prepare a checklist and verify before final despatch. This is a simple task and you may think a checklist is not required.
I agree, but in the event of an agile project in the scrum way there are a lot of processes involved and hence a checklist is a must. This checklist contains all the list of work to be checked before completion and that is called Definition of Done and DoD in short. This can be set in various stages namely the feature, sprint, and release.
With this brief intro let us deep dive into technical details to give you a brief overview of DoD. However, I would like to reiterate that we have tried to the maximum possible extent to keep this blog simple to make you understand DoD non-technically.
Story Definition of Done
Technically DoD is nothing but the definition of done which means every time each acceptance criteria set is done and well defined to be in consent with the end-user. How work completion is defined is called definition of done at each stage.
DoD depends on the following things namely
•Product’s nature that is being developed - WHICH is developed
•The technology used – HOW it is developed
•Product building organization – WHO develops
•Obstacles impacting the possibilities – WHAT challenges faced
Story definition of done is looked at from a service context and DONE refers to the task that is assigned under the user story which gets completed and this created work is added to the user story letting the PO review and confirms if it meets the end-user needs.
The development team and the PO agree upon the work to be completed in every user story and that is called the DoD of a user story.
Benefits of DoD
•It measures the quality and not just the functionality which means it is just not a checklist but a detailed check is done to confirm the end product quality is satisfactory to the user.
•It evaluates the value-addition done at the time of completion of each activity. This means that just completion will not suffice but value addition is the key.
•It is applied to all sprints universally and hence there is a uniform process across which leads to transparency.
•Redo work is completely avoided as everything is checked internally before the product is shipped to the customer.
Specific to the organization what does DoD offers
It communicates the management that a shared commitment is done by the entire team for quality work with the following characteristics.
•Working software is delivered periodically
•Velocity is achieved consistently at par with the quality standards
•Discipline and information drive velocity
•Software fit is defined for a purpose
•PO and the entire team work together even take ownership of delivery and quality
How to check product backlog with DoD
The infographic given clearly explains the right way in which DoD manages the product backlog. It is the responsibility of the PO to make sure that every user story is defined clearly which will let the dev team understand and work accordingly.
Types of DoD
There are three different types of DoD and they include the following which is explained in detail.
1.Definition Of Done For A Feature
The most basic level of DoD is for the feature. Here we will check for the understanding of the team with the assumptions of every backlog item that is described. Here we further control the code quality and ensure if all the required components for the process are carried out. The feature is the strategic layer and user stories are for execution. Therefore we can use the term user story instead of feature moving forward as user story is the standard term used in the scrum.
2.Definition Of Done For A Sprint
The intermediate level is the sprint in which we ensure work check at a higher level. We do this by checking if we have implemented all the user stories in such a way that they fulfill the assumptions. Also, we confirm whether it meets all the conditions before production deployment.
3.Definition Of Done For A Release
This is the final and the high-level stage which includes a check for both user story and sprint. However, agile being an iterative process, this check will be specific to release as only if they passed sprint they can reach this stage. Sprint retrospective feedback is collected to make a detailed checklist for a release.
Definition Of Done Checklist - Definition Of Done Examples
We have been talking about checklist all the while and now the time has come to find what will be present in a checklist. We are known in a layman term that a checklist will contain few things which need to be checked against to make sure everything is done per the plan. There is no universal DoD and you can prepare based on your situation.
We have provided an example for DoD for a user story, sprint and release for your reference. You can add and remove details to suit your needs. These are some Definition Of Done Examples at each stage for your ready use. You can include additional checks and make it lengthier based on the steps you follow in your development phase.
Code produced for the functionality assumed
|Whether DoD of each user story is met||Code completion|
|User story assumptions met||To do completion checked||Release environment made ready|
|The project built and is error-free||Unit test passed||Unit test checked and green|
|Unit test is written||Product backlog updated and checked||The functional test checked and green|
|Unit test passed||Project deployment on test platform identical to the production platform||QA done, issue resolved if any|
|Project deployment on test platform identical to the production platform||Test on device or browser based on the project assumption||To do annotations - resolved |
|Test on device or browser based on the project assumption||Performance test passed||All teams members approve work|
|UX designer approves feature||Bugs fixed||No work left pending in any stage is checked|
|QA done, issue resolved if any||Sprint ready for deployment approved by PO||Continuous integration and TDD verified|
|Feature testing is done against acceptance criteria|
|PO approves the feature|
|Documentation for build change and configuration|
|Peer code review carried out|
What Is Definition Of Done In Agile?
Definiton of done Agile or dod agile means a simple artifact which adds clarity to the feature’s done statement. In simple words, it is the reporting mechanism used for the team members. DoD is the primary reporting mechanism for team members in agile because it is used as the reference to help all team members to stand in one platform. They can check the work progress iteratively and move forward till the PO approves the product for shipping.
Definition Of Done In Scrum
Definition of done scrum means meeting the expectation of the end-user in delivering a product. Scrum sets a high expectation to all team members and hence the end product delivery will have supreme quality. Therefore, when the product is delivered to the customer there cannot be any chance for a redo work as religiously following the DoD checklist will ensure potentially shippable products.
DoD informed by reality
The team should answer the following questions realistically to make sure that DoD is achieved in practice.
1.Whether the activity is doable for each feature?
2.Whether the activity is achievable for sprint consistently?
3.The activity must be completed for the release
Based on the real answers the team can work together to achieve the goal. Therefore DoD allows the team to inform and accept reality and there are no last-minute surprises possible.
Done Vs Done-Done
We have seen DoD so far and there is something called Done-Done. This is nothing but the team ensures everything is done perfectly from the customer point of view at the sprint level. Which means a double confirmation at the sprint level and unlike DoD confirms only at the release stage. It can also be called as Definition of Ready (DOR) at every stage of the development.
DoD Is Not Static
It is obvious that DoD is different for each situation and also it changes with time. The team decides to include and remove doable items at each feature and sprint. Finally, the PO checks the DoD to confirm if it meets the release criteria. Therefore DoD being dynamic allows everyone to work collaboratively and complete the process.
DoD Is An Auditable Checklist
We call it a checklist that did not mean that it cannot be changed at all. Thus there is a periodic audit conducted to add and remove impediments from the checklist. The main purpose of the DoD is to check whether the required value addition is done to find the quality. Meeting functionality is not the criteria but the quality is the key focus of DoD.
The auditable checklist gives room for continuous improvement and the team will consciously make a call and make a decision about the applicability of the value addition in each user story/feature.
In a nutshell
DoD is a complete collection of deliverables that adds value to improve the quality of the product developed before shipment. It is informed by reality and hence it confines the activities based on the realistic commitment of the team to complete work at each level namely feature sprint release.
Now, you have understood many things theoretically about a DoD. We have provided an example of DoD in all stages. However, we would want to make it more interactive and hence we are giving you one exercise to try with your team. Yes, this how we provide Scrum Master Training with examples and interactive sessions to make you master all scrum concepts.
Things required for DoD exercise
Get your team, post-it, a pen, and a conference room.
Steps to be followed
•Brainstorm to decide on assumptions with the team
•Categorize the sessions and discuss DoD
•Sort the DoD into user story, sprint, and release
•Make the checklist and let the entire team agree upon.
This will help you and the team to understand DoD and prepare an auditable checklist on your own and not copying from other sources.
Define Do and Get Going!