Slide 1

Slide 1 text

Pair Programming Myth Busters

Slide 2

Slide 2 text

2 What is Pair Programming? Two programmers work as a pair together on one workstation.

Slide 3

Slide 3 text

3 Nuts & Bolts Driver Navigator Roles

Slide 4

Slide 4 text

4 Nuts & Bolts Pair Rotation

Slide 5

Slide 5 text

5 But…

Slide 6

Slide 6 text

6 “If a task takes 1 hour, it takes 2 hours in pair programming.” Myth #1 myth \ˈmith\ noun an idea or story that is believed by many people but that is not true. Merrium-Webster ®

Slide 7

Slide 7 text

7 Pairing doubles the time? “That would be true if the hardest part of programming was typing.” Martin Fowler

Slide 8

Slide 8 text

8 Pairing doubles the time? “Pairs spend 15% more time than individuals. However, resulting code has about 15% fewer defects.” Cockburn, Alistair; Williams, Laurie (2000). "The Costs and Benefits of Pair Programming" (PDF) . Proceedings of the First International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2000)

Slide 9

Slide 9 text

9 Pairing doubles the time? —Cockburn, Alistair; Williams, Laurie (XP2000) “Pairs typically consider more design alternatives.” “… arrives at simpler, more maintainable designs.” “They also catch design defects early.”

Slide 10

Slide 10 text

10 Pairing doubles the time? trust work is fun everyone is a star! continuous review

Slide 11

Slide 11 text

11 “If a task takes 1 hour, it takes 2 hours in pair programming.” Myth #1

Slide 12

Slide 12 text

12 “This fix is needed urgently; it is better done alone to save time.” Myth #2

Slide 13

Slide 13 text

13 Is pairing slower? time if 30% extra even if 100% extra!

Slide 14

Slide 14 text

14 pairing == slower bug fixing?

Slide 15

Slide 15 text

15 “This fix is needed urgently.” Pairing not for emergency? confidence minimize regression

Slide 16

Slide 16 text

16 “This fix is needed urgently; it is better done alone to save time.” Myth #2

Slide 17

Slide 17 text

17 “It works well only with right partner.” Myth #3

Slide 18

Slide 18 text

18 Pairing with People Is there a right partner? openness verbal communication brainstorming feedback negotiation

Slide 19

Slide 19 text

19 One more thing… You’ll know yourself better You’ll know your team better!

Slide 20

Slide 20 text

20 Myth #3 “It works well only with right partner.” partner.”

Slide 21

Slide 21 text

21 “It is good only for complex tasks; there is no need to pair program on simple tasks.” Myth #4

Slide 22

Slide 22 text

22 Simple task Pairing not for simple tasks? Repetitive? Quick? pairing motivates

Slide 23

Slide 23 text

23 “If I'm writing boring repetitive code it's usually a sign that I've missed an important abstraction, Pairing will help you find that abstraction.” - Martin Fowler Pairing not for simple tasks?

Slide 24

Slide 24 text

24 Ending notes…

Slide 25

Slide 25 text

25 The Book

Slide 26

Slide 26 text

26 Dedicated to… Bhattu Hari Krishna my first pair programmer - Ragu Ragunathan Pattabiraman my worst pair programmer - Rajesh & Bill Watterson creator of Calvin and Hobbes the finest of pair programmers

Slide 27

Slide 27 text

Thank you Ragunathan Pattabiraman Rajesh Yanuganti