Monday, June 8, 2015

DoD : does it really help continuous delivery?

Short Answer: Yes if done right :).

Long Answer:
We are trying to come with DoD (Definition of Done) for my teams. We came up with our DoD, which is pretty much taking care of entire 9 yard, from code to validation.  It has checks for 
  • meeting acceptance criteria
  • making sure we are doing code review
  • release check list 
  • making sure automated test in written for code
  • architectural review
  • .....
This set looks almost identical with my previous teams (may be with 10-20% variance).  After the entire exercise, I am honestly challenging myself on how much DoD would help my team in delivery? Does anybody really cares for DoD in real day-to-day work? 

I thought of gathering some understanding on the true purpose and scope of DoD. For Teams who are doing continuous deployment and development, how is this artifact relevant? 
  • Is it a reminder for us to do our engineering job i,e commit your code, write acceptance criteria or automated test cases
  • we need DoD to have one understanding of Done
  • Use to DoD to get Story Points in the same iteration vs. next
  • Is it a big checklist for us to remember our mistakes
  • It helps teams to be more disciplined
  • Improves teams credibility amongst stakeholders
  • it helps team find weakness in the system
  • It reduces the risk of misunderstanding as well as the communication gaps between the teams and stakeholders.
  • it is something else. 
Relevancy is dependent upon the context you are in... Here are some tips which worked very nice for our team in past: 
  • Automate as many check as possible 
  • Don't let it collect dust. it is not static document.
  • Break checks across all columns vs. doing it at the end.
  • Try making your DoR big, so only right stuff can entire the work pipeline. And try to keep DoD short and concise.  
Again, until DoD is part of daily ritual, I doubt, it would bring the desired result. For DoD to allow us to focus on delivery, it has to be part of our daily routine/discipline

Hope it helps

1 comment:

  1. DoD is an essential part of Agile to keep in mind when one user story is done. In example; if you have an architect that validate your code after testing he has to check the unit test coverage to reach the standards percentage set up on DoD.