To Pair or Not To Pair; That Is The Question

Had an interesting experience today. Working with different teams at the same company, I found myself advising one to pair more and the other to pair less. Strange feeling! Each team had a different type of misunderstanding about the value of pairing. One team paired 100% of the time when working on production code because it was a "rule" to be followed. They had no idea whether pairing was a useful practice for producing valuable and well-written code. The other team paired "only when necessary." They grossly underestimated how often pairing is "necessary." They understood pairing as a way to share knowledge, but they did not understand the primary benefits of developing code in pairs: Lower defects, higher quality, greater consistency in coding styles, simpler designs.

It was an odd feeling to work with two teams on the same day that had such radically different needs and different attitudes. I had to explain and encourage opposite behavioral changes. From a coaching point of view, it was a very interesting experience.

full version