Experiences of Using Pair Programming in an Agile Project

The interest in pair programming (PP) has increased recently, e.g. by the popularization of agile software development. However, many practicalities of PP are poorly understood. We present experiences of using PP extensively in an industrial project. The fact that the team had a limited number of high-end workstations forced it in a positive way to quick deployment and rigorous use of PP. The developers liked PP and learned it easily. Initially, the pairs were not rotated frequently but adopting daily, random rotation improved the situation. Frequent rotation seemed to improve knowledge transfer. The driver/navigator roles were switched seldom, but still the partners communicated actively. The navigator rarely spotted defects during coding, but the released code contained almost no defects. Test-driven development and design in pairs possibly decreased defects. The developers considered that PP improved quality and knowledge transfer, and was better suited for complex tasks than for easy tasks

[1]  L. Williams The Collaborative Software Process , 1999 .

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

[3]  Bill Greene Agile methods applied to embedded firmware development , 2004, Agile Development Conference.

[4]  Jan Chong,et al.  Social behaviors on XP and non-XP teams: a comparative study , 2005, Agile Development Conference (ADC'05).

[5]  Adam Wojciechowski,et al.  Experimental Evaluation of Pair Programming , 2001 .

[6]  Helen Sharp,et al.  An Ethnographic Study of XP Practice , 2004, Empirical Software Engineering.

[7]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[8]  Tore Dybå,et al.  An initial framework for research on pair programming , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[9]  Sian Hope,et al.  Qualitative Studies of XP in a Medium Sized Business , 2001 .

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

[11]  Mark A. Toleman,et al.  A Framework for Understanding the Factors Influencing Pair Programming Success , 2005, XP.

[12]  Andrew j. Dick,et al.  Paired Programming & Personality Traits , 2002 .

[13]  Jason Aiken,et al.  Technical and human perspectives on pair programming , 2004, SOEN.

[14]  Casper Lassenius,et al.  Effects of pair programming at the development team level: an experiment , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[15]  M. Lynn Hawaii International Conference on System Sciences , 1996 .

[16]  Michael A. Cusumano,et al.  Software Development Worldwide: The State of the Practice , 2003, IEEE Softw..

[17]  Bjørnar Tessem,et al.  Experiences in Learning XP Practices: A Qualitative Study , 2003, XP.

[18]  Nader Kameli,et al.  Application of tightly coupled engineering team for development of test automation software - a real world experience , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[19]  Pablo Romero,et al.  Pair programming and the re-appropriation of individual tools for collaborative programming , 2005, GROUP.

[20]  John T. Nosek,et al.  The benefits of collaboration for student programmers , 1993, SIGCSE '93.

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

[22]  Robert R. Kessler,et al.  The collaborative software process(sm) , 2000 .

[23]  Greg Luck Subclassing XP: breaking its rules the right way , 2004, Agile Development Conference.

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

[25]  Arlo Belshee Promiscuous pairing and beginner's mind: embrace inexperience [agile programming] , 2005, Agile Development Conference (ADC'05).

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

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