04 April 2008
I was teaching a Certified ScrumMaster course recently and the discussion of “done” came up. I love this topic, it is one that I am very passionate about.
The analogy I use when I think of what done means to me is around wrapping gifts. For this example, we’ll consider Christmas gifts, where done equals a wrapped present under the tree, with a nametag on it, making it potentially shippable – I can add the bow and ribbon later – the additional features required to really wow my customers. The story goes like this.
My wife and kids are heading out to the mall and will be there for at least two hours, maybe more, but I now have a two hour window that I know will be safe to wrap presents.
Once the family leaves, I go to the secret hiding place and remove all of the presents – all of them – and put them in a large stack in the corner of the dining room, where I will be wrapping the gifts on the long dining table. I can fit at nearly 25 gifts on the table, it is very efficient.
I start by laying out as many unwrapped gifts as possible on the table, like in the picture below.

Once I have all the gifts laid out, I start cutting individual pieces of paper and place them underneath each gift, like in the picture below – the dotted line box under each solid box represents wrapping paper for that box.

The next step in my efficient process is to fold each piece of paper in half, on the top side of the box, so that each box now has paper around it, held together by a piece of tape. Once I complete this step, I will fold one side of the two remaining sides that need to be sealed to call each wrapping job complete.
But wait, I hear a car drive up to the house. Our neighbors have the same model car we have and I think it is the neighbors car. It is not until I hear voices, the voices of my kids that I start to realize how screwed I am – THEY ARE HOME EARLY! If my kids walk in and see the half-wrapped presents on the table, not to mention the stack of presents in the corner, my wife will kill me – because we will double our present budget because the kids will discover their gifts.
I sprint for the hall closet, grabbing blankets, towels, anything that I can use to cover the half-completed work. I get the presents on the floor covered, but not the presents on the table, they are goners as the kids run in, see them and say “is this for me daddy?” My wife scowls at me, I think it is because I forgot to tell her that I would be wrapping presents so that she could call first. Instead she was mad at the process I was using.
A person in the CSM class highlighted that the process I was using was very efficient. I agree. What do we lose, however, when we strive for gains in efficiency?
When we strive to maximize efficiency, we sacrifice our ability to be agile. What I failed to realize in my example above is that I was sacrificing my ability to adapt and respond to change – my ability to be agile.
A better way to wrap presents, and I think most will agree with me, would be to wrap one present at a time, make it potentially shippable by meeting my done criteria of putting it under the tree, and then move on to the next. I can batch this work in chunks of two to three gifts at a time if I choose. The effort it takes to wrap each gift will determine how many gifts I select for each gift wrapping cycle I do – it could be that, for the big boxes, I will only batch one at a time, but for the small things that I can fit in my hand, I will do eight at a time. What I am mitigating is that if my family returns home unexpectedly, I can show value, as defined by gifts under the tree, and I can take the work in progress and revert it back to its last known good state (put the boxes back in the bag, half wrapped or not). The time to revert back is short because I am not biting off more work than I can handle in a cycle.
This process may not be as efficient as the one above, but I am not willing to sacrifice my ability to adapt and respond to change because the end costs can be very, very damaging, far more than the perceived gains in efficiency.
When this is applied to business, we need to ask ourselves, what are we striving for - efficiency or the ability to be agile? If we are agile, we may not be as efficient as our competitor. In software, I find that the ability to respond to
change is a far greater corporate asset than having the employees of the company run as close to 100% efficiency.
How about it? What does your company value? Agility or efficiency? You can’t have both.
