Ads Here

Monday, October 25, 2021

Definition of Done (DoD)

Definition of Done:

Definition of Done (DoD) is a checklist that confirms and helps Product Owner to accept a work item as part of the Sprint execution.

Checklist:

In general, checklist is a list which helps us to track the list of items that are required to complete a task or work.

Checklist

Checklist


 Let us consider a scenario:

Its my friend's birthday. I went to a close by cake shop to order a wonderful Birthday cake. I paid more attention during the order because i am expecting certain things as part of the cake to call it a birthday cake like colorful candles, wonderful birthday message on top of the cake. Hurray order is done!

Cake shop - Order Birthday cake

Cake shop - Order Birthday cake

I visited the cake shop to get the birthday cake for my friend. When i opened the packet, i was shocked. Of course cake was there, but no candles, no birthday text on top. I cannot call it as a birthday cake. According to me, even though it is edible, i cannot say its a birthday cake. 

Birthday Cake - Done

Birthday Cake - Done

I call "Done", when Birthday cake has all the required attributes like Candles, Birthday text. 

DoD a checklist: 

Definition of Done - Checklist

Definition of Done - Checklist

Definition of Done is a checklist which helps Product Owner to accept work items like User Stories, Technical Debts, Spikes and Defects which are part of Sprint execution.

DoD - Who, When, What, How?

DoD - Who, When, What, How?

DoD - Who, When, What, How?

DoD checklist is prepared by team which is facilitated by Scrum Master. For a new team, as part of defining process, Definition of Done checklist is written.

During Backlog Refinement meetings, team clarifies all open questions with Product Owner. Team also consider all the relevant points related to "Definition of Done" before estimating a work item. If team feels certain attributes of "Definition of Done" is not applicable for this work item, it should be discussed. (Example: Its a Defect related to Documentation, in such cases Code Coverage and Design of Unit Tests is not applicable)

During Sprint execution, team ensures all "Definition of Done" checklist items are met. Its not only about Coding, it is also about all other attributes like Designing Unit Tests and meeting certain code coverage (which is set as guideline), follow the review process, successful completion of Acceptance Tests (Acceptance Tests are tests that are designed against the Acceptance criteria of the work item), creating relevant documentation etc.

Product Owner will accept the work items only when it meets all the checklist items of "Definition of Done". If few of the items are missing, Product Owner can very well reject the work item until the team fulfills the checklist.

In nutshell, if requirement is a birthday cake, the delivered item should make the item as a birthday cake with all the relevant attributes and not just a cake. In similar way, coding and development is different. "Definition of Done" will ensure the Development is complete with coding being a part.

Sample DoD Checklist:

  1. Designing Unit Test Cases and achieving "X%" of Code coverage

  2. Acceptance Tests passed

  3. Review comments got updated and closure of work item's review process

  4. Documentation update

Who can change the DoD and when can DoD be changed?

Definition of Done checklist is a dynamic checklist. It is not a static checklist in which once defined, no one can change it later.

Retrospective Meeting

Retrospective Meeting

Definition of Done checklist can be updated during Retrospective meetings. As part of continuous improvement, it is the responsibility of the Scrum Master to visit the Definition of Done checklist during the Retrospective meeting and collect feedback from team about the required modifications and update the checklist.

 


 

No comments:

Post a Comment