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 experiments) 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.
[1]
Laurie A. Williams,et al.
Pair Programming Illuminated
,
2002
.
[2]
Charles E. McDowell,et al.
Program quality with pair programming in CS1
,
2004,
ITiCSE '04.
[3]
Pamela Jordan.
Basics of qualitative research: Grounded theory procedures and techniques
,
1994
.
[4]
Laurie A. Williams,et al.
Strengthening the Case for Pair Programming
,
2000,
IEEE Softw..
[5]
Tore Dybå,et al.
The effectiveness of pair programming: A meta-analysis
,
2009,
Inf. Softw. Technol..
[6]
John T. Nosek,et al.
The case for collaborative programming
,
1998,
CACM.
[7]
Lutz Prechelt,et al.
What Happens During Pair Programming
,
2008,
PPIG.
[8]
A. Strauss,et al.
Basics of qualitative research: Grounded theory procedures and techniques.
,
1992
.
[9]
Pablo Romero,et al.
Pair programming and the mysterious role of the navigator
,
2008,
Int. J. Hum. Comput. Stud..
[10]
Charles E. McDowell,et al.
The impact of pair programming on student performance, perception and persistence
,
2003,
25th International Conference on Software Engineering, 2003. Proceedings..