Abstract
This paper considers the nature of pair programming. It focuses on using pair programmers’ verbalizations as an indicator of collaboration. A review of the literature considers the benefits and costs of co-operative and collaborative verbalization. We then report on a set of four one-week studies of commercial pair programmers. From recordings of their conversations we analyze which generic sub-tasks were discussed and use the contribution of new information as a means of discerning the extent to which each pair collaborated. We also consider whether a particular role is more likely to contribute to a particular sub-task. We conclude that pair programming is highly collaborative in nature, however the level of collaboration varies according to task. We also find that tasks do not seem aligned to particular roles, rather the driver tends to contribute slightly more across almost all tasks.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Williams, L., et al.: Strengthening the case for pair programming. IEEE software 17(4), 19–25 (2000)
Jensen, R.: A pair programming experience. The journal of defensive software engineering 16(3), 22–24 (2003)
Nosek, J.T.: The case for collaborative programming. Communications of the ACM 41(3), 105–108 (1998)
Cockburn, A., Williams, L.: The costs and benefits of pair programming. In: Succi, G., Marchesi, M. (eds.) Extreme Programming Examined. Addison Wesley, Reading (2001)
Tessem, B.: Experiences in learning XP practices: A qualitative study. In: Fourth International Conference on Extreme Programming and Agile Processes in Software Engineering (2003)
Lui, K., Chan, K.: When does a pair outperform two individuals? In: Fourth International Conference on Extreme Programming and Agile Processes in Software Engineering (2003)
Williams, L., Kessler, R.: Pair Programming Illuminated. Addison Wesley, Boston (2003)
Sharp, H., Robinson, H.: An ethnography of XP practices. In: Fifteenth annual psychology of programming interest group workshop (2003)
Bryant, S., Romero, P., du-Boulay, B.: Pair programming and the re-appropriation of individual tools for collaborative software development (In press)
Chi, M., de Leeuw, N., Chiu, M., Lavancher, C.: Eliciting self-explanations improves understanding. Cognitive Science 18, 439–477 (1994)
Hutchins, E.: Cognition in the wild. The MIT press, Cambridge (1995)
Ainworth, S., Loizou, A.T.: The effects of self-explaining when learning with text or diagrams. Cognitive Science 27, 669–681 (2003)
Ericsson, K., Simon, H.: Verbal reports as data. Psychological review 87(3), 215–251 (1980)
Cox, R.: Representation construction, externalized cognition and individual differences. Learning and instruction 9, 343–363 (1999)
Ericcson, K., Polson, P.: A cognitive analysis of exceptional memory for restaurant orders. In: Chi, M., Glaser, R., Farr, M. (eds.) The nature of Expertise, Lawrence Erlbaum Associates, Hillsdale (1988)
Schooler, J.A., Ohlsson, S., Brooks, K.: Thoughts beyond words: When language overshadows insight. Journal of experimental psychology: General 122(2), 166–183 (1993)
Suthers, D.: Towards a systematic study of representational guidance for collaborative learning discourse. Journal of Universal Computer Science 7(3) (2001)
Jeong, H., Chi, M.: Does collaborative learning lead to the construction of common knowledge? In: Twenty-second annual conference of the cognitive science society. Erlbaum, Hillsdale (2000)
Dillenbourg, P.: What do you mean by collaborative learning? In: Dillenbourg, D. (ed.) Collaborative learning: Cognitive and computational approachs, pp. 1–9. Elsevier, London (1999)
Roschelle, J., Teasley, S.D.: The construction of shared knowledge in collaborative problem solving. In: O’Malley, C.E. (ed.) Computer Supported Collaborative Learning, pp. 69–97. Springer, Heidelberg (1995)
Curtis, B.: By the way, did anyone study any real programmers? In: Soloway, E., Iyengar, S. (eds.) Empirical studies of programmers, pp. 256–261 (1986)
Bryant, S.: Double Trouble: Mixing quantitative and qualitative methods in the study of extreme programmers. In: Visual languages and human centric computing. IEEE Computer Society, Los Alamitos (2004)
Bryant, S., Romero, P., du-Boulay, B.: Pair Programming and the re-appropriation of individual tools for collaborative software development (in press)
Chi, M.: Quantifying qualitative analyses of verbal data: A practical guide. The journal of the learning sciences 6(3), 271–315 (1997)
Dick, A., Zarnett, B.: Paired programming and personality traits. In: Third International Conference on Extreme Programming and Agile Processes in Software Engineering (2002)
Hughes, J., Parkes, S.: Trends in the use of verbal protocol analysis in software engineering research. Behaviour and Information Technology 22(2), 127–140 (2003)
Pennington, N.: Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs. Cognitive Psychology 19, 295–341 (1987)
Beck, K.: Extreme Programming Explained: Embrace Change. Addison Wesley, Reading (2000)
Johnston, A., Johnson, C.S.: Extreme Programming: A more musical approach to software development. In: Goos, G., Hartmanis, J., van Leeuwen, J. (eds.) Proceedings of the 4th International conference in XP and Agile Processes in Software Engineering, pp. 325–327 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bryant, S., Romero, P., du Boulay, B. (2006). The Collaborative Nature of Pair Programming. In: Abrahamsson, P., Marchesi, M., Succi, G. (eds) Extreme Programming and Agile Processes in Software Engineering. XP 2006. Lecture Notes in Computer Science, vol 4044. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11774129_6
Download citation
DOI: https://doi.org/10.1007/11774129_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35094-1
Online ISBN: 978-3-540-35095-8
eBook Packages: Computer ScienceComputer Science (R0)