What Happens During Pair Programming

Abstract. Successful qualitative analysis of pair programming requires a terminology (such as a set of concepts or a coding scheme) that represents the observed phenomena on an appropriate abstraction level. On the one hand, different analysis goals will require different specialized terminology, on the other hand it would be helpful, if different studies used common terminology so that comparing and combining their results will be easier. We suggest to define terminology in layers: a PP foundation layer that is common to all analyses and more specialized study-specific layers on top. The present article presents this foundation layer which we have derived from audio/video analysis of pair programming sessions in Grounded Theory investigation style. Its concepts describe the individual observable human-to-human utterances and human-to-computer activities that occur during pair programming.

[1]  Lutz Prechelt,et al.  A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of Pair Programming , 2007, PPIG.

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

[3]  Françoise Détienne,et al.  Measuring cognitive activities in software engineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[4]  Jerzy R. Nawrocki,et al.  Pair Programming vs. Side-by-Side Programming , 2005, EuroSPI.

[5]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[6]  Laurie A. Williams,et al.  Improving the CS1 experience with pair programming , 2003, SIGCSE.

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

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

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

[10]  M. Polanyi Chapter 7 – The Tacit Dimension , 1997 .

[11]  Andrian Marcus,et al.  An empirical study of programmer learning during incremental software development , 2005, Fourth IEEE Conference on Cognitive Informatics, 2005. (ICCI 2005)..

[12]  Laurie A. Williams,et al.  In support of student pair-programming , 2001, SIGCSE '01.

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

[14]  Anneliese Amschler Andrews,et al.  A Coding Scheme to Support Systematic Analysis of Software Comprehension , 1999, IEEE Trans. Software Eng..

[15]  Laurie A. Williams,et al.  Pair Learning: With an Eye Toward Future Success , 2003, XP/Agile Universe.

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

[17]  Charles E. McDowell,et al.  Program quality with pair programming in CS1 , 2004, ITiCSE '04.

[18]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[19]  Krzysztof Zielinski,et al.  Software Engineering: Evolution and Emerging Technologies , 2005, Software Engineering: Evolution and Emerging Technologies.

[20]  Marcus Ciolkowski,et al.  Experiences with a Case Study on Pair Programming , 2002 .

[21]  M. Chi Quantifying Qualitative Analyses of Verbal Data: A Practical Guide , 1997 .

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

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

[24]  Ralph Johnson,et al.  Design patterns: elements of reuseable object-oriented software , 1994 .

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

[26]  Charles E. McDowell,et al.  The effects of pair-programming on performance in an introductory programming course , 2002, SIGCSE '02.

[27]  Laurie A. Williams,et al.  Experiments with Industry's “Pair-Programming” Model in the Computer Science Classroom , 2001, Comput. Sci. Educ..

[28]  Kent L. Beck,et al.  Extreme programming explained - embrace change, Second Edition , 2005, The XP series.

[29]  Lech Madeyski Preliminary Analysis of the Effects of Pair Programming and Test-Driven Development on the External Code Quality , 2005, Software Engineering: Evolution and Emerging Technologies.