The case for collaborative programming
Communications of the ACM
Pair Programming Illuminated
Strengthening the Case for Pair Programming
IEEE Software
The impact of pair programming on student performance, perception and persistence
Proceedings of the 25th International Conference on Software Engineering
Program quality with pair programming in CS1
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Pair programming and the mysterious role of the navigator
International Journal of Human-Computer Studies
The effectiveness of pair programming: A meta-analysis
Information and Software Technology
Hi-index | 0.00 |
The classical definition of pair programming (PP) describes it via two obvious roles: driver (the person currently having the keyboard) and observer (the other, alternatively called navigator). Although prior research has found some assumptions regarding these roles to be false, so far no alternative PP role model took hold. Instead, most PP research tacitly assumes the classical model to be true and thus PP to be no more difficult than solo programming. We perform qualitative research (using Grounded Theory Methodology) to find a more realistic role model, and have uncovered a suprising complexity: There are more than two roles, they are assumed and unassumed gradually, multiple roles can be held by one person at the same time, and some of their facets are subtle. Mastering this complexity requires specific PP skills beyond mere programming and communication skills. By ignoring such skills, previous PP studies (in particular the controlled experi- ments) have investigated a rather mixed bag of situations, which explains their heterogeneous results. The emerging result is that qualitative research on the PP process will lead to constructive behavioral advice (process patterns) for pair members and to more meaningful designs for quantitative PP research.