I think one of the contributors to the productivity increase is that it makes you focus more. If I could write code for two hours straight on my own without checking email or the web ? something I wouldn?t do when I?m using someone else?s time, too ? I suspect I?d get more done.
Craig has his this one right on the head. I do believe in Ron Jeffries statement that pair programming is like programming with a 300 IQ, but without a doubt, the focus-factor is a huge element in the success of pair programming.
At my previous employer, shortly after we adopted XP, I distinctly remember one of my junior developers coming up to me and saying, “Man, I’m tired. You just don’t get to take a break.”
At that point, as the XP coach, I grabbed the entire team together for a quick stand-up meeting and I told them, “Be careful. Don’t burn yourself out. Take breaks. Get used to this.” But I also reminded them to avoid writing production code while your pair is taking a break. It is ok to write a spike solution, or even take a first pass at the production code, but you need to throw it away when your pair comes back.