Avoiding Inertia
Michael Hill has produced a lovely essay about how TDD and Pair Programming ensure that the internal quality of your code doesn't cost you in future productivity. It is often difficult to grasp the benefits of TDD and Pair Programming due to the inevitable short term perceived hit in productivity. It is extremely important to recognise that the short term hit is however producing the desired side effect of highly maintainable code as a natural byproduct of producing high quality, well tested, simple code.
http://anarchycreek.com/2009/05/26/how-tdd-and-pairing-increase-production/
More Reasons to Pair
Pairing is perhaps the hardest sell of the agile practises, so it is extremely refreshing to see yet more compelling evidence, courtesy of Mark Needham, of how pairing is extremely effective, in this case in the context of a large-scale refactoring (although I wonder just how the business assigned value to this activity).
http://www.markhneedham.com/blog/2009/05/26/pair-programming-refactoring/
I would concur that refactoring is much more effective while pairing and it is often while refactoring that patterns emerge which makes up for the lack of upfront design, so having more than one brain looking for patterns will ultimately lead to better code...
Pair Programming from the Trenches
On a recent gig for exoftware I introduced pair-programming to a (very) small team and over the course of the engagement we held regular retrospectives specifically about how the pair programming was going. This was very much an exploratory exercise for a substantial company and the findings were extremely encouraging. To really benefit from pairing does require some major organisational and cultural changes and this is very early days, but fingers crossed...
Of course, when pair programming is done well, with a group of experienced developers the benefits are enormous, and if you're wondering what pair programming really means, then the following article from Rod Hilton sums it up extremely well...
http://www.nomachetejuggling.com/2009/02/21/i-love-pair-programming/
This not only provides an insight into the life of someone doing pair programming, but also hints to the true benefits of pair programming, which is always a tough sell...