25
On the Effectiveness of Pair Programming Are two heads better than one? Tore Dybå Erik Arisholm Dag I.K. Sjøberg Jo E. Hannay Forrest Shull

On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Embed Size (px)

Citation preview

Page 1: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

On the Effectiveness

of Pair Programming

Are two heads better than one?

Tore DybåErik Arisholm

Dag I.K. Sjøberg

Jo E. Hannay

Forrest Shull

Page 2: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Beware: Very Short Paper!

5 Authors

3 Text pages

2 Figures

Page 3: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

About the Authors [1/5]

Page 4: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

About the Authors [2/5]

Page 5: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

About the Authors [3/5]

Page 6: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

About the Authors [4/5]

Page 7: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

About the Authors [5/5]

Page 8: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

#define PairProgramming

• 2 Programmers

• 1 Keyboard

DriverObserver/Navigator

Page 9: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Overview

• Paper’s Goal:

Empirically decide whether PP is “effective”

• Research Method:• Research Method:

Combine results from 15 different studies

• Conclusion: IT DEPENDS!

Page 10: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

15 Studies � 15 Results Formats

• Studies focused on different issues:

– Number of subject varies: 12 to 295

– US vs Europe

– Teams vs. Individuals– Teams vs. Individuals

– Students vs. Pros.

– Different grading method, scales

• Solution:

– Normalize: Subtract mean & Divide by std dev.

Page 11: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Measuring “Effectiveness”

• Duration == Calendar time to complete task

• Effort == Person-hours consumed

– 1 Person x 1 Hour == 1 Person-Hour– 1 Person x 1 Hour == 1 Person-Hour

– 2 Persons x 1 Hour == 2 Person-Hours

– 2 Persons x 2 Hours == 4 Person-Hours

• Quality == How good the final product is

Page 12: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Not Measuring

• Programmer’s Happiness

• Teamwork Improvement

• Knowledge Transfer

• Learning• Learning

Page 13: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Duration-Effort-Quality Relation

1 Year

~1/2 Year

Same Effort,

Shorter Duration

1 Year

Same Duration,

Twice the Effort,

Better quality

Page 14: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Duration-Effort-Quality Relation

3 weeks

FAIL

1.5 weeks

Page 15: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

OR

Which is it for Pair Programming?

Page 16: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (DON’T PANIC)

Page 17: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (DON’T PANIC)

Quality

Page 18: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (DON’T PANIC)

Quality

Page 19: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (DON’T PANIC)

Duration

Page 20: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (DON’T PANIC)

Effort

Page 21: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (English)

• PP moderately contributes to QUALITY

• PP moderately reduces the DURATION

– Note, there are exceptions!

• PP moderately increases EFFORT ($$$)• PP moderately increases EFFORT ($$$)

• Exploring beyond the avg case reveals more..

Page 22: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

The Result (DON’T PANIC)

Quality

Effort

Duration

Page 23: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

“…The extent to which group performance

exceeds that of individuals depends on

the group’s composition and the tasks’ characteristics.”

Page 24: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

Conclusion: When to use PP

Page 25: On the Effectiveness of Pair Programming - huji.ac.ilfeit/sem/se11/PairProgramming.pdf · On the Effectiveness of Pair Programming Aretwo heads better than one? Tore Dybå Erik Arisholm

?