Table of Links
Abstract and I. Introduction
II. Related Work
A. On the Existence of Pair Programming Skill
B. On the Elements of Pair Programming Skill
III. Research Method
A. Research Goal and Data Collection
B. Qualitative Research Approach
C. Our Notions of ‘Good’ and ‘Bad’
IV. Results
A. Two Elements of Pair Programming Skill
B. Anti-Pattern: Getting Lost in the Weeds
C. Anti-Pattern: Losing the Partner
D. Anti-Pattern: Drowning the Partner
E. Doing the Right Thing and F. Further Elements of Pair Programming Skill
V. Discussion
VI. Summary and Future Work
VII. Data Availability and References
VII. DATA AVAILABILITY
Unfortunately, we cannot share the full audio and video material due to non-disclosure agreements with the involved companies and confidentiality agreements with the recorded developers. We do, however, provide the full original German transcripts as well as English translations for the referenced session excerpts [16].
REFERENCES
[1] E. Arisholm, H. Gallis, T. Dyb˚a, and D. I. Sjøberg, “Evaluating pair programming with respect to system complexity and programmer expertise,” IEEE Transactions on Software Engineering, vol. 33, no. 2, pp. 65–86, 2007, ISSN: 0098-5589. DOI: 10.1109/TSE.2007.17.
[2] K. Beck, Extreme Programming Explained: Embrace Change. AddisonWesley Professional, 1999.
[3] A. Belshee, “Promiscuous pairing and beginner’s mind: Embrace inexperience,” in Agile Development Conf., IEEE, 2005, pp. 125–131. DOI: 10.1109/ADC.2005.37.
[4] S. Bryant, “Double trouble: Mixing qualitative and quantitative methods in the study of extreme programmers,” in IEEE Symp. on Visual Languages and Human Centric Computing, ser. VL/HCC ’04, IEEE, 2004, pp. 55–61. DOI: 10.1109/VLHCC.2004.20.
[5] S. Bryant, P. Romero, and B. du Boulay, “Pair programming and the mysterious role of the navigator,” Intl. J. of Human-Computer Studies, vol. 66, no. 7, pp. 519–529, 2008. DOI: 10.1016/j.ijhcs.2007.03.005.
[6] J. Chong and T. Hurlbutt, “The social dynamics of pair programming,” in Proc. 29th Intl. Conf. on Software Engineering, ser. ICSE ’07, Washington, DC, USA: IEEE Computer Society, 2007, pp. 354–363, ISBN: 0-7695-2828-7. DOI: 10.1109/ICSE.2007.87.
[7] J. E. Hannay, T. Dyb˚a, E. Arisholm, and D. I. Sjøberg, “The effectiveness of pair programming: A meta-analysis,” Information and Software Technology, vol. 51, no. 7, pp. 1110–1122, 2009. DOI: 10.1016/j.infsof.2009.02.001.
[8] L. Plonka, H. Sharp, J. van der Linden, and Y. Dittrich, “Knowledge transfer in pair programming: An in-depth analysis,” Intl. J. of HumanComputer Studies, vol. 73, pp. 66–78, 2015, ISSN: 1071-5819. DOI: 10.1016/j.ijhcs.2014.09.001.
[9] A. L. Strauss and J. M. Corbin, Basics of Qualitative Research: Grounded Theory Procedures and Techniques. SAGE Publications, Inc, 1990, ISBN: 0-8039-3251-0.
[10] L. Williams, “The collaborative software process,” Ph.D. dissertation, Department of Computer Science, The University of Utah, 2000.
[11] L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries, “Strengthening the case for pair programming,” IEEE Software, vol. 17, no. 4, pp. 19–25, 2000, ISSN: 0740-7459. DOI: 10.1109/52.854064.
[12] F. Zieris and L. Prechelt, “On knowledge transfer skill in pair programming,” in Proc. 8th ACM/IEEE Intl. Symp. on Empirical Software Engineering and Measurement, ser. ESEM ’14, ACM, 2014, 11:1–11:10. DOI: 10.1145/2652524.2652529.
[13] ——, “Observations on knowledge transfer of professional software developers during pair programming,” in Proc. 38th Intl. Conf. on Software Engineering Companion, ser. ICSE ’16 (SEIP), ACM, 2016, pp. 242–250. DOI: 10.1145/2889160.2889249.
[14] ——, “Explaining pair programming session dynamics from knowledge gaps,” in Proc. 42nd Intl. Conf. on Software Engineering, ser. ICSE ’20, ACM, 2020, pp. 421–432. DOI: 10.1145/3377811.3380925.
[15] ——, PP-ind: A repository of industrial pair programming session recordings, Tech report, 2020. arXiv: 2002.03121.
[16] ——, PP-ind: A repository of industrial pair programming research data, Zenodo, 2021. DOI: 10.5281/zenodo.4529143.
Authors:
(1) Franz Zieris, Institut fur Informatik, Freie Universitat, Berlin Berlin, Germany ([email protected]);
(2) Lutz Prechelt, Institut fur Informatik. Freie Universitat Berlin, Berlin, Germany ([email protected]).