Of all the practices of eXtreme Programming perhaps the most contentious is pair programming. Partly because not everyone likes pair programming, but also to some managers it is counter-intuitive: how can doubling up resources on a task be more efficient?
There is evidence to suggest that not only pair programming more
productive , but the system has more longevity. Through collaborative learning the design improves. My experience with pair programming is that although it is harder work it is more rewarding.