The definition of done, also known as DoD, is a key concept in agile development that refers to the criteria that must be met in order for a task or feature to be considered complete. The DoD helps to ensure that tasks are thoroughly planned and thought through and that the final product meets the required standards of quality.
[sc_product_cta product_title="AGILE IMPLEMENTATION GUIDE" product_description="Do you want to create an agile, flexible and fast company but you do not know where to start? The Agile Implementation Guide was created based in several years of Agile Implementations operated in Europe!" product_img="9058" cta_url="https://adaptmethodology.com/agile-implementation-guide-en?utm_source=ADAPT_Methodology&utm_medium=CTA_Box&utm_content=Definition of Done&utm_campaign=Agile_Implementation_Guide" cta_url_button_text="DOWNLOAD THE GUIDE"/]
One of the main benefits of the DoD is that it helps to align the expectations of all stakeholders, including developers, product managers, and customers. By clearly outlining the requirements for a task or feature to be considered done, everyone involved in the project knows what is expected and can work towards meeting those expectations. This can help to avoid misunderstandings and improve communication within the development team.
The DoD can vary depending on the specific needs and requirements of a project, but it typically includes items such as acceptance criteria, testing, documentation, and review and approval. By defining these criteria, teams can ensure that tasks are thoroughly planned and thought through before development begins, leading to a higher quality final product.
In addition to its role in ensuring quality, the DoD can also help to improve efficiency and productivity. By clearly defining what it means for a task or feature to be done, teams can avoid wasting time and resources on incomplete or poorly defined tasks. This can help to streamline the development process and ensure that projects are delivered on time and on budget.
Another benefit of the DoD is that it promotes teamwork and collaboration within the development team. By clearly defining the criteria for completion, team members can work together to ensure that tasks are completed to the required standards. This can foster a sense of ownership and responsibility among team members, leading to a more cohesive and effective team.
Below I am listing 15 items that teams might or might not want to include on their DoD. Some of these items are more challenging than others, but this is just a basic list of ideas that can help the teams to define their own DoD, a general guideline; feel free to pick and choose those that best apply to your situation.
X% of code coverage from Unit Test
Automated tests for the User Story are created and pass
Acceptance criteria are met
All regression testing of the product is moving
System-level Non-Functional requirements ( e.g. System-level performance) tested and passed
Software is running in the server to be defined by the team (optimally in pre-production)
Code review by peer
Technical documentation updated
User documentation updated
User Documentation is localised
Localisation for the story is done
Localisation testing is done
Marketing input is done
Legal documents are done
Beta Testing is done
Without a clear and well-defined DoD, it can be difficult for development teams to ensure that tasks are thoroughly planned and thought through, and that the final product meets the required standards of quality.
One of the main problems of not having a definition of done is that it can lead to misunderstandings and miscommunications within the development team. Without clear expectations for what it means for a task or feature to be done, team members may have different interpretations of what needs to be accomplished, leading to confusion and delays.
Another problem of not having a definition of done is that it can lead to wasted time and resources. Without clear criteria for completion, it is more likely that tasks will be incomplete or poorly defined, resulting in the need for rework or additional efforts to correct defects. This can be especially frustrating for team members who are working on tasks that are not fully understood or that cannot be completed as expected.
In addition to these problems, not having a definition of done can also lead to lower-quality products. Without clear standards for quality, it is more likely that defects and issues will go undetected until later stages of the development process, leading to more costly and time-consuming rework.
When a Scrum Master joins an Agile Team, one of the most common exercises that he should help the team with is the Definition of Done Checklist.
The Scrum Master should help the team to come up with their Definition of Done (DoD), but in the end, he should challenge their DoD, making them think a bit.
For me is clear that a story is only Done when all the topics of the DoD list are met, and the build is Green.
But how can a Scrum Master push the team push to improve the Definition of Done? The answer is very easy, he should define the Future Definition of Done and The Present Definition of Done as you can see below.
When the Scrum Master creates the Definition of Done, he should think about all of the tasks that must be done to put the story into production. They should be imaginative and include everything, even tasks that might be out of their team's control.
When they finish, they will get what I call the “Future Definition Of Done”. This is the most ambitious DoD that they can create.
The next step is to build a new Definition of Done. The team will use this Definition of Done. To make this DoD, just pick up the topics from the “Future Definition of Done” that the team can tackle at that moment.
Most probably, this will be a reduced list of what they created before.
Now they have two Definitions of Done, their job is to pick a new topic from the Future DoD. This is achieved, for example, in the Agile Retrospectives.
From time to time, the team can use the Agile Retrospective to think about, “What is the new topic they would like to include on the current DoD?”
At some point, the team will be able to move all the topics from the Future DoD to the current DoD.
At that point, the team should be very proud because they are a very mature team.
If they have topics on the Future Definition of Done that are out of their control, they can use them as usual impediments that can be raised in the Impediment Board. This might be tricky, but if you get the right support from management, you are helping the company to improve as a whole.
You are increasing efficiency by reducing the hand-overs and enabling the company to release software faster.
Overall, the definition of done is an important aspect of agile development that helps to ensure the success of a project by setting clear expectations, improving efficiency and quality, and fostering teamwork and collaboration. By carefully defining what it means for a task or feature to be done, teams can work more effectively and deliver better results.
Did you like this article?
We enable leaders to become highly valued and recognized in order to make an impact on the World by helping them to change from project centric to product led organisations, we do this by applying our own ADAPT Methodology®.
If you want to know how we can help you check the page: Work With Us.
[sc_product_cta product_title="Will You Succeed Or Fail As A Leader In Designing Your Digital Product Company?" product_description="If you want to know more about your company's digital product development maturity just take this scorecard. It will help you to identify all the different areas that you can improve and build a truly Digital Product Company." product_img="6440" cta_url="https://digitalproductmaturity.scoreapp.com/?utm_source=ADAPT_Methodology&utm_medium=CTA_Box&utm_content=Definition of Done&utm_campaign=ADAPT_Scorecard" cta_url_button_text="TAKE THE SCORECARD" /]