Reduces risk
Roy states "In addition, code written by a pair is almost always better than code written by an individual. Two heads really are better than one, especially for design decisions that affect the entire system". My argument is that it depends on the programmers skill and style. If you have an experienced programmer and a non-experienced programmer pairing than are two heads really better than one? I don't doubt that pair programming reduces risk, I doubt that it reduces risk any more than having good communication across a team of talented programmers. If you don't have talented programmers on your team, then you have other problems.....
Makes the team more productive
Again, I don't think that pair programming makes the team more productive. How do you measure productivity? Roy states, "When you feel like giving up, there's somebody else there to encourage you and keep you going. Teams are also less likely to neglect tests or other important details -- that alone increases productivity." Again, if you have a talented team of programmers who communicate well, the programmer having a problem will ask for help. There are code reviews to ensure that there is test coverage. Keep in mind....that when you have two programmers solving one problem, you could have two programmers solving two problems just as well. There is an oppurtunity cost involved that somehow disappears because Pair Programming advocates think that the code is better. Do two painters painting the same painting make the painting any better. I don't think that if I paired with Leonardo Da Vinci painting the Mona Lisa, it would have turned out any better....
Results in better code
Again....It all depends....Roy states, "Sometimes the simplest thing that could possibly work is hard until you get used to it. Pairing is a good example". I don't think Pair Programming is simple...nothing can be simpler than working on a problem and solving it by yourself....
Now don't get me wrong most aspects of XP are great....but Pair Programming only works if you have two programmers who are similiar in experience and style....
What are your thoughts...