Pair Programming: When and Why it Works

Jan Chong, Robert Plummer, Larry Leifer, Scott R Klemmer, Ozgur Eris, and George Toye
Psychology of Programming Interest Group Workshop, 2005
Pair programming is a software development technique where two programmers work together at a single PC. Over the past few years, pair programming has emerged as a promising method for creating higher-quality software in a time-efficient manner. It is a central aspect of many agile software development methods. While prior research has demonstrated the effectiveness of pair programming, there is still limited understanding as to when and why it is effective. Our research into the underlying reasons for success and limitations of pair programming employs a two-phase method. In the first phase, we are conducting ethnographic studies of software development teams in industry that currently employ pair programming. We will use the results of this phase of the research to drive the second phase of the research: a laboratory study of pair programming with professional developers as participants.

· PDF

This project is known for: programming