How Distribution Affects the Success of Pair Programming

Recent experiments demonstrated the effectiveness of pair programming in terms of quality and productivity. Growing interest towards global software development is fostering the design of suitable methods and tools for distributing software processes, at any level of detail, from entire subprocesses up to a single activity. Consequently, people placed in different locations could also share programming tasks and related practices, such as pair programming. Unfortunately, distribution might seriously compromise the success of pair programming, due to communication and collaboration issues. We have performed an experiment in order to investigate the impact of distribution on pair programming when performing maintenance tasks. An interesting conjecture stems from the experiment: under certain conditions, distributed pair's components tend to dismiss from each other, stopping the collaborative work. This can be a very expensive risk factor to keep into account when planning tasks of distributed pair programming.

[1]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[2]  H. Miller,et al.  Scoping the global market: size is just part of the story , 1999 .

[3]  Aniello Cimitile,et al.  Lessons learned about distributed pair programming: what are the knowledge needs to address? , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[4]  Brian F. Hanks,et al.  Distributed Pair Programming: An Empirical Study , 2004, XP/Agile Universe.

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

[6]  R. Eccles,et al.  Networks and Organizations: Structure, Form, and Action , 1992 .

[7]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[8]  John T. Nosek,et al.  The case for collaborative programming , 1998, CACM.

[9]  Matthias M. Müller,et al.  An empirical study about the feelgood factor in pair programming , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[10]  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.

[11]  Giancarlo Succi,et al.  Extreme Programming Examined , 2001 .

[12]  Andrew B. Whinston,et al.  A Web-Based Financial Trading System , 1999, Computer.

[13]  P. David Stotts,et al.  Exploring the Efficacy of Distributed Pair Programming , 2002, XP/Agile Universe.

[14]  Mark C. Paulk,et al.  Extreme Programming from a CMM Perspective , 2001, IEEE Softw..

[15]  Axel Schmolitzky,et al.  Developing Complex Projects Using XP with Extensions , 2003, Computer.

[16]  James D. Herbsleb,et al.  Architectures, coordination, and distance: Conway’s law and beyond , 1999 .

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

[18]  Laurie A. Williams,et al.  Building pair programming knowledge through a family of experiments , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[19]  Wanda J. Orlikowski,et al.  Knowing in practice: Enacting a collective capability in distributed organizing , 2002, STUDI ORGANIZZATIVI.

[20]  Orlando Murru,et al.  Two Pilot Projects Assessing Xp at a European Internet Company , 2003 .

[21]  Donald C. Wells Extreme Programming: A gentle introduction , 2003 .

[22]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[23]  Christof Ebert,et al.  Surviving Global Software Development , 2001, IEEE Softw..

[24]  Ronald Jensen A pair programming experience , 2003 .

[25]  Keith C. C. Chan,et al.  When Does a Pair Outperform Two Individuals? , 2003, XP.

[26]  Audris Mockus,et al.  An empirical study of global software development: distance and speed , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[27]  Edward F. Gehringer A pair-programming experiment in a non-programming course , 2003, OOPSLA '03.

[28]  Charles E. McDowell,et al.  Experimenting with pair programming in the classroom , 2003, ITiCSE.

[29]  Laurie A. Williams,et al.  An initial exploration of the relationship between pair programming and Brooks' law , 2004, Agile Development Conference.

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

[31]  James Grenning,et al.  Launching Extreme Programming at a Process-Intensive Company , 2001, IEEE Softw..