Advertisement

The Collaborative Nature of Pair Programming

  • Sallyann Bryant
  • Pablo Romero
  • Benedict du Boulay
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Computer Support Collaborative Learn Collaborative Nature Extreme Program Agile Process Verbal Protocol Analysis 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Williams, L., et al.: Strengthening the case for pair programming. IEEE software 17(4), 19–25 (2000)CrossRefGoogle Scholar
  2. 2.
    Jensen, R.: A pair programming experience. The journal of defensive software engineering 16(3), 22–24 (2003)Google Scholar
  3. 3.
    Nosek, J.T.: The case for collaborative programming. Communications of the ACM 41(3), 105–108 (1998)CrossRefGoogle Scholar
  4. 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. 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. 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. 7.
    Williams, L., Kessler, R.: Pair Programming Illuminated. Addison Wesley, Boston (2003)Google Scholar
  8. 8.
    Sharp, H., Robinson, H.: An ethnography of XP practices. In: Fifteenth annual psychology of programming interest group workshop (2003)Google Scholar
  9. 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. 10.
    Chi, M., de Leeuw, N., Chiu, M., Lavancher, C.: Eliciting self-explanations improves understanding. Cognitive Science 18, 439–477 (1994)CrossRefGoogle Scholar
  11. 11.
    Hutchins, E.: Cognition in the wild. The MIT press, Cambridge (1995)Google Scholar
  12. 12.
    Ainworth, S., Loizou, A.T.: The effects of self-explaining when learning with text or diagrams. Cognitive Science 27, 669–681 (2003)CrossRefGoogle Scholar
  13. 13.
    Ericsson, K., Simon, H.: Verbal reports as data. Psychological review 87(3), 215–251 (1980)CrossRefGoogle Scholar
  14. 14.
    Cox, R.: Representation construction, externalized cognition and individual differences. Learning and instruction 9, 343–363 (1999)CrossRefGoogle Scholar
  15. 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. 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)CrossRefGoogle Scholar
  17. 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. 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. 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. 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. 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. 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. 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. 24.
    Chi, M.: Quantifying qualitative analyses of verbal data: A practical guide. The journal of the learning sciences 6(3), 271–315 (1997)CrossRefGoogle Scholar
  25. 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. 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)CrossRefGoogle Scholar
  27. 27.
    Pennington, N.: Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs. Cognitive Psychology 19, 295–341 (1987)CrossRefGoogle Scholar
  28. 28.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison Wesley, Reading (2000)Google Scholar
  29. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Sallyann Bryant
    • 1
  • Pablo Romero
    • 1
  • Benedict du Boulay
    • 1
  1. 1.IDEAS LaboratoryUniversity of SussexFalmerUK

Personalised recommendations