Evidence-Based Software Engineering

EBSE for...

Software Engineering Evidence Map

One of the goals of this website is to document secondary studies of software engineering topics. This page classifies SLRs and mapping studies using the knowledge areas defined by the SWEBOK.

CategoryStudiesStudy Details

[S61] The effectiveness of pair programming: A meta-analysis

2009, Hannay, Jo E. and Dyba, Tore and Arisholm, Erik and Sjoberg, Dag I. K.

Source: IST Virtual Special Issue on Systematic Reviews in Information and Software Engineering

Several experiments on the effects of pair versus solo programming have been reported in the literature. We present a meta-analysis of these studies. The analysis shows a small significant positive overall effect of pair programming on quality, a medium significant positive overall effect on duration, and a medium significant negative overall effect on effort. However, between-study variance is significant, and there are signs of publication bias among published studies on pair programming. A more detailed examination of the evidence suggests that pair programming is faster than solo programming when programming task complexity is low and yields code solutions of higher quality when task complexity is high. The higher quality for complex tasks comes at a price of considerably greater effort, while the reduced completion time for the simpler tasks comes at a price of noticeably lower quality. We conclude that greater attention should be given to moderating factors on the effects of pair programming.
Our Assessment: The analysis shows that getting benefit from pair-programming is probably due to a combination of moderating effects such as programmer experience and task complexity and may also depend on whether you want quality or speed.
Software RequirementsS23, S26, S27, S63
Software DesignS1, S25, S31, S38
Software ConstructionS18, S43, S61
Software TestingS10, S17, S28, S62
Software MaintenanceS24, S30
Software Configuration Management -
Software Engineering ManagementM4, S5, S7, S8, S11, S12, S14, S21, S22, S29, S45, S46, S53, S66
Software Engineering ProcessesS3, S41, S47, S49, S50
Software Engineering Tools and MethodsS60, S64, S65
Software QualityM1, S15
Unclassified -