Top Banner
Pair Programming Ken Fassone @nexusventuri Pat Kua @patkua The Good , the Bad and the Ugly
57

Pair Programming: Good, Bad and Ugly

Jan 15, 2015

Download

Technology

Patrick Kua

Presentation accompanying workshop for OOP Conference 2012
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pair Programming: Good, Bad and Ugly

Pair Programming

Ken Fassone @nexusventuri

Pat Kua@patkua

The Good, the Bad and the Ugly

Page 2: Pair Programming: Good, Bad and Ugly

Tageskarte

Introduction to pair programming

Demonstration

Roles we identified

Pairing Workshop

Q&A

Page 3: Pair Programming: Good, Bad and Ugly

Introduction

Page 4: Pair Programming: Good, Bad and Ugly

Roles

Introduction

Roles

Page 5: Pair Programming: Good, Bad and Ugly

BenefitsBenefits

Roles

Introduction

Page 6: Pair Programming: Good, Bad and Ugly

PatternsPatternsBenefits

Roles

Introduction

Page 7: Pair Programming: Good, Bad and Ugly

What is pair programming?

Page 8: Pair Programming: Good, Bad and Ugly
Page 9: Pair Programming: Good, Bad and Ugly

Driver

Page 10: Pair Programming: Good, Bad and Ugly

Driver Navigator

Page 11: Pair Programming: Good, Bad and Ugly

Benefits

Page 12: Pair Programming: Good, Bad and Ugly

Benefits

Continuous feedback

Page 13: Pair Programming: Good, Bad and Ugly

Benefits

Continuous feedback

Merged ideas

Page 14: Pair Programming: Good, Bad and Ugly

Benefits

Continuous feedback

Merged ideas

Knowledge spreading

Page 15: Pair Programming: Good, Bad and Ugly

Benefits

Continuous feedback

Merged ideas

Knowledge spreading

More Focus

Page 16: Pair Programming: Good, Bad and Ugly

Benefits

Continuous feedback

Merged ideas

Knowledge spreading

More Focus

Better code

Page 17: Pair Programming: Good, Bad and Ugly

Benefits

Continuous feedback

Merged ideas

Knowledge spreading

More Focus

Better code

More consistency

Page 18: Pair Programming: Good, Bad and Ugly

Demonstration

Page 19: Pair Programming: Good, Bad and Ugly

Roman numbers kata

Demonstration

Roman numbers kata

Page 20: Pair Programming: Good, Bad and Ugly

Behaviour demonstration

Demonstration

Roman numbers kataBehaviour demonstration

Page 21: Pair Programming: Good, Bad and Ugly

Demonstration

Roman numbers kataBehaviour demonstration(good, bad and ugly...)

Page 22: Pair Programming: Good, Bad and Ugly

Demonstration

Page 23: Pair Programming: Good, Bad and Ugly

Roles

Good

Bad

Ugly

Page 24: Pair Programming: Good, Bad and Ugly

RolesBad

“Characteristics people should do less of (but aren’t so much of a problem)...”

Page 25: Pair Programming: Good, Bad and Ugly

Alpha male

Page 26: Pair Programming: Good, Bad and Ugly

Bunny

Page 27: Pair Programming: Good, Bad and Ugly

Rodolfo Valentino

Page 28: Pair Programming: Good, Bad and Ugly

RolesUgly

“Characteristics people should stop immediately”

Page 29: Pair Programming: Good, Bad and Ugly

Monk

Page 30: Pair Programming: Good, Bad and Ugly

Puppet master

Page 31: Pair Programming: Good, Bad and Ugly

Auditor

Page 32: Pair Programming: Good, Bad and Ugly

RolesGood

“Characteristics people should continue/do more of...”

Page 33: Pair Programming: Good, Bad and Ugly

Mentor

Page 34: Pair Programming: Good, Bad and Ugly

Moleskine

Page 35: Pair Programming: Good, Bad and Ugly

Captain

Page 36: Pair Programming: Good, Bad and Ugly

Pairing Workshop

Page 37: Pair Programming: Good, Bad and Ugly

Pairing Workshop

1. Form groups of 3 (navigator, driver + observer)

Page 38: Pair Programming: Good, Bad and Ugly

Pairing Workshop

1. Form groups of 3 (navigator, driver + observer)2. Navigator and driver (secretly) choose a role

Page 39: Pair Programming: Good, Bad and Ugly

Pairing Workshop

1. Form groups of 3 (navigator, driver + observer)2. Navigator and driver (secretly) choose a role3. Navigator and driver make a story using all the words

Page 40: Pair Programming: Good, Bad and Ugly

Pairing Workshop

1. Form groups of 3 (navigator, driver + observer)2. Navigator and driver (secretly) choose a role3. Navigator and driver make a story using all the words 4. Observer observes (5 minutes) and suggests improvements

Page 41: Pair Programming: Good, Bad and Ugly

Pairing Workshop

1. Form groups of 3 (navigator, driver + observer)2. Navigator and driver (secretly) choose a role3. Navigator and driver make a story using all the words 4. Observer observes (5 minutes) and suggests improvements5. After 10 minutes you switch roles

Page 42: Pair Programming: Good, Bad and Ugly

Write a story that includes these words... Round 1

Page 43: Pair Programming: Good, Bad and Ugly

Write a story that includes these words... Round 1

Airplane

ChemicalMinute

Delay

Protect

Cracker

TeachParrot

Page 44: Pair Programming: Good, Bad and Ugly

Round 2Write a story that includes these words...

Page 45: Pair Programming: Good, Bad and Ugly

Round 2

Pink

RuleWar

Tea

Food

Sea

RunningWolf

Write a story that includes these words...

Page 46: Pair Programming: Good, Bad and Ugly

Round 3Write a story that includes these words...

Page 47: Pair Programming: Good, Bad and Ugly

Round 3

Off

RubbishDesert

Visit

Cousin ChristmasKaraoke Morning

Write a story that includes these words...

Page 48: Pair Programming: Good, Bad and Ugly

How to improve

Page 49: Pair Programming: Good, Bad and Ugly

How to improve

Encourage conversation

Page 50: Pair Programming: Good, Bad and Ugly

How to improve

Encourage conversation

Double everything

Page 51: Pair Programming: Good, Bad and Ugly

How to improve

Encourage conversation

Double everything

Introduce post-its

Page 52: Pair Programming: Good, Bad and Ugly

How to improve

Encourage conversation

Double everything

Introduce post-its

Ping-pong or pomodoro

Page 53: Pair Programming: Good, Bad and Ugly

How to improve

Encourage conversation

Double everything

Introduce post-its

Ping-pong or pomodoro

Standard environment

Page 54: Pair Programming: Good, Bad and Ugly

Pairing (well) is a skillPairing (well) is a skill

Why it matters

Page 55: Pair Programming: Good, Bad and Ugly

Skills take time to developSkills take time to develop

Pairing (well) is a skill

Why it matters

Skills take time to develop

Page 56: Pair Programming: Good, Bad and Ugly

Conscious awareness is the first step to being betterSkills take time to develop

Pairing (well) is a skill

Why it matters

Page 57: Pair Programming: Good, Bad and Ugly

Q&A

http://www.thoughtworks.com/current-opportunities We’re hiring!

Ken Fassone @nexusventuri

Pat Kua@patkua