SlideShare a Scribd company logo
1 of 62
Download to read offline
Pair Programming:
2 > 1 + 1
Neha Batra
@nerdneha
1. Intro
2. Adapting pairing to your work
3. The big picture
4. Pairing techniques
5. Resources on pairing
Pair Programming: 2 > 1 + 1
@nerdneha
(What/Why)
(When)
(Where)
(How)
(Says who [else]?)
1. Intro (What/Why)
2. Adapting pairing to your work
3. The big picture
4. Pairing techniques
5. Resources on pairing
Pair Programming: 2 > 1 + 1
@nerdneha
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
Credit: Onsi Fakhouri
What does good Pairing look like?
➔ Distraction-free
➔ Collaboration
➔ Sustainability (“bus factor”)
➔ Fewer rabbit holes
➔ Constant communication
➔ Teaching/Learning symbiosis
@nerdneha
The Benefits of Pairing
➔ Productivity
➔ Code Quality
➔ Project Success
@nerdneha
The Benefits of Pairing
➔ Productivity
➔ Code Quality
➔ Project Success
◆ Easy temperature on team
◆ Easy to help/understand what’s going on
➔ Happiness
➔ Skill growth/sharing
➔ Career Success @nerdneha
My world of Pair Programming
@nerdneha
1. Intro
2. Adapting pairing to your work (When)
3. The big picture
4. Pairing techniques
5. Resources on pairing
Pair Programming: 2 > 1 + 1
@nerdneha
Best pairing conditions?
➔ Isolated team
➔ Few interruptions/meetings
➔ Buy-in to execute on priorities
➔ PM/Design resources available
@nerdneha
Tips and Tricks to get bu -in
➔ Select team with “all hands on deck” feature
➔ Introduce concept as an experiment
➔ Loop in product owner frequently
➔ Release early, often, and iterate
@nerdneha
Prepair: Know the opposition
“I’m exhausted, talking so much is tiring”
“Won’t the team move half as fast?”
“I don’t get much value out of it”
“[X activity] isn’t pair worthy”
“I don’t like the inflexible schedule”
“I’m always being watched”
“Hard to work with someone when you disagree”
“It’s the blind leading the blind” @nerdneha
Imposter Syndrome, defined
When it comes to your work life, it’s
not a sprint, it’s a marathon. Pair to
groom, grow, and share the
knowledge in your team.
@nerdneha
1. Intro
2. Adapting pairing to your work
3. The big picture (Where)
4. Pairing techniques
5. Resources on pairing
Pair Programming: 2 > 1 + 1
@nerdneha
The big picture at Pivotal Labs
@nerdneha
Client Pivotal
The big picture at Pivotal Labs
@nerdneha
Team
The big picture at Pivotal
@nerdneha
Test Driven Development
Pairadise
The big picture at Pivotal
@nerdneha
Test Driven Development
Set Schedule
(9am-6pm)
Pairadise
The big picture at Pivotal
@nerdneha
Test Driven Development
Set Schedule
(9am-6pm)
Retros &
Feedback
Pairadise
RETROS BE LIKE
The big picture at Pivotal
@nerdneha
Test Driven Development
Set Schedule
(9am-6pm)
Retros &
Feedback
Concise,
independent,
prioritized stories
Pairadise
The big picture at Pivotal
@nerdneha
Test Driven Development
Set Schedule
(9am-6pm)
Retros &
Feedback
Few Meetings
Concise,
independent,
prioritized stories
Pairadise
The big picture at Pivotal
@nerdneha
Test Driven Development
Set Schedule
(9am-6pm)
Retros &
Feedback
Few Meetings
Concise,
independent,
prioritized stories
CI & CD
Hiring for
good pairs
Pairadise
Reflections from a pairing noob
Feelings
● Uncertainty
● Worried about being a waste of time
● Felt dumb
● Relief that I wasn’t making decisions that are harshly
evaluated on “judgement day” (aka code review)
● Felt smarter!
@nerdneha
Reflections from a pairing noob
What Helped
● Structured predictable breaks
● Feedback at EOD
● Positive specific feedback on how I was helpful
● Talking about what we’re doing first explicitly (ex: via
TextMate)
@nerdneha
1. Intro
2. Adapting pairing to your work
3. The big picture
4. Pairing techniques (How)
5. Resources on pairing
Pair Programming: 2 > 1 + 1
@nerdneha
Pairing setup: hardware/software
➔ 1 computer, 2 monitors, 2 mice, 2 keyboards
➔ Mirror screens
➔ Increase your font
➔ Git duet-commit
➔ Good IDE
➔ Keycastr to see shortcut keystrokes
@nerdneha
Pairing setup: the intangibles
➔ Take turns - try ping-pong pairing or Timeout
➔ Take breaks -
◆ Bonding: ping pong, cards (set)
◆ Time apart: catch up on emails/personal life
➔ Expairiment - mobbing
➔ Keep an open mind
@nerdneha
Imposter Syndrome, defined
Pairing is like making a new friend: it
isn’t always easy
but with patience and an open mind,
it can be worthwhile.
@nerdneha
1. Intro
2. Adapting pairing to your work
3. The big picture
4. Pairing techniques
5. Resources on pairing (Says who?)
Pair Programming: 2 > 1 + 1
@nerdneha
Extreme Programming Explained:
http://www.amazon.com/exec/obidos/ASIN/0321278658/extremeprogrammi
Pairing is more productive than soloing:
http://collaboration.csc.ncsu.edu/laurie/Papers/ieeeSoftware.PDF
Stanford Study on pairing, when and why it works: http://hci.stanford.edu/publications/2005/pairs/PairProgramming-
WhenWhy.pdf
Remote Pairing: Collaborative Tools for Distributed Development is a book by Joe Kutner
https://pragprog.com/book/jkrp/remote-pairing
Pair programming productivity: Novice–novice vs. expert–expert
http://www.cs.utexas.edu/users/mckinley/305j/pair-hcs-2006.pdf
The effectiveness of pair programming: A meta-analysis
http://www.sciencedirect.com/science/article/pii/S0950584909000123
Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4052584
Resources on Pairing (on my blog, too!)
@nerdneha
1. Intro
2. Adapting pairing to your work
3. The big picture
4. Pairing techniques
5. Resources on pairing
Pair Programming: 2 > 1 + 1
@nerdneha
(What/Why)
(When)
(Where)
(How)
(Says who [else]?)
Prepair: Know the opposition
“I’m exhausted, talking so much is tiring”
“Won’t the team move half as fast?”
“I don’t get much value out of it”
“[X activity] isn’t pair worthy”
“I don’t like the inflexible schedule”
“I’m always being watched”
“Hard to work with someone when you disagree”
“It’s the blind leading the blind” @nerdneha

