Friday, September 30, 2011

Exercise:: Definition of Ready & Done

Assuming you are on a Scrum/Agile software development team, then one of the first 'working agreements' you have created with your team is a 'Definition of Done' - right?

Oh - you don't have a definition of what aspects a user story that is done will exhibit. Well then, you need to create a list of attributes of a done story. One way to do this would be to Google 'definition of done' ... here let me do that for you: Then you could just use someone else's definition - there DONE!

But that would be cheating -- right? It is not the artifact - the list of done criteria, that is important for your team - it is the act of doing it for themselves, it is that shared understanding of having a debate over some of the gray areas that create a true working agreement. If some of the team believes that a story being done means that there can be no bugs found in the code - but some believe that there can be some minor issues - well, then you have a great point to have a team discussion. Better at the beginning of the project, rather than right before the boss says 'ship it'. If you are having this dialogue (more than a debate/discussion - everyone is explaining their assumptions and exposing their values underlying their position in dialogue) then your team has entered the 2nd stage of team formation (Forming, Storming, Norming, Preforming) - congratulations! Now there is the second reason to create a definition of done - it moves the team along the continuum of strangers to team-mates.

One team's Definition of Done. 
Note the items on the border between
Now and Next - tacit information.
So rather than using someone else's list you want to create your own. Yes, sometimes you need a little water to prime the pump. Or you could get the energy flowing in the meeting with an exercise to get people out of their seats (you increase blood flow to the brain by 20% just by standing up) at the white board and interacting with each other. Try drawing a target (very large) - 3 concentric circles (or rectangles) on the board, label the inner most 'Now', the outer 'Later' and the middle 'Next'. That is a form of prioritization (now - > next - > later) that you want your team to become very familiar with (we use it in backlog ordering - right?). Then place stickies or index cards on the table and have someone write just one aspect of the definition of done on a card/sticky, then place it on the board in the proper location. Take turns, the next person may either - move the card to a 'better' location (now, next, later) or create a new card and post it. Play continues until we exhaust the fun in the game, or get good enough. You might want to dialogue on the aspect of growing your definition of done over time. One could easily imagine that done means something different in sprint one than it does for sprint 73 after four releases and lots of customer feedback, now that you have continuous deployment working.

If you want some cheater index cards then use mine - they are no better than anyone else's answer to a team question, but these might get a reluctant team up and interacting in the game of collaboration.

  Definition of Ready Description.pdf *NEW!*
  Definition of Ready Exercise Cards.pdf
  Definition of Done Exercise Cards.pdf
   -- by David Koontz

Not obvious in the example above is that the team used the items in the Next category to affinity group them by type, this was a spontaneous behavior of one of the team members.  It was a natural thing to do with visible information - it organized the display - and then we dot-voted to decide which items were the most important to work toward moving into the Now category of the Definition of Done.  Those items were then moved to the top area and circled to draw attention to them.  Then they worked on their understanding of the Definition of Ready - what do they believe the story must have to be ready for sprint planning.

Comparing these two charts - what would you say about this team's ability to plan?  What team member needs help?

See Also:

What is the Definition of Done in Agile? by SolutionsIQ. A great overview of the purpose and need of the DoD
An AgileGames 2013 Winner: Designing a Definition of DONE & READY

Jeff Sutherland's blog:  Ready: The Dynamic Model of Scrum

DFW-Scrum user's group Meet-Up at Sabre ( May 2012) used this exercise to hold a discussion of the 'Definition of Ready'.  Note: we used a variant of the exercise described here, designed of a general group, not a team - it worked very well.

What is the Definition of Done in Agile? - by Dhaval Panchal

George Dinwiddie's Definiton of Ready blog and InfoQ video Three Amigos (Business, Programmers, and Testers)

What are the Principles?
What do we do to truly support those 12 Agile Principles?  We mapped our engineering practices to see if we were Agile.