When Does a Pair Outperform Two Individuals?
This paper reports experimental measurements of productivity and quality in pair programming. The work complements Laurie Williams’ work on collaborative programming, in which Pair Programming and Solo Programming student groups wrote the same programs and then their activities were measured to investigate productivity, quality, etc. In this paper, Pair and Solo industrial programmer groups are requested to complete algorithm-style aptitude tests so as to observe the capability of solving algorithms in singles and in pairs. So doing is independent of the familiarity of a programming language. Besides, we also take another approach to examining pair programming. A single group of industrial programmers carries alternately out Pair Programming and Solo Programming. All these demonstrate that productivity in pair programming hinges upon algorithm design at all levels from understanding problems and implementing solutions. In addition, we reach similar conclusions to Williams. Our findings indicate that simple design, refactoring, and rapid feedback provide an excellent continuous-design environment for higher productivity in pair programming.
Unable to display preview. Download preview PDF.
- 1.Williams, L. The Collaborative Software Process, Ph.D. dissertation, University of Utah, (2000)Google Scholar
- 2.Williams, L. Pair Programming: Why Have Two Do the Work of One? Extreme Programming Perspective, Edited by Marchesi, M, Succi G, Wells, D and Williams, L p.p. 23–33, Addison Wesley, (2002)Google Scholar
- 3.Kennedy J and Eberhart R, Swarm Intelligence, Morgan Kaufmann Publishers, p.p. 17–19, (2001)Google Scholar
- 4.Munzert, A. Part IV: Computer I.Q. — Program Procedure Test Your IQ, third Edition, p.p. 112–117, Random House, (1994)Google Scholar
- 5.Gokhale, A. Collaborative Learning Enhances Critical Thinking, Journal of Technology Education Volume 7,Number 1 Fall (1995). On-line at http://scholar.lib.vt.edu/ejournals/JTE/
- 6.VanLengen, C and Maddux, C. Does Instruction in Computer Programming Improve Problem Solving Ability? Journal of IS Education 12, (1990). On-line at http://gise.org/JISE/