Advertisement

Introducing Programmers to Pair Programming: A Controlled Experiment

  • A. S. M. Sajeev
  • Subhajit Datta
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 149)

Abstract

Pair programming is a key characteristic of the Extreme Programming (XP) method. Through a controlled experiment we investigate pair programming behaviour of programmers without prior experience in XP. The factors investigated are: (a) characteristics of pair programming that are less favored (b) perceptions of team effectiveness and how they relate to product quality, and (c) whether it is better to train a pair by giving routine tasks first or by giving complex tasks first. Our results show that: (a) the least liked aspects of pair programming were having to share the screen, keyboard and mouse, and having to switch between the roles of driver and navigator (b) programmers solved complex problems more effectively in pairs compared to routine problems, however, perceptions of team effectiveness was higher when solving routine problems than when solving complex problems and (c) programmers who started pair programming with routine tasks and moved on to complex tasks were more effective than those who started with complex ones and moved on to routine ones. We discuss how these results will assist the industry in inducting programmers without prior pair-programming experience into XP process environments.

Keywords

pair programming empirical software engineering agile methods extreme programming software process controlled experiment 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arisholm, E., Gallis, H., Dybå, T., Sjøberg, D.: Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Transactions on Software Engineering 33(2), 65–86 (2007)CrossRefGoogle Scholar
  2. 2.
    Dybå, T., Arisholm, E., Sjøberg, D., Hannay, J., Shull, F.: Are two heads better than one? on the effectiveness of pair programming. IEEE Software 24(6), 12–15 (2007)CrossRefGoogle Scholar
  3. 3.
    Hulkko, H., Abrahamsson, P.: A multiple case study on the impact of pair programming on product quality. In: Proceedings of the 27th International Conference on Software Engineering, pp. 495–504. ACM (2005)Google Scholar
  4. 4.
    Madeyski, L.: On the effects of pair programming on thoroughness and fault-finding effectiveness of unit tests. In: Münch, J., Abrahamsson, P. (eds.) PROFES 2007. LNCS, vol. 4589, pp. 207–221. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Fronza, I., Sillitti, A., Succi, G.: An interpretation of the results of the analysis of pair programming during novices integration in a team. In: Proceedings of the 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 225–235. IEEE Computer Society (2009)Google Scholar
  6. 6.
    Gallis, H., Arisholm, E., Dyba, T.: An initial framework for research on pair programming. In: Proceedings of International Symposium on Empirical Software Engineering, pp. 132–142. IEEE (2003)Google Scholar
  7. 7.
    Ally, M., Darroch, F., Toleman, M.: A framework for understanding the factors influencing pair programming success. In: Baumeister, H., Marchesi, M., Holcombe, M. (eds.) XP 2005. LNCS, vol. 3556, pp. 82–91. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Lui, K., Chan, K.: Pair programming productivity: Novice–novice vs. expert–expert. International Journal of Human-Computer Studies 64(9), 915–925 (2006)CrossRefGoogle Scholar
  9. 9.
    Hannay, J., Dybå, T., Arisholm, E., Sjøberg, D.: The effectiveness of pair programming: A meta-analysis. Information and Software Technology 51(7), 1110–1122 (2009)CrossRefGoogle Scholar
  10. 10.
    Vanhanen, J., Lassenius, C.: Effects of pair programming at the development team level: an experiment. In: International Symposium on Empirical Software Engineering, 10 pages. IEEE (2005)Google Scholar
  11. 11.
    Vanhanen, J., Lassenius, C.: Perceived effects of pair programming in an industrial context. In: 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 211–218. IEEE (2007)Google Scholar
  12. 12.
    Vanhanen, J., Korpi, H.: Experiences of using pair programming in an agile project. In: 40th Annual Hawaii International Conference on System Sciences, pp. 274b–274b. IEEE (2007)Google Scholar
  13. 13.
    Xu, S., Rajlich, V.: Pair programming in graduate software engineering course projects. In: Proceedings of the 35th Annual Conference on Frontiers in Education, pp. F1G–F1G. IEEE (2005)Google Scholar
  14. 14.
    Sison, R.: Investigating pair programming in a software engineering course in an asian setting. In: Proceedings of the 15th Asia-Pacific Software Engineering Conference, pp. 325–331. IEEE (2008)Google Scholar
  15. 15.
    Begel, A., Nagappan, N.: Pair programming: what’s in it for me? In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 120–128. ACM (2008)Google Scholar
  16. 16.
    Coman, I.D., Sillitti, A., Succi, G.: Investigating the usefulness of pair-programming in a mature agile team. In: Abrahamsson, P., Baskerville, R., Conboy, K., Fitzgerald, B., Morgan, L., Wang, X. (eds.) XP 2008. LNBIP, vol. 9, pp. 127–136. Springer, Heidelberg (2008)Google Scholar
  17. 17.
    Moore, D.S., McCabe, G.P.: Introduction to the Practice of Statistics. W. H. Freeman & Co., New York (2006)Google Scholar
  18. 18.
    Perneger, T.: What’s wrong with bonferroni adjustments. BMJ (British Medical Journal) 316(7139), 1236–1238 (1998)CrossRefGoogle Scholar
  19. 19.
    Cohen, J.: Statistical power analysis for the behavioral sciences. Lawrence Erlbaum (1988)Google Scholar
  20. 20.
    Haag, S., Raja, M., Schkade, L.: Quality function deployment usage in software development. Communications of the ACM 39(1), 41–49 (1996)CrossRefGoogle Scholar
  21. 21.
    Höst, M., Regnell, B., Wohlin, C.: Using students as subjects: a comparative study of students and professionals in lead-time impact assessment. Empirical Software Engineering 5(3), 201–214 (2000)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • A. S. M. Sajeev
    • 1
  • Subhajit Datta
    • 2
  1. 1.University of New EnglandAustralia
  2. 2.IBM ResearchBangaloreIndia

Personalised recommendations