Virtual Teaming: Experiments and Experiences with Distributed Pair Programming

  • David Stotts
  • Laurie Williams
  • Nachiappan Nagappan
  • Prashant Baheti
  • Dennis Jen
  • Anne Jackson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2753)


Pair programming is a practice in which two programmers work together at one computer, collaborating on the same design, algorithm, code or test. Previous studies have shown that pair programmers produce higher quality code in essentially the same amount of time as solo programmers. Additional benefits include increased job satisfaction, improved team communication, and efficient tacit knowledge sharing. However, it may not always be possible for all team members to be collocated due to the rise in teleworking and geographically distributed teams. This paper analyzes the results of two distributed pair programming case studies done at UNC Chapel Hill and at NC State University. Participants used readily available off-the-shelf applications for collaborative software development. The results indicate that software development collaboratively “over the wire” is feasible, effective, and pleasant for the participants; distributed development is better done as synchronous pairs than as individuals who integrate; and distributed pairs maintain many of the advantages of collocated pairs.


Distance Education Virtual Team Technical Infrastructure Voice Communication Pair Member 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baheti, P., Gehringer, E., Stotts, D.: Exploring the Efficacy of Distributed Pair Programming. In: Proceedings Extreme Programming/Agile Universe, Chicago, IL (2002)Google Scholar
  2. 2.
    Baheti, P., Williams, L., Gehringer, E., Stotts, D.: Exploring Pair Programming in Distributed Object-Oriented Team Projects. In: Proceedings OOPSLA Educator’s Syposium, Seattle, WA (2002)Google Scholar
  3. 3.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (2000)Google Scholar
  4. 4.
    Beck, K.: Test Driven Development – by Example. Addison Wesley, Boston (2003)Google Scholar
  5. 5.
    Cockburn, A., Williams, L.: The Costs and Benefits of Pair Programming. In: Succi, G., Marchesi, M. (eds.) Extreme Programming Examined, pp. 223–248. Addison-Wesley, Boston (2001)Google Scholar
  6. 6.
    Dutoit, A.H., Bruegge, B.: Communication Metrics for Software Development. In: IEEE Transactions on Software Engineering, pp. 615–628 (1998)Google Scholar
  7. 7.
    Foley, S.P.: The Boundless Team: Virtual Teaming. Seminar in Industrial and Engineering Systems, Master of Science in Technology (MST) Graduate Program, Northern Kentucky University MST 660, July 24 (2000)Google Scholar
  8. 8.
    George, B., Mansour, Y.M.: A Multidisciplinary Virtual Team. In: Proceedings Systemics, Cybernetics and Informatics, SCI 2002 (2002)Google Scholar
  9. 9.
    George, B., Williams, L.: An Initial Investigation of Test-Driven Development in Industry. In: Proceedings ACM Symposium on Applied Computing, Melbourne, FL (2003)Google Scholar
  10. 10.
    Gould, D.: Leading Virtual Teams, Leader Values (Electronic) July 9 (2000),
  11. 11.
    Humphrey, W.S.: A Discipline for Software Engineering. Addison Wesley Longman, Inc, Reading (1995)Google Scholar
  12. 12.
    McMahon, P.E.: Distributed Development: Insights, Challenges, and Solutions. CrossTalk (2001),
  13. 13.
    McMahon, P.E.: Virtual Project Management: Software Solutions for Today and the Future. St. Lucie Press, Boca Raton (2001)Google Scholar
  14. 14.
    Nosek, J.T.: The Case for Collaborative Programming. Communications of the ACM, 105–108 (March 1998)Google Scholar
  15. 15.
    Olson, G.M., Olson, J.S.: Distance Matters. In: Proceedings Human Computer Interaction (2000)Google Scholar
  16. 16.
    Stotts, D., Smith, J., Williams, L.A.: A Video-Enhanced Environment for Distributed Extreme Programming. Department of Computer Science. Univ. of North Carolina at Chapel Hill, Chapel Hill, NC TR–02–009, March 1 (2002)Google Scholar
  17. 17.
    Traub, J.: This Campus is Being Simulated. The New York Times Magazine, 88–93 (2000)Google Scholar
  18. 18.
    Williams, L., Kessler, R.: Pair Programming Illuminated. Addison Wesley, Reading (2003)Google Scholar
  19. 19.
    Williams, L., Kessler, R., Cunningham, W., Jeffries, R.: Strengthening the Case for Pair-Programming. IEEE Software 17, 19–25 (2000)CrossRefGoogle Scholar
  20. 20.
    Williams, L.A.: The Collaborative Software Process PhD Dissertation, Department of Computer Science. University of Utah, Salt Lake City (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • David Stotts
    • 1
  • Laurie Williams
    • 2
  • Nachiappan Nagappan
    • 2
  • Prashant Baheti
    • 2
  • Dennis Jen
    • 1
  • Anne Jackson
    • 2
  1. 1.Dept. of Computer ScienceUniversity of North CarolinaChapel HillUSA
  2. 2.Dept. of Computer ScienceNorth Carolina State UniversityRaleighUSA

Personalised recommendations