Evaluating pair programming with respect to system complexity and programmer expertise

被引:144
作者
Arisholm, Erik
Gallis, Hans
Dyba, Tore
Sjoberg, Dag I. K.
机构
[1] Simula Res Lab, NO-1325 Lysaker, Norway
[2] Simula Res Lab, NO-7465 Trondheim, Norway
[3] SINTEF Informat & Commun Technol, NO-7465 Trondheim, Norway
关键词
empirical software engineering; pair programming; extreme programming; design principles; control styles; object-oriented programming; software maintainability; quasi-experiment;
D O I
10.1109/TSE.2007.17
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A total of 295 junior, intermediate, and senior professional Java consultants ( 99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to participate in a controlled experiment on pair programming. The subjects used professional Java tools to perform several change tasks on two alternative Java systems with different degrees of complexity. The results of this experiment do not support the hypotheses that pair programming in general reduces the time required to solve the tasks correctly or increases the proportion of correct solutions. On the other hand, there is a significant 84 percent increase in effort to perform the tasks correctly. However, on the more complex system, the pair programmers had a 48 percent increase in the proportion of correct solutions but no significant differences in the time taken to solve the tasks correctly. For the simpler system, there was a 20 percent decrease in time taken but no significant differences in correctness. However, the moderating effect of system complexity depends on the programmer expertise of the subjects. The observed benefits of pair programming in terms of correctness on the complex system apply mainly to juniors, whereas the reductions in duration to perform the tasks correctly on the simple system apply mainly to intermediates and seniors. It is possible that the benefits of pair programming will exceed the results obtained in this experiment for larger, more complex tasks and if the pair programmers have a chance to work together over a longer period of time.
引用
收藏
页码:65 / 86
页数:22
相关论文
共 50 条
[1]  
[Anonymous], 2000, THESIS U UTAH
[2]  
[Anonymous], P 4 INT C EXTR PROGR
[3]  
[Anonymous], P 33 SIGCSE TECHN S
[4]   Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software [J].
Arisholm, E ;
Sjoberg, DIK .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (08) :521-534
[5]  
Arisholm E., 2002, Nordic Journal of Computing, V9, P231
[6]  
ARISHOLM E, 2003, 20036 SIM RES LAB
[7]   Embracing change with extreme programming [J].
Beck, K .
COMPUTER, 1999, 32 (10) :70-+
[8]  
Beck K., 2004, Extreme Programming Explained: Embrace Change, V2nd
[9]   SOCIAL FACILITATION - A META-ANALYSIS OF 241 STUDIES [J].
BOND, CF ;
TITUS, LJ .
PSYCHOLOGICAL BULLETIN, 1983, 94 (02) :265-292
[10]  
Brown R., 2000, Group processes, V2nd