What is "Done" in Agile?
Introduction
In Agile methodology, I could say there are only two states, either it is Done or Not Done, programmers normally think that the task is done when the coding part is completed. But this is not the case, there are many more things programmers need to take into account before saying it is done.
This article is all about the definition of "Done", and the various levels the definition should apply to.
Definition of Done (DoD)
The Definition of Done (DoD) is a must list for an Agile scrum team. Verifying your team’s DoD to ensure that all the features that you are delivering meet the criteria to provide a quality product at the end of each sprint.
It is a checklist of valuable added activities, like integration testing, coding guidelines, unit testing, release notes and design documents that add value to the project incrementally. Not a checklist to follow, but a commitment to excellence.
If we have DoD in place, the team no longer hears, are you done with this? Are you done with that? Instead the story is complete? Is the iteration complete?
DoD is not a static document, to improve the quality of the product; the inclusion of additional points has always been acceptable but not too frequently. Teams can schedule time to discuss and improve the list of retrospect, meeting or every 2 sprints. So going forward the common understanding of Done can saves teams and businesses countless hours of refactoring, process-thrash, unclear communication and hidden work.
Definition of Done (DoD) at levels
I hope the preceding picture gives you a clear view of Done at various levels. Every story completes the unit test cases/automation test cases triggered during the code commits should run successfully, it actually ensures the delivering features that are actually done, not in terms of functionality but in terms of quality as well. The following tubular column shows the other set of examples, one team can define it at the Story/Sprint/Release level
Advantages of Done (DoD)
- The team gets a clear understanding of what needs to be delivered
- Stakeholders visualize the team commitment/delivery periodically
- Potentially shippable software at the end of every sprint
Summary
Done criteria in Agile are a kind of checklist in Agile to ensure the quality in software. Done criteria can be placed at various levels, like Story, Sprint and release.