The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ......

16
The Good, the Bad, and the Ugly of Pair Development A Spikers Story February 6,2018

Transcript of The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ......

Page 1: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Good, the Bad, and the Ugly of

Pair Development A Spikers Story

February 6,2018

Page 2: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

Contents

1

• Paired Programming – A little fun

• But we can’t pair all the time!

• Why Pair

• The Psychology of Working in teams

• How do you pair?

• What’s your flavor?

• The Ugly, The Bad, and The Good

• Spikers in Action

• Questions

Page 3: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

Paired Programming - video

• Pairing Video

2

Page 4: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

• Does it really work?

• Doesn’t it slow you down?

• Does it hamper creativity?

• Doesn’t it cost more?

• We have an odd number

• Not everyone is in the office at the same time

• We have meetings where people disappear

• How do you overcome individuals not wanting to pair?

3

Pair Development: But we can’t pair all the time!

Page 5: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

Why Pair

• Knowledge Transfer

• Code Review

• Skill Uplift

• Poly-Skill Opportunities

• Increased Focus

• Better Code

• Fewer Interruptions

4

Page 6: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Psychology of Working in Teams

• Introverts vs Extroverts

– Believe it or not, there is a cause and effect

– The preference to work alone

– Can cause anxiety with team members

– Transparency will expose problems versus solving them

for the team

– A major reason why team members refuse to pair

– Understanding the definition of collective code ownership

5

Page 7: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Psychology of Working in Teams

• The truth is in the numbers (metrics)

• A productive team is a successful team (lower error count,

predictive velocity, sustainable pace, etc.)

• Belief that pairs are more successful which makes the

team more successful

• Growth and team success with overcome the individual

fear of pair development

6

Page 8: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

How do you pair?

7

Dev/Dev or

Test/Test / Bad Dev/Test / Good

Development or Testing

Requirements Development

or Testing

Requirements

Testing

Development

Execution Model

Silos / Ugly

Page 9: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

What’s your Flavor?

• Dev/Dev

– Two developers one computer working on the same story card

• One is driving the work

• One is code reviewing

• Test/Test

– Two testers one computer working on the same story card

• One is driving the work

• One is code reviewing

• Dev/Test

– Two developers one computer working on the same story card

• One is driving the work from a development standpoint

• One is driving the work from a test automation stand point

• Both quality review each other’s work

8

Page 10: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Good, the Bad, and the Ugly of the Spikers Line - During

Transition

9

Page 11: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Ugly

• The team is formed

– Used the vendor methodology with a mix of NW Line

– Water-Scrum-Fall execution model

– Development in a sprint then testing in a separate sprint

• How did we bring testing into the model?

10

Page 12: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Bad

• Started to incorporate standard work on the line

• Formal code review was done with Vendor

• Incrementally added pair development approach with team

resistance (dev/dev & Test-Test)

– How we overcame resistance

• Data

• Tough love

11

Page 13: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Good, the Bad, and the Ugly of the Spikers Line - Steady

State

12

70 73

63 63 61

50

67

77 83 81 78

57

69

90

54

65 61

65

77

69 73

61 57

61 68

78

89 82

68 71 73 73

53

72

43

62

0

10

20

30

40

50

60

70

80

90

100

20

17-1

0

20

17-1

1

20

17-1

2

20

17-1

3

20

17-1

4

20

17-1

5

20

17-1

6

20

17-1

7

20

17-1

8

20

17-1

9

20

17-2

0

20

17-2

1

20

17-2

2

20

17-2

3

20

17-2

4

20

17-2

5

20

17-2

6

20

18-0

1

Po

ints

Iteration

Velocity

Actual Committed

6

5 5

4

0

6

5

6 6

7

3

5

4 4

1 1

0

0

1

2

3

4

5

6

7

8

Err

ors

/ P

oin

ts

Iteration

Iteration Error #

Page 14: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

The Good

• Looked at Amigo, Entry and Exits as pairing

• Implemented Dev/Test pairing

– Followed a story card all the way to completion

– Poly-Skill (Dev is Test and Test is Dev)

• Major focus on TDD and ATDD

– All automation is created before development begins

13

Page 15: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

Spikers In Action

14

Page 16: The Good, the Bad, and the Ugly of Pair Development · • The Ugly, The Bad, and The Good ... •Not everyone is in the office at the same time •We have meetings where people disappear

15