The effectiveness of pair programming: A meta-analysis
Information and Software Technology
Personality and the nature of collaboration in pair programming
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Saros: an eclipse plug-in for distributed party programming
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
Analysis and representation of interaction patterns in group programming learning
CRIWG'11 Proceedings of the 17th international conference on Collaboration and technology
Evaluating industry-inspired pair programming communication guidelines with undergraduate students
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
Pair programming claims to provide benefits over and above those offered by a programmer working alone. In particular, a number of studies have suggested that pair programming improves software quality. The literature speculates that the "driver' (the programmer currently typing in the code) and "navigator' work together in a complimentary manner, and that the nature of these roles may be key in realizing the reported benefits. Here we dispute two of these existing claims: (i) That the navigator providing a "continual review' of the driver's work and highlighting errors (i.e. acting as a reviewer); (ii) That the navigator is focused on a higher level of abstraction that the driver (i.e. acting as a foreman). Our findings suggest that the key to the success of pair programming does not lie in the differences in behaviour or focus between the driver and navigator. Rather, we suggest an alternative perspective (the "tag team) and remark upon the proliferation of talk at an intermediate level of detail in pair programmers' conversations. This leads us to suggest that producing the type of talk necessary to work effectively together may itself be fundamental in realizing the reported improvements in software quality.