An Economic Analysis of Pair Programming

Permission is granted to quote short excerpts and to reproduce figures and tables from this report, provided that the source of such material is fully acknowledged. In this appendix, we present a detailed economic analysis of pair programming based on the empirical study conducted at the University of Utah, as discussed in Chapter 4. (You should probably read Chapter 4 before reading this because we won't go back over the details of the experiment.) In Chapter 4, we indicated that pairs produce higher quality code but that it might take 15% longer to produce this higher quality code. Once code is written, it then goes on to testing and ultimately to the customer. When you consider the savings of putting higher quality code into test and into the hands of the customer, our economic analysis shows that this initial 15% cost is more than made up for. We write this appendix for the reader who would like to know more about how we can claim the overall lifecycle affordability of pair programming.

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

[2]  Giancarlo Succi,et al.  Extreme Programming Examined , 2001 .

[3]  Larry Constantine,et al.  Constantine on Peopleware , 1995 .

[4]  James O. Coplien,et al.  A generative development-process pattern language , 1995 .

[5]  Capers Jones Software quality - analysis and guidelines for success , 1997 .

[6]  Leon S. Levy Taming the Tiger: Software Engineering and Software Economics , 1986 .

[7]  Glen W. Russell,et al.  Experience with inspection in ultralarge-scale development , 1991, IEEE Software.

[8]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

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

[10]  Hakan Erdogmus,et al.  Quantitative approaches for assessing the value of COTS-centric development , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[11]  Linda Rising,et al.  The Scrum Software Development Process for Small Teams , 2000, IEEE Softw..

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

[13]  William Hayes,et al.  The Personal Software Process (PSPSM): An Empirical Study of the Impact of PSP on Individual Engineers. , 1997 .

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

[15]  James O. Coplien,et al.  A development process generative pattern language , 1994 .

[16]  Martin Fowler,et al.  Planning Extreme Programming , 2000 .

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

[18]  John M. Favaro,et al.  Value based software reuse investment , 1998, Ann. Softw. Eng..

[19]  Hakan Erdogmus Comparative evaluation of software development strategies based on Net Present Value , 1999 .

[20]  William C. Wake,et al.  Extreme Programming Explored , 2001 .

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