Pair Programming vs. Side-by-Side Programming

  • Jerzy R. Nawrocki
  • Michał Jasiński
  • Łukasz Olek
  • Barbara Lange
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3792)

Abstract

In agile methodologies communication between programmers is very important. Some of them (e.g. XP or Crystal Clear) recommend pair programming. There are two styles of pair programming: XP-like and side-by-side (the latter comes from Crystal Clear). In the paper an experiment is described that aimed at comparison of those two styles. The subjects were 25 students of Computer Science of 4 th and 5 th year of study. They worked for 6 days at the university (in a controlled environment) programming web-based applications with Java, Eclipse, MySQL, and Tomcat. The results obtained indicate that side-by-side programming is a very interesting alternative to XP-like pair programming mainly due to less effort overhead (in the experiment the effort overhead for side-by-side programming was as small as 20%, while for XP it was about 50%).

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Basili, V.E., Lanubile, F.: Building Knowledge through Families of Experiments. IEEE Transactions on Software Engineering 25(4), 456–473 (1999)CrossRefGoogle Scholar
  2. 2.
    Beck, K.: Extreme Programming Explained. Embrace Change. Addison-Wesley Professional, Reading (1999)Google Scholar
  3. 3.
    Brooks, R.E.: Studying programmer behavior experimentally: the problems of proper methodology. Communications of the ACM 23(4), 207–213 (1980)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Brzeziński, J.: Metodologia badań psychologicznych. Wydawnictwo Naukowe PWN (2004)Google Scholar
  5. 5.
    Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)Google Scholar
  6. 6.
    Cockburn, A.: Agile Software Development. Addison-Wesley, Reading (2002)Google Scholar
  7. 7.
    Cockburn, A.: Crystal Clear. A Human-Powered Methodology for Small Teams. Addison-Wesley, Reading (2005)Google Scholar
  8. 8.
    Dickey, T.F.: Programmer variability. Proceedings of the IEEE 69(7), 844–845 (1981)CrossRefGoogle Scholar
  9. 9.
    Humphrey, W.: A Discipline for Software Engineering. Addison-Wesley, Reading (1995)Google Scholar
  10. 10.
  11. 11.
    Lui, K.M., Chan, K.C.C.: When Does a Pair Outperform Two Individuals? In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 225–233. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Montgomery, D.C.: Introduction to Statistical Quality Control, 3rd edn. John Wiley & Sons, Inc., Chichester (1997)MATHGoogle Scholar
  13. 13.
    Nawrocki, J., Wojciechowski, A.: Experimental Evaluation of Pair Programming. In: Maxwell, K., Oligny, S., Kusters, R., van Veenedaal, E. (eds.) Project Control: Satisfying the Customer. Proceedings of the 12th European Software Control and Metrics Conference, pp. 269–276. Shaker Publishing, London (2001)Google Scholar
  14. 14.
    Nosek, J.T.: The Case for Collaborative Programming. Communications of the ACM 41(3), 105–108 (1998)CrossRefGoogle Scholar
  15. 15.
    Padberg, F., Mueller, M.: An Empirical study about the Feelgood Factor in Pair Programming. In: Proceedings of the 10th International Symposium on Software Metrics METRICS 2004. IEEE Press, Los Alamitos (2004)Google Scholar
  16. 16.
    Pressman, R.S.: Software Engineering: A Practitioner’s Approach, 5th edn. McGraw-Hill, New York (2001)Google Scholar
  17. 17.
    Sackman, H., Erikson, W.J., Grant, E.E.: Exploratory Experimental Studies Comparing Online and Offline Programming Performance. Communications of ACM 11(1), 3–11 (1968)CrossRefGoogle Scholar
  18. 18.
    Shapiro, S.S., Wilk, M.B.: An analysis of variance test for normality (complete samples). Biometrika 52(3&4), 591–611 (1965)MATHMathSciNetGoogle Scholar
  19. 19.
    Sheil, B.A.: The Psychological Study of Programming. ACM Computing Surveys 13(1), 101–120 (1981)CrossRefGoogle Scholar
  20. 20.
    Tichy, W.F.: Should Computer Scientists Experiment More? IEEE Computer 31(5), 32–40 (1998)MathSciNetGoogle Scholar
  21. 21.
    Williams, L.: The Collaborative Software Process. PhD Dissertation at Department of Computer Science, University of Utah, Salt Lake City (2000)Google Scholar
  22. 22.
    Williams, L., et al.: Strengthening the Case for Pair Programming. IEEE Software 17(4), 19–25 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jerzy R. Nawrocki
    • 1
  • Michał Jasiński
    • 1
  • Łukasz Olek
    • 1
  • Barbara Lange
    • 1
  1. 1.Poznan University of TechnologyPoznanPoland

Personalised recommendations