Disengagement in pair programming: Does it matter?

Pair Programming (PP) requires close collaboration and mutual engagement. Most existing empirical studies of PP do not focus on developers' behaviour during PP sessions, and focus instead on the effects of PP such as productivity. However, disengagement, where a developer is not focusing on solving the task or understanding the problem and allows their partner to work by themselves, can hinder collaboration between developers and have a negative effect on their performance. This paper reports on an empirical study that investigates disengagement. Twenty-one industrial pair programming sessions were video and audio recorded and qualitatively analysed to investigate circumstances that lead to disengagement. We identified five reasons for disengagement: interruptions during the collaboration, the way the work is divided, the simplicity of the task involved, social pressure on inexperienced pair programmers, and time pressure. Our findings suggest that disengagement is sometimes acceptable and agreed upon between the developers in order to speed up problem solving. However, we also found episodes of disengagement where developers “drop out” of their PP sessions and are not able to follow their partner's work nor contribute to the task at hand, thus losing the expected benefits of pairing. Analysis of sessions conducted under similar circumstances but where mutual engagement was sustained identified three behaviours that help to maintain engagement: encouraging the novice to drive, verbalisation and feedback, and asking for clarification.

[1]  H. Hulkko,et al.  A multiple case study on the impact of pair programming on product quality , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[2]  Tore Dybå,et al.  Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise , 2007, IEEE Transactions on Software Engineering.

[3]  Stephanie D. Teasley,et al.  The Construction of Shared Knowledge in Collaborative Problem Solving , 1995 .

[4]  Lucas Layman,et al.  Exploring extreme programming in context: an industrial case study , 2004, Agile Development Conference.

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

[6]  Walter F. Tichy,et al.  Case study: extreme programming in a university environment , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[8]  L. Vygotsky Mind in Society: The Development of Higher Psychological Processes: Harvard University Press , 1978 .

[9]  Lasse Lipponen,et al.  Exploring foundations for computer-supported collaborative learning , 2002, CSCL.

[10]  L. Plonka,et al.  Investigating Equity of Participation in Pair Programming , 2012, 2012 Agile India.

[11]  Laurie A. Williams,et al.  Pair Programming Illuminated , 2002 .

[12]  Marjan Hericko,et al.  Tracking Test First Pair Programming - An Experiment , 2002, XP/Agile Universe.

[13]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[14]  Stuart Wray How Pair Programming Really Works , 2010, IEEE Software.

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

[16]  Nick Bryan-Kinns,et al.  Exploring mutual engagement in creative collaborations , 2007, C&C '07.

[17]  Pm Jenkinson,et al.  Cognitive , 2020, Definitions.

[18]  Pablo Romero,et al.  The Collaborative Nature of Pair Programming , 2006, XP.

[19]  Sallyann Bryant Double Trouble: Mixing Qualitative and Quantitative Methods in the Study of eXtreme Programmers , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[20]  Pekka Abrahamsson,et al.  Perceived Effects of Pair Programming in an Industrial Context , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[21]  Tom Murray,et al.  Toward Measuring and Maintaining the Zone of Proximal Development in Adaptive Instructional Systems , 2002, Intelligent Tutoring Systems.

[22]  Dag I. K. Sjøberg,et al.  Effects of Personality on Pair Programming , 2010, IEEE Transactions on Software Engineering.

[23]  Andrew Begel,et al.  Pair programming: what's in it for me? , 2008, ESEM '08.

[24]  Helen Sharp,et al.  Collaboration in Pair Programming: Driving and Switching , 2011, XP.

[25]  L. S. Vygotskiĭ,et al.  Mind in society : the development of higher psychological processes , 1978 .

[26]  Jari Vanhanen,et al.  Experiences of Using Pair Programming in an Agile Project , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[27]  Dorothy Miell,et al.  Children’s Creative Collaborations: The Importance of Friendship when Working Together on a Musical Composition , 2000 .

[28]  Sallyann Freudenberg,et al.  The 'tag team' : tools, tasks and roles in collaborative software development , 2006 .

[29]  Pablo Romero,et al.  Pair programming and the mysterious role of the navigator , 2008, Int. J. Hum. Comput. Stud..

[30]  Jo Erskine Hannay,et al.  Personality and the nature of collaboration in pair programming , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.