but boy it smashes productivity with a frying pan and keeps hitting it.
Pair programming - bad for startups that want to hammer out quick code, bad for enterprises that want to hit deadlines on stretched resources.
It's a tough one to argue for.
Edit: Things I want to try - Tennis Programming - sit next to each other, one writes the tests, one writes the code, swap round often, run on shared disk space or something. Spending ages watching someone else code is just being a human syntax checker. Swapping and diving in to code after ten minutes might be more interesting.
It's like writing a joke or a scene in a movie then handing the paper to your writing partner. You need fast feedback.