Observations on Knowledge Transfer of Professional Software Developers during Pair Programming

Context: Software development is knowledge-intense work, and so is pair programming. However, the importance of knowledge transfer in pair programming is usually only stressed for expert-novice constellations. Goal: Understand how knowledge transfer during pair programming works and eventually provide guidance for practitioners. Method: Detailed qualitative data analysis of full-length recordings of industrial pair programming sessions. Results: Expert software developers need to transfer knowledge, too, in order to conduct productive pair programming sessions. There is a diversity of beneficial and potentially problematic patterns, which even good pairs do not steadily apply or avoid, respectively. Conclusions: Pair programming is a versatile practice that even experts can profit from. Knowledge transfer skills do not automatically emerge from good software development skills, but can probably be learned.

[1]  David Socha,et al.  The "Pair" as a Problematic Unit of Analysis for Pair Programming , 2015, 2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering.

[2]  Richard L. Moreland,et al.  Back to the Future: Social Psychological Research on Groups , 1994 .

[3]  Helen Sharp,et al.  Knowledge transfer in pair programming: An in-depth analysis , 2015, Int. J. Hum. Comput. Stud..

[4]  Jan Chong,et al.  The Social Dynamics of Pair Programming , 2007, 29th International Conference on Software Engineering (ICSE'07).

[5]  Kipling D. Williams,et al.  Dyads Can Be Groups (and Often Are) , 2010 .

[6]  Franz Zieris,et al.  On knowledge transfer skill in pair programming , 2014, ESEM '14.

[7]  Herbert A. Simon,et al.  Collaborative Discovery in a Scientific Domain , 1997, Cogn. Sci..

[8]  A. Strauss,et al.  Basics of qualitative research: Grounded theory procedures and techniques. , 1992 .

[9]  Naomi Miyake,et al.  Constructive Interaction and the Iterative Process of Understanding , 1986, Cogn. Sci..

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

[11]  Franz Zieris,et al.  Liberating pair programming research from the oppressive driver/observer regime , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[12]  Pamela Jordan Basics of qualitative research: Grounded theory procedures and techniques , 1994 .

[13]  Tore Dybå,et al.  The effectiveness of pair programming: A meta-analysis , 2009, Inf. Softw. Technol..

[14]  David Walsh Palmieri,et al.  Knowledge Management Through Pair Programming , 2002 .

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

[16]  P. Latham,et al.  Optimally Interacting Minds , 2022 .

[17]  References , 1971 .

[18]  Charles E. McDowell,et al.  The impact of pair programming on student performance, perception and persistence , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..