Pairing is like the difference between a superconductor and a regular conductor and a non-conductor.
Who does more crazy trapeze maneuvers? The guy with the net or the guy without? I have the net there of knowing someone's gonna come right along and look at this. I can do whatever I think is right, right now and I don't have to worry if maybe this isn't a good design. Just try it.
Because of social graces and people trying to be nice to each other, I am so much more willing to say, 'We need a new design' when I sit down and I'm the one that's gonna be writing it. The cost or pain of criticism is almost zero, because we haven't even fully coded it yet.
I think it's a lot harder to get distracted when your pair is sitting right next to you. Maybe they'd like to goof off, but they don't have the same interests you. There's literally someone else sitting there staring at the same screen and they're reading faster or slower than you. It's infuriating. And so, it doesn't happen that much.
I think when it comes to stamina, I would say every instance I've ever seen of pairs, they have way more stamina than any average individual I've seen. We're laughing, we're keeping each other's spirits up. If one of us is getting fatigued, the other one's usually got a little bit more stamina. The good news about that is paying down technical debt.
We have four and a half million lines of code all to fall in. That's for seven developers right now. And it's not in maintenance mode, it's not defects only. We're putting out active releases, active new features, and active major refactoring, all the time. We could not do this without pairing; the overhead of communication and organization would be too much. The project would fail.