Skip to main content

The Collaborative Nature of Pair Programming

  • Conference paper
Extreme Programming and Agile Processes in Software Engineering (XP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4044))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Williams, L., et al.: Strengthening the case for pair programming. IEEE software 17(4), 19–25 (2000)

    Article  Google Scholar 

  2. Jensen, R.: A pair programming experience. The journal of defensive software engineering 16(3), 22–24 (2003)

    Google Scholar 

  3. Nosek, J.T.: The case for collaborative programming. Communications of the ACM 41(3), 105–108 (1998)

    Article  Google Scholar 

  4. Cockburn, A., Williams, L.: The costs and benefits of pair programming. In: Succi, G., Marchesi, M. (eds.) Extreme Programming Examined. Addison Wesley, Reading (2001)

    Google Scholar 

  5. Tessem, B.: Experiences in learning XP practices: A qualitative study. In: Fourth International Conference on Extreme Programming and Agile Processes in Software Engineering (2003)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Williams, L., Kessler, R.: Pair Programming Illuminated. Addison Wesley, Boston (2003)

    Google Scholar 

  8. Sharp, H., Robinson, H.: An ethnography of XP practices. In: Fifteenth annual psychology of programming interest group workshop (2003)

    Google Scholar 

  9. Bryant, S., Romero, P., du-Boulay, B.: Pair programming and the re-appropriation of individual tools for collaborative software development (In press)

    Google Scholar 

  10. Chi, M., de Leeuw, N., Chiu, M., Lavancher, C.: Eliciting self-explanations improves understanding. Cognitive Science 18, 439–477 (1994)

    Article  Google Scholar 

  11. Hutchins, E.: Cognition in the wild. The MIT press, Cambridge (1995)

    Google Scholar 

  12. Ainworth, S., Loizou, A.T.: The effects of self-explaining when learning with text or diagrams. Cognitive Science 27, 669–681 (2003)

    Article  Google Scholar 

  13. Ericsson, K., Simon, H.: Verbal reports as data. Psychological review 87(3), 215–251 (1980)

    Article  Google Scholar 

  14. Cox, R.: Representation construction, externalized cognition and individual differences. Learning and instruction 9, 343–363 (1999)

    Article  Google Scholar 

  15. 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)

    Google Scholar 

  16. Schooler, J.A., Ohlsson, S., Brooks, K.: Thoughts beyond words: When language overshadows insight. Journal of experimental psychology: General 122(2), 166–183 (1993)

    Article  Google Scholar 

  17. Suthers, D.: Towards a systematic study of representational guidance for collaborative learning discourse. Journal of Universal Computer Science 7(3) (2001)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Bryant, S., Romero, P., du-Boulay, B.: Pair Programming and the re-appropriation of individual tools for collaborative software development (in press)

    Google Scholar 

  24. Chi, M.: Quantifying qualitative analyses of verbal data: A practical guide. The journal of the learning sciences 6(3), 271–315 (1997)

    Article  Google Scholar 

  25. Dick, A., Zarnett, B.: Paired programming and personality traits. In: Third International Conference on Extreme Programming and Agile Processes in Software Engineering (2002)

    Google Scholar 

  26. 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)

    Article  Google Scholar 

  27. Pennington, N.: Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs. Cognitive Psychology 19, 295–341 (1987)

    Article  Google Scholar 

  28. Beck, K.: Extreme Programming Explained: Embrace Change. Addison Wesley, Reading (2000)

    Google Scholar 

  29. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics