Last year I wrote a blog post titled, “The Pair Programming TDD Game” where I described a way of doing pair-programming combined with TDD that changed the focus of the pair from one of “driver-navigator” to something more like “designer-implementer”.
Since then Brad Wilson and I have presented this concept (often with the help of our good friend Mitch Lacey) a number of times around Microsoft and in other forums, most recently at the Agile 2006 conference in Minneapolis.
After that session (which was very well recieved) Brad, Brian Button and I were talking and we decided that this technique needed a new name. A number of interesting proposals were named, but in the end the one I decided best described it was “Micro-Pairing”.
So, from now on that is what we will call it. Brad and I have evolved the thinking behind this quite a bit from that first blog post, and will probably be writing more on it soon enough.
For now, here are a few write-ups and reviews of our Agile 2006 talk:
- Jo Cranford
- Brian Button
- Brad Wilson’s post-moretm of our presentation
- Brad Wilson’s picture of the Micro-pairing State Machine
PS. For those who see a similarity to “Ping-Pong Programming,” _place_holder;we acknowledge that but we are very clear to point out that Micro-Pairing is more like a subset of ping-ponging because it provides more prescriptive guidance about how to pair, when to switch roles, and the part negotiation plays in the process.