Preliminary Analysis of the Effects of Pair Programming and Test-Driven Development on the External Code Quality

Test-driven development (TDD) and pair programming (PP) are the key practices of eXtreme Programming methodology that have caught the attention of software engineers and researchers worldwide. One of the aims of the large experiment performed at Wroclaw University of Technology was to investigate the difference between test-driven development and the traditional, test-last develop-ment as well as pair programming and solo programming with respect to the external code quality. It appeared that the external code quality was lower when test-driven development was used instead of the classic, test-last software development approach in case of solo programmers (p=0.028) and pairs (p=0.013). There was no difference in the external code quality when pair programming was used instead of solo programming.

[1]  Laurie A. Williams,et al.  Test-driven development as a defect-reduction practice , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

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

[3]  Matthias M. Müller,et al.  Experiment about test-first programming , 2002, IEE Proc. Softw..

[4]  Boby George,et al.  A structured experiment of test-driven development , 2004, Inf. Softw. Technol..

[5]  Matthias M. Müller,et al.  Are Reviews an Alternative to Pair Programming? , 2004, Empirical Software Engineering.

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

[7]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

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

[9]  Laurie A. Williams,et al.  Assessing test-driven development at IBM , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

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

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

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

[13]  Boby George,et al.  An initial investigation of test driven development in industry , 2003, SAC '03.

[14]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[15]  W. Shadish,et al.  Experimental and Quasi-Experimental Designs for Generalized Causal Inference , 2001 .

[16]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

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