Distributed Pair Programming: Empirical Studies and Supporting Environments

Previous research [1, 2] has indicated that pair programming is better than individual programming when the pairs are physically colocated. However, important questions arise: How effective is pair programming if the pairs are not physically next to each other? What if the programmers are geographically distributed? An experiment was conducted to compare the different working arrangements of student teams developing object-oriented software. The teams were both colocated and in distributed environments; some teams practiced pair programming while others did not. The results of the experiment indicate that it is feasible to develop software using distributed pair programming, and that the resulting software is comparable to software developed in colocated or virtual teams. Our early experiments have led to the creation of a more comprehensive environment for support of distributed pair programming, using dual screen projectors and hymermedia-enhanced video streams. Our findings will be of significant help to educators dealing with team projects for distance-learning students, as well as organizations that are involved in distributed development of software.

[1]  Douglas C. Engelbart,et al.  A research center for augmenting human intellect , 1968, AFIPS Fall Joint Computing Conference.

[2]  Ian E. Smith,et al.  HyperCafe: narrative and aesthetic properties of hypervideo , 1996, HYPERTEXT '96.

[3]  P. David Stotts,et al.  Hyperdocuments as automata: verification of trace-based browsing properties by model checking , 1998, TOIS.

[4]  Laurie A. Williams,et al.  Pair Programming Illuminated , 2002 .

[5]  Jonathan Grudin,et al.  Integration of Inter-Personal Space and Shared Workspace: ClearBoard Design and Experiments , 1992, CSCW.

[6]  John T. Nosek,et al.  The case for collaborative programming , 1998, CACM.

[7]  Laurence Brothers,et al.  ICICLE: groupware for code inspection , 1990, CSCW '90.

[8]  Kent Beck,et al.  JUnit Test Infected: Programmers Love Writing Tests , 1998 .

[9]  Robert,et al.  The VideoWindow System in Informal Communications , 1990 .

[10]  Greg Welch,et al.  Working in the Office of "Real Soon Now" , 2000, IEEE Computer Graphics and Applications.

[11]  Robert R. Kessler,et al.  The collaborative software process(sm) , 2000 .

[12]  F. Kishino,et al.  Cooperative work environment using virtual workspace , 1992, CSCW '92.

[13]  P. David Stotts,et al.  Petri-net-based hypertext: document structure with browsing semantics , 1989, TOIS.

[14]  Laurie Williams,et al.  The costs and benefits of pair programming , 2001 .

[15]  Kent Beck,et al.  Test-infected: programmers love writing tests , 2000 .

[16]  Robert E. Kraut,et al.  The VideoWindow system in informal communication , 1990, CSCW '90.

[17]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[18]  Donald C. Wells Extreme Programming: A gentle introduction , 2003 .

[19]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for team design deliberation , 1987, Hypertext.

[20]  P. David Stotts,et al.  An orthogonal taxonomy for hyperlink anchor generation in video streams using OvalTine , 2000, HYPERTEXT '00.

[21]  Ronald P. Uhlig,et al.  The office of the future , 1979 .

[22]  P. David Stotts,et al.  Enhanced Graph Models in the Web: Multi-Client, Multi-Head, Multi-Tail Browsing , 1996, Comput. Networks.

[23]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[24]  Donald R. Johnson,et al.  The Office of the Future. , 1985 .