More Related Content

What's hot

2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
Johannes Brodwall
 
7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers
Carol Smith
 

What's hot (18)

Building Better Products, June 2015
Building Better Products, June 2015Building Better Products, June 2015
Building Better Products, June 2015
 
Tools 4 Startups
Tools 4 StartupsTools 4 Startups
Tools 4 Startups
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
 
4-125
4-1254-125
4-125
 
Passion For Software
Passion For SoftwarePassion For Software
Passion For Software
 
How to write Great Requirements
How to write Great RequirementsHow to write Great Requirements
How to write Great Requirements
 
UX Research by Cipta Pratama
UX Research by Cipta PratamaUX Research by Cipta Pratama
UX Research by Cipta Pratama
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
Boot Camp@Bar Camp
Boot Camp@Bar CampBoot Camp@Bar Camp
Boot Camp@Bar Camp
 
What's a Product Manager?
What's a Product Manager? What's a Product Manager?
What's a Product Manager?
 
top developer mistakes
top developer mistakes top developer mistakes
top developer mistakes
 
7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers7 Habits of Highly Ineffective Project Managers
7 Habits of Highly Ineffective Project Managers
 
When code gets_older
When code gets_olderWhen code gets_older
When code gets_older
 
DevOps Traction - Continuous Lifecycle 2016 London
DevOps Traction - Continuous Lifecycle 2016 LondonDevOps Traction - Continuous Lifecycle 2016 London
DevOps Traction - Continuous Lifecycle 2016 London
 
Polychrome Testing: Ideas & Practices to Improve Software Testing | QASymphon...
Polychrome Testing: Ideas & Practices to Improve Software Testing | QASymphon...Polychrome Testing: Ideas & Practices to Improve Software Testing | QASymphon...
Polychrome Testing: Ideas & Practices to Improve Software Testing | QASymphon...
 
Light Weight Methods to Drive Your Designs Forward
Light Weight Methods to Drive Your Designs ForwardLight Weight Methods to Drive Your Designs Forward
Light Weight Methods to Drive Your Designs Forward
 
How Content Helped Us Scale
How Content Helped Us ScaleHow Content Helped Us Scale
How Content Helped Us Scale
 
Agile Schmagile -- Jon Kern
Agile Schmagile -- Jon KernAgile Schmagile -- Jon Kern
Agile Schmagile -- Jon Kern
 

Similar to Pair programming 2 > 1 + 1

gettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdfgettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdf
roystoncdsouza7
 

Similar to Pair programming 2 > 1 + 1 (20)

Further together curated pairing culture @pivotal
Further together  curated pairing culture @pivotalFurther together  curated pairing culture @pivotal
Further together curated pairing culture @pivotal
 
Further together: Curated Pairing Culture @Pivotal
Further together: Curated Pairing Culture @PivotalFurther together: Curated Pairing Culture @Pivotal
Further together: Curated Pairing Culture @Pivotal
 
It's Not You, It's Us. Winning Over People and Yourself for the Team
It's Not You, It's Us. Winning Over People and Yourself for the TeamIt's Not You, It's Us. Winning Over People and Yourself for the Team
It's Not You, It's Us. Winning Over People and Yourself for the Team
 
It's not you, it's us: Winning over people for yourself and the team
It's not you, it's us: Winning over people for yourself and the teamIt's not you, it's us: Winning over people for yourself and the team
It's not you, it's us: Winning over people for yourself and the team
 
Further Together: Curated Pairing Culture @Pivotal
Further Together: Curated Pairing Culture @PivotalFurther Together: Curated Pairing Culture @Pivotal
Further Together: Curated Pairing Culture @Pivotal
 
Quick Tips (and New Features!) in Slack
Quick Tips (and New Features!) in SlackQuick Tips (and New Features!) in Slack
Quick Tips (and New Features!) in Slack
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
 
Welcome To The Future Of Work - Hybrid Work
Welcome To The Future Of Work - Hybrid Work Welcome To The Future Of Work - Hybrid Work
Welcome To The Future Of Work - Hybrid Work
 
I'm Graduating Soon. Help! How Do I Get into the Tech Field?
I'm Graduating Soon. Help! How Do I Get into the Tech Field?I'm Graduating Soon. Help! How Do I Get into the Tech Field?
I'm Graduating Soon. Help! How Do I Get into the Tech Field?
 
Pair Programming demystified
Pair Programming demystifiedPair Programming demystified
Pair Programming demystified
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
 
Евгений Андрушко "Big & Enterpise data: чему они нас научили"
Евгений Андрушко "Big & Enterpise data: чему они нас научили"Евгений Андрушко "Big & Enterpise data: чему они нас научили"
Евгений Андрушко "Big & Enterpise data: чему они нас научили"
 
How and Why We Run Internal Hackdays
How and Why We Run Internal HackdaysHow and Why We Run Internal Hackdays
How and Why We Run Internal Hackdays
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
Pair Programming and XP Values
Pair Programming and XP ValuesPair Programming and XP Values
Pair Programming and XP Values
 
Agile Myths and Legends
Agile Myths and LegendsAgile Myths and Legends
Agile Myths and Legends
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
gettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdfgettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdf
 
What a Scrum Master do, or should do all day?
What a Scrum Master do, or should do all day?What a Scrum Master do, or should do all day?
What a Scrum Master do, or should do all day?
 
DevSecCon Singapore 2018 - Insecurity in information technology by Tanya Janca
DevSecCon Singapore 2018 - Insecurity in information technology by Tanya JancaDevSecCon Singapore 2018 - Insecurity in information technology by Tanya Janca
DevSecCon Singapore 2018 - Insecurity in information technology by Tanya Janca
 

More from Neha Batra

More from Neha Batra (6)

Microallyship
MicroallyshipMicroallyship
Microallyship
 
Engineers need to learn UXR
Engineers need to learn UXREngineers need to learn UXR
Engineers need to learn UXR
 
Personal branding is more than self promotion
Personal branding is more than self promotionPersonal branding is more than self promotion
Personal branding is more than self promotion
 
Personal branding is more than self promotion
Personal branding is more than self promotionPersonal branding is more than self promotion
Personal branding is more than self promotion
 
Branding is the most cringeworthy term you want to know about
Branding is the most cringeworthy term you want to know aboutBranding is the most cringeworthy term you want to know about
Branding is the most cringeworthy term you want to know about
 
Teaching myself to code: the journey and lessons learned
Teaching myself to code: the journey and lessons learnedTeaching myself to code: the journey and lessons learned
Teaching myself to code: the journey and lessons learned
 

Recently uploaded

Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 

Pair programming 2 > 1 + 1

  • 1. Pair Programming: 2 > 1 + 1 Neha Batra @nerdneha
  • 2. 1. Intro 2. Adapting pairing to your work 3. The big picture 4. Pairing techniques 5. Resources on pairing Pair Programming: 2 > 1 + 1 @nerdneha (What/Why) (When) (Where) (How) (Says who [else]?)
  • 3. 1. Intro (What/Why) 2. Adapting pairing to your work 3. The big picture 4. Pairing techniques 5. Resources on pairing Pair Programming: 2 > 1 + 1 @nerdneha
  • 29. What does good Pairing look like? ➔ Distraction-free ➔ Collaboration ➔ Sustainability (“bus factor”) ➔ Fewer rabbit holes ➔ Constant communication ➔ Teaching/Learning symbiosis @nerdneha
  • 30. The Benefits of Pairing ➔ Productivity ➔ Code Quality ➔ Project Success @nerdneha
  • 31. The Benefits of Pairing ➔ Productivity ➔ Code Quality ➔ Project Success ◆ Easy temperature on team ◆ Easy to help/understand what’s going on ➔ Happiness ➔ Skill growth/sharing ➔ Career Success @nerdneha
  • 32. My world of Pair Programming @nerdneha
  • 33. 1. Intro 2. Adapting pairing to your work (When) 3. The big picture 4. Pairing techniques 5. Resources on pairing Pair Programming: 2 > 1 + 1 @nerdneha
  • 34. Best pairing conditions? ➔ Isolated team ➔ Few interruptions/meetings ➔ Buy-in to execute on priorities ➔ PM/Design resources available @nerdneha
  • 35. Tips and Tricks to get bu -in ➔ Select team with “all hands on deck” feature ➔ Introduce concept as an experiment ➔ Loop in product owner frequently ➔ Release early, often, and iterate @nerdneha
  • 36. Prepair: Know the opposition “I’m exhausted, talking so much is tiring” “Won’t the team move half as fast?” “I don’t get much value out of it” “[X activity] isn’t pair worthy” “I don’t like the inflexible schedule” “I’m always being watched” “Hard to work with someone when you disagree” “It’s the blind leading the blind” @nerdneha
  • 37. Imposter Syndrome, defined When it comes to your work life, it’s not a sprint, it’s a marathon. Pair to groom, grow, and share the knowledge in your team. @nerdneha
  • 38. 1. Intro 2. Adapting pairing to your work 3. The big picture (Where) 4. Pairing techniques 5. Resources on pairing Pair Programming: 2 > 1 + 1 @nerdneha
  • 39.
  • 40.
  • 41. The big picture at Pivotal Labs @nerdneha Client Pivotal
  • 42. The big picture at Pivotal Labs @nerdneha Team
  • 43. The big picture at Pivotal @nerdneha Test Driven Development Pairadise
  • 44. The big picture at Pivotal @nerdneha Test Driven Development Set Schedule (9am-6pm) Pairadise
  • 45. The big picture at Pivotal @nerdneha Test Driven Development Set Schedule (9am-6pm) Retros & Feedback Pairadise
  • 47. The big picture at Pivotal @nerdneha Test Driven Development Set Schedule (9am-6pm) Retros & Feedback Concise, independent, prioritized stories Pairadise
  • 48. The big picture at Pivotal @nerdneha Test Driven Development Set Schedule (9am-6pm) Retros & Feedback Few Meetings Concise, independent, prioritized stories Pairadise
  • 49. The big picture at Pivotal @nerdneha Test Driven Development Set Schedule (9am-6pm) Retros & Feedback Few Meetings Concise, independent, prioritized stories CI & CD Hiring for good pairs Pairadise
  • 50.
  • 51.
  • 52. Reflections from a pairing noob Feelings ● Uncertainty ● Worried about being a waste of time ● Felt dumb ● Relief that I wasn’t making decisions that are harshly evaluated on “judgement day” (aka code review) ● Felt smarter! @nerdneha
  • 53. Reflections from a pairing noob What Helped ● Structured predictable breaks ● Feedback at EOD ● Positive specific feedback on how I was helpful ● Talking about what we’re doing first explicitly (ex: via TextMate) @nerdneha
  • 54. 1. Intro 2. Adapting pairing to your work 3. The big picture 4. Pairing techniques (How) 5. Resources on pairing Pair Programming: 2 > 1 + 1 @nerdneha
  • 55. Pairing setup: hardware/software ➔ 1 computer, 2 monitors, 2 mice, 2 keyboards ➔ Mirror screens ➔ Increase your font ➔ Git duet-commit ➔ Good IDE ➔ Keycastr to see shortcut keystrokes @nerdneha
  • 56. Pairing setup: the intangibles ➔ Take turns - try ping-pong pairing or Timeout ➔ Take breaks - ◆ Bonding: ping pong, cards (set) ◆ Time apart: catch up on emails/personal life ➔ Expairiment - mobbing ➔ Keep an open mind @nerdneha
  • 57. Imposter Syndrome, defined Pairing is like making a new friend: it isn’t always easy but with patience and an open mind, it can be worthwhile. @nerdneha
  • 58.
  • 59. 1. Intro 2. Adapting pairing to your work 3. The big picture 4. Pairing techniques 5. Resources on pairing (Says who?) Pair Programming: 2 > 1 + 1 @nerdneha
  • 60. Extreme Programming Explained: http://www.amazon.com/exec/obidos/ASIN/0321278658/extremeprogrammi Pairing is more productive than soloing: http://collaboration.csc.ncsu.edu/laurie/Papers/ieeeSoftware.PDF Stanford Study on pairing, when and why it works: http://hci.stanford.edu/publications/2005/pairs/PairProgramming- WhenWhy.pdf Remote Pairing: Collaborative Tools for Distributed Development is a book by Joe Kutner https://pragprog.com/book/jkrp/remote-pairing Pair programming productivity: Novice–novice vs. expert–expert http://www.cs.utexas.edu/users/mckinley/305j/pair-hcs-2006.pdf The effectiveness of pair programming: A meta-analysis http://www.sciencedirect.com/science/article/pii/S0950584909000123 Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4052584 Resources on Pairing (on my blog, too!) @nerdneha
  • 61. 1. Intro 2. Adapting pairing to your work 3. The big picture 4. Pairing techniques 5. Resources on pairing Pair Programming: 2 > 1 + 1 @nerdneha (What/Why) (When) (Where) (How) (Says who [else]?)
  • 62. Prepair: Know the opposition “I’m exhausted, talking so much is tiring” “Won’t the team move half as fast?” “I don’t get much value out of it” “[X activity] isn’t pair worthy” “I don’t like the inflexible schedule” “I’m always being watched” “Hard to work with someone when you disagree” “It’s the blind leading the blind” @nerdneha