A while ago, Sam Laing wrote a post as an exercise in questioning one’s own beliefs. I liked the idea. It reminded me of Feynman’s statement that part of the obligation of scientists is “bending over backwards to show how you’re maybe wrong”. If we don’t regularly question base assumptions, we run great risks. Today, someone I consider very credible suggested that an idea I value (the importance of getting work “done-done”) is conceptually broken. Seems like high time for me to do some questioning of my assumptions!!
As far as I understand, “done-done” means that a work item (e.g., a story) is truly done, with all loose ends wrapped up. In my experience, when you don’t clean those things up, you start to accumulate baggage. And those loose ends, for some reason, seem really easy to forget. I do it all the time: I don’t figure in time to clean up my tools and workshop after doing some work, and the next weekend starts with me tripping over the mess, looking everywhere for tools I didn’t put away, etc. Similarly I see teams call stories done, but with little bits at the end unfinished. Those bits either trip them up in the very next sprint, or accumulate and get even uglier. Essentially, I believe following done-done is about honoring the lean principle of limiting work in progress. Or, per Van Halen: “C’mon, baby, finish what ya started.”
Now that I’ve lost all credibility by quoting Van Halen (post-Roth Van Halen to boot), what might be wrong about “done-done” by this definition? (Remember, I believe in done-done, so my arguments are likely weak. I truly welcome any comments adding new arguments or strengthening existing ones. I want to understand this!)
Argument 1: My definition of done-done is simply not what folks mean by this.
Counter 1: I have no counter argument! Please steer me right! [UPDATE: Since I initially wrote this post, I have learned that I do indeed have the definition wrong. “Done-done” is apparently defined as “done coding and done testing”. In my circles, it’s simply been used as a colloquial way of saying “really for reals done”. Some people talk about “done-done-done” and even “done-done-done-done”. I agree that these other variations seem problematic in segmenting the work, maybe even taking a checklist approach (for dangers of that, see argument 4 below). So, this means this post was a wild goose chase. But I learned what folks actually mean by “done-done”. Also, writing this post helped me see a bunch of dangers surrounding focusing on even my definition of “really done”. So, big day of learning!]
Argument 2: The concept of finality inherent in “done-done” runs counter to the idea of products as continually evolving entities. Even by suggesting that bits of the work are done, we are suggesting that once we finish it we need never come back.
Counter 2: I see some validity to this. If in coaching a team I put great emphasis on done-done, I might inadvertently suggest that we never need to come back. I think that I can balance this by avoiding undue emphasis and by communicating the idea that we are done with the identified work for now. Also, I think that the team can handle switching conceptually between the idea of a small piece of something being done for now vs. the idea of the overall product continuing to grow and evolve. I also think that getting to done-done is one of the easier habits to build. As a result, one probably doesn’t need to harp on it to a harmful extent.
Argument 3: Saying something is done calls into question what “done” means, which brings up Definition of Done, which some consider a bad idea. The nuances of this idea come out in the interesting discussion between commenters and the author (Alistair Cockburn).
Counter 3: If you use it properly, I think you can avoid all the problems here. To me, “properly” means: “distance between what really got done and potentially shippable…is zero” (Cockburn); you don’t let the useful shorthand turn into a substitute for meaningful interactions between team members, stakeholders, customers; teams use it to define quality standards for themselves; and teams use it to keep themselves from gold-plating.
Argument 4: Focusing on wrapping up loose ends pushes teams to think of completing laundry lists, as opposed to achieving holistic goals. This is a strong argument, in my book. Instead of looking at the problem a user story solves for a user, you get lost in checking off a bunch of acceptance criteria boxes. As this fun, surprising, and easily replicated exercise highlights, focusing on laundry lists gets you into trouble quickly (e.g., you do the parts, but don’t actually achieve the whole). If you tell people to get things done down to the last detail, you might inadvertently push them into focusing on those details instead of the overall goal. This is indeed a major concern.
Counter 4: You can avoid this problem by building a disciplined balance between keeping an eye on the overall goal and ensuring you wrap up what’s critical before moving on. I talk to my teams about working to switch between the eagle’s view and the ant’s view to avoid the trap of seeing from only one.
Argument 5: Following on from Counter 4 (above): Once you have met the goal, you are done. What I am calling “loose ends” are not important.
Counter 5: I just can’t believe this makes sense. I mean, it’s in the details, and to sort out those details, we should have meaningful face-to-face conversations, but if you just race to meeting a goal by the narrowest definition and move on, it seems you are inviting trouble. Yes, simplicity is essential, but we are always doing some level of work beyond the barest minimum interpretation of a goal, and skipping those will almost always hurt, in my eyes.
Argument 6: “Done-done” is a bumper sticker that misses all the nuance mentioned in the counterarguments above, and therefore lends itself to misunderstanding. I have no counter for this. It’s the best argument I see. Even if no one shows up to tell me of some other argument I’ve missed, going through this exercise has taught me to be careful about slinging “done-done” around like I did in a tweet this morning. Thanks to the fellow who questioned what I typed without thinking about it!