Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Are two heads better than one? On the effectiveness of pair programming
Dybå T., Arisholm E., Sjøberg D., Hannay J., Shull F. IEEE Software24 (6):12-15,2007.Type:Article
Date Reviewed: Apr 8 2008

For software team managers, the development of guidelines based on empirical evidence about pair programming (PP) enriches software engineering (SE) knowledge. This paper compares the literature on PP experiences, and examines PP’s effectiveness: project duration, effort required, and software quality.

The paper compares the effects of PP and individual programming in academic settings (11 studies) and the software industry (four studies) from 1998 to 2007. The authors use Hedges’s g metric [1] to standardize the size of effects and compare study results. The studies are found to be generally consistent, and the meta-analysis suggests that PP, compared with individual programming, leads to a medium-sized increase in quality; the picture is muddier concerning the effort and calendar time required to achieve that increase. The authors hypothesize that two factors--team composition and task characteristics--mediate these relationships, causing studies to differ.

One analyzed study investigates the impact of these two factors on PP effectiveness [2]. It finds that two people programming by shifts have sharper eyes and detect more code errors, thus improving software quality. But whether two heads are better than one depends on both programmer expertise and task complexity. Other evidence gathered [2] suggests that if the programmer is junior and the task is either simple or complex, use PP--provided that increased quality is the main goal; if the programmer is senior and the task is either simple or complex, do not use PP--unless you are sure that the task is too complex to be solved satisfactorily by one senior programmer.

Reviewer:  Silvia Teresita Acuqa Review #: CR135460 (0902-0169)
1) Lipsey, M.W.; Wilson, D.B. Practical meta-analysis. Sage Publications, Thousand Oaks, CA, 2001.
2) Gallis, H.; Arisholm, E.; Dybå, T.; Sjøberg, D.I.K. Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Transactions on Software Engineering 33, 2(2007), 65–86.
Bookmark and Share
  Reviewer Selected
 
 
Programming Teams (D.2.9 ... )
 
 
Collaborative Computing (H.5.3 ... )
 
 
Software Process (K.6.3 ... )
 
 
Software Process Models (D.2.9 ... )
 
 
Software Quality Assurance (SQA) (D.2.9 ... )
 
 
Group And Organization Interfaces (H.5.3 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Programming Teams": Date
Inside a software design team
Walz D., Elam J., Curtis B. (ed) Communications of the ACM 36(10): 63-77, 1993. Type: Article
Oct 1 1994
The psychology of computer programming (silver anniversary ed.)
Weinberg G. (ed), Dorset House Publ. Co., Inc.,  New York, NY, 1998. Type: Book (9780932633422)
Mar 1 1999
All I really need to know about pair programming I learned in kindergarten
Williams L., Kessler R. Communications of the ACM 43(5): 108-114, 2000. Type: Article
Jul 1 2000
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy