Skip to Main Content
Both experiment and informal discussion have shown us that pair programming sometimes brings benefits and sometimes doesn't. Recent studies have cast doubt on the driver-navigator metaphor, often used to explain pair programming. We need better explanations, to help us understand why pair programming is sometimes useful and sometimes not. This position paper proposes four mechanisms, by which pair programming may improve the performance of developers, and explains the psychological basis of each mechanism. Readers are invited to contribute their own experience, confirming or contradicting these explanations, on the associated website.