  It only takes one person to drive a car. It only takes one person to drive a boat. It only takes one person to program. That's common knowledge. Or is it? This weekend I watched a documentary about offshore racing on Discovery. What amazed me was the fastest type&#151;the catamaran. In the catamaran there was not just one driver, but two. One took care of the steering, and one took care of the speed. The two drivers had different focus&#151;the one steering was focusing quite far ahead, whereas the one controlling the spead was focusing just in front of the boat, adjusting the speed for the nearest waves.
This got me thinking about rally. In rally there are also two persons in charge of getting the car to the end of the course. And even here they have different focus&#151;the driver who makes sure he steer the car according to the road ahead, and the map-reader who looks further ahead on the map. You could say there are a tactician and a strategist in both cases. What got me starting on this is of course urlLink pair programming . Pair programming share the same pattern as the examples above, where the driver is the tactician, and the observer is the strategist.
But what makes these cases different from when there are one person performing the activity? The first thing that comes to mind is the speed (the catamaran and the rally car are both quite fast, at least in compariason with normal boats/cars). But I don't think that speed is the reason for pairs. When you go fast, the acceptance for misses are quite small.
Hence, when you need high quality you might want to look into a pair approach. I guess this is why urlLink XP is using pair programming, since it doesn't allow anything but full quality. I guess there are a lot more to say about the issue, but I'm too tired now (apologies if this entry seems confused, I can always blame it on my urlLink illness :-) ). Perhaps I will pick this up later on. 
