Skip to main content

Pair Programming: Issues and Challenges

  • Chapter
  • First Online:
Agile Software Development

Abstract

Pair programming, two programmers collaborating on design, coding and testing, has been a controversial focus of interest as Agile Software Development continues to grow in popularity both among academics and practitioners. As a result of the many investigations into the effectiveness of pair programming in the last decade, many have come to realize that there are many hard-to-control factors in pair programming in particular and in empirical software engineering in general. Because of these factors, the results of many pair programming experiments are not easy to replicate and the relative productivity of pair and solo programming are still not fully understood. So far, it has been concluded by previous studies that pair programming productivity can vary, but few have shown how and why this is the case. In this chapter, we discuss a number of challenging factors in the adoption of pair programming and present an approach to deal with them. We discuss how different factors may affect our experimental outcomes and improve experiment design to reveal how and why pair programming can be made productive, at least, in controlled situations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Adair, G. (1984). "The Hawthorne effect: A reconsideration of the methodological artifact" Journal of Appl. Psychology vol 69, no 2, 334-345.

    Article  Google Scholar 

  • Arisholm, E., Gallis, H., Dybå, T. and Sjøberg, D.I.K. (2007). “Evaluating pair programming with respect to system complexity and programmer expertise,” IEEE, Transactions on Software Engineering, vol. 33, no. 2, pp. 65-86.

    Article  Google Scholar 

  • Bateman, C.R. (1973). “Predicting performance in a basic computer course,” Proceedings of the Fifth Annual Meeting of the Amer. Inst. for Decision Sciences, Boston, Mass.

    Google Scholar 

  • Bellini, E., G. Canfora, F. Garcia, M. Piattini, C.A. Visaggio (2005). "Pair designing as a practice for enforcing and diffusing design knowledge",Journal of Software Maintenance and Evolution: Research and Practice, Volume 17,Issue 6, pp 401 - 423.

    Article  Google Scholar 

  • Calantone, R.J. and Di Benedetto, C.A. (2000). “Performance and time to market: accelerating cycle time with overlapping stages,” IEEE Transactions on Engineering Management, vol 47, no 2, pp 232-244.

    Article  Google Scholar 

  • Ciolkowski, M. and Schlemmer M. (2002). “Experiences with a case study on pair programming,” Proceedings of the Workshop on Empirical Studies in Software Engineering, Rovaniemi, Finland.

    Google Scholar 

  • Curtis, B. (1986). “By the way, did anyone study any real programmers?” In E. Soloway and S. Iyengar (eds), Empirical Studies of Programmers, First Workshop, Ablex Publishing Corporation, Norwood, NJ, pp 256-262.

    Google Scholar 

  • Denelsky, G.Y., and McKee, M.G. (1974). “Prediction of computer programmer training and job performance using the AABP test,” Personal Psychology, vol 27, no 1, pp. 129-137.

    Article  Google Scholar 

  • Flor, N. and Hutchins, E. (1991). “Analyzing distributed cognition in software teams: a case study of team programming during perfective software maintenance,” Proceedings of Empirical Studies of Programmers: Fourth Workshop, Norwood, NJ: Ablex.

    Google Scholar 

  • Forsyth, D. R. (1999). Group dynamics (3rd ed), Belmont, Calif.: Brooks/Cole,.

    Google Scholar 

  • Garbus, J.R. Solomon D.S. and Tretter, B. (1995). SYBASE DBA survival guide, Indianapolis, Ind.: Sams Pub.

    Google Scholar 

  • Hanney, Jo E., Dybå, Tore, Arisholm, Erik, Sjøberg, Dag I.K.. (2009). “The effectiveness of pair programming: A meta-analysis.” Information and Software Technology, vol 51, pp 1110-1122.

    Article  Google Scholar 

  • Hulkko and Abrahamsson, P. (2005). “A multiple case study on the impact of pair programming on product quality,” Proceedings of the 27th International Conference on Software Engineering, St. Louis, MO, USA, pp 495-504.

    Google Scholar 

  • Hunt, Andrew and Thomas, David. (1999). “The Pragmatic Programmer: From Journeyman to Master.” October. The Pragmatic Bookshelf.

    Google Scholar 

  • Kent, B. (2000). Extreme Programming Explained: Embrace Change, Reading, Mass: Addison-Wesley.

    Google Scholar 

  • Lorenzen, T. and Chang, H.L. (2006). “MasterMind: a predictor of computer programming aptitude,” ACM SIGCSE Bulletin, vol 38, no 2, pp 69 – 71.

    Article  Google Scholar 

  • Lui, K.M. and Chan, K.C.C. (2006). “Pair programming productivity: novice-novice vs. expertexpert,” International Journal of Human Computer Studies, vol 64, pp. 915-925.

    Article  Google Scholar 

  • Lui, K.M., Chan, K.C.C. (2008). “Software process fusion by combining pair and solo programming” IET Software, vol 2, no 4, pp 379-390.

    Article  MathSciNet  Google Scholar 

  • Lui, K.M., Chan, K.C.C., Nosek, J. (2008). “The effect of pairs in program design tasks,” IEEE Transactions on Software Engineering, vol 34, no 2, pp 197-211

    Article  Google Scholar 

  • Maier, Norman R.; Burke, Ronald J. (1967). “Response Availability as a Factor in the Problem-Solving Performance of Males and Females.” Journal of Personality and Social Psychology. Vol. 5(3), Mar, 304-310.

    Article  Google Scholar 

  • Microsoft (2003). MCAD/MCSE/MCDBA Self-Paced Training Kit: Microsoft SQL Server 2000 Database Design and Implementation, Exam 70-229, (2nd Edition), Microsoft Corporation.

    Google Scholar 

  • Miller, R.G. (1986). Beyond ANOVA, Basics of Applied Statistics, New York: John Wiley & Sons.

    Google Scholar 

  • Müller, M.M. (2006). “A preliminary study on the impact of a pair design phase on pair programming and individual programming,” Information and Software Technology, vol 48, no. 5, pp 335-344.

    Article  Google Scholar 

  • Munzert, A. (1994). “Part IV: Computer I.Q.– Program Procedure,” Test Your IQ, third Edition, Random House, pp.112-117.

    Google Scholar 

  • Nawrocki, J. and Wojciechowski, A. (2001). “Experimental evaluation of pair programming,” Proceedings of the 12th European Software Control and Metrics Conference, London, April, pp 269–276.

    Google Scholar 

  • Nosek, J. (1998). “The case for collaborative programming,” Communication of ACM, vol 41, no 3, pp 105-108.

    Article  Google Scholar 

  • Tukiainen, M. and Mönkkönen, E. (2002). “Programming aptitude testing as a prediction of learning to program,” Proceedings 14th Workshop of the Psychology of Programming Interest Group, Brunel University, pp 45-57.

    Google Scholar 

  • Williams, L. and Kessler, R.R. (2003). Pair programming illuminated, Boston, Mass.: Addison-Wesley.

    Google Scholar 

  • Williams, L., Kessler, R.R., Cunningham, W. and Jeffries, R. (2000). “Strengthening the case for pair-programming,” IEEE Software, vol 17, no 4, pp 19-25.

    Article  Google Scholar 

  • Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A. (2000)."Experimentation in software engineering - An Introduction," Springer.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kim Man Lui .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Lui, K.M., Barnes, K.A., Chan, K.C. (2010). Pair Programming: Issues and Challenges. In: Dingsøyr, T., Dybå, T., Moe, N. (eds) Agile Software Development. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12575-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-12575-1_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-12574-4

  • Online ISBN: 978-3-642-12575-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics