Pair Programming vs. Side-by-Side Programming

In agile methodologies communication between programmers is very important. Some of them (e.g. XP or Crystal Clear) recommend pair programming. There are two styles of pair programming: XP-like and side-by-side (the latter comes from Crystal Clear). In the paper an experiment is described that aimed at comparison of those two styles. The subjects were 25 students of Computer Science of 4th and 5th year of study. They worked for 6 days at the university (in a controlled environment) programming web-based applications with Java, Eclipse, MySQL, and Tomcat. The results obtained indicate that side-by-side programming is a very interesting alternative to XP-like pair programming mainly due to less effort overhead (in the experiment the effort overhead for side-by-side programming was as small as 20%, while for XP it was about 50%).

[1]  Douglas C. Montgomery,et al.  Introduction to Statistical Quality Control , 1986 .

[2]  Keith C. C. Chan,et al.  When Does a Pair Outperform Two Individuals? , 2003, XP.

[3]  Walter F. Tichy,et al.  Should Computer Scientists Experiment More? , 1998, Computer.

[4]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[5]  B. A. Sheil,et al.  The Psychological Study of Programming , 1981, CSUR.

[6]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[7]  E. E. Grant,et al.  Exploratory experimental studies comparing online and offline programming performance , 1968, CACM.

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

[9]  Ruven E. Brooks,et al.  Studying programmer behavior experimentally: the problems of proper methodology , 1980, CACM.

[10]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[11]  T.E. Dickey,et al.  Programmer variability , 1981, Proceedings of the IEEE.

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

[13]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

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

[15]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[16]  Adam Wojciechowski,et al.  Experimental Evaluation of Pair Programming , 2001 .

[17]  Matthias M. Müller,et al.  An empirical study about the feelgood factor in pair programming , 2004 .

[18]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[19]  Michele Marchesi,et al.  Extreme Programming and Agile Processes in Software Engineering , 2003, Lecture Notes in Computer Science.

[20]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[21]  Matthias M. Müller,et al.  An empirical study about the feelgood factor in pair programming , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[22]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[23]  L. Williams The Collaborative Software Process , 1999 .

[24]  Alistair Cockburn,et al.  Agile Software Development , 2001 .