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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
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)
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)
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)
Lui, K., Chan, K.: Pair programming productivity: Novice–novice vs. expert–expert. International Journal of Human-Computer Studies 64(9), 915–925 (2006)
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)
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)
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)
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)
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)
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)
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)
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)
Moore, D.S., McCabe, G.P.: Introduction to the Practice of Statistics. W. H. Freeman & Co., New York (2006)
Perneger, T.: What’s wrong with bonferroni adjustments. BMJ (British Medical Journal) 316(7139), 1236–1238 (1998)
Cohen, J.: Statistical power analysis for the behavioral sciences. Lawrence Erlbaum (1988)
Haag, S., Raja, M., Schkade, L.: Quality function deployment usage in software development. Communications of the ACM 39(1), 41–49 (1996)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sajeev, A.S.M., Datta, S. (2013). Introducing Programmers to Pair Programming: A Controlled Experiment. In: Baumeister, H., Weber, B. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2013. Lecture Notes in Business Information Processing, vol 149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38314-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-38314-4_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38313-7
Online ISBN: 978-3-642-38314-4
eBook Packages: Computer ScienceComputer Science (R0)