SlideShare a Scribd company logo
Full-Time Pair-Programming
Houssam Fakih
1
N-Crafts 2015
Solène Emilio Houssam
Boris Olivier Mathieu
Francis
Romain
PM
PM
RED TEAM
Alexandre
PM
Pair-Programming
Pair-Programming
FULL-TIME
DeadLift
Powerlifting
Personal Records
DL Single Women
140 KG
120 KG
110 KG
DL Single Men
team of 3 persons
DeadLift Partner
120 KG
DL Partner
DL Partner Team
DL Partner Balancing Weight/Height
Pairing: two persons on the bar - team of 3
Pairing: one person changes every 5 reps
Harder with partner than solo
especially at the start
More Coordination
More Communication
size difference
Same Issues for
Pair-Programming
A must : Master the basics
More qualities are needed
Coordination
Shared Plan
Focus
Goals
Speed
Accuracy
Doing it right
over and over again
Fast is fine but
Accuracy is everything
(greek philosopher/warrior Xenophon)
Lack of technique
Stamina
Concentration even
with Fatigue
To Not Quit
Pairing all the day is a tiring task
Flexibility
Accept to experiment
your pair’s ideas
Accept to learn
Accept to change
make sure your pair
is actively involved
Balance
Work on all tasks
Rolling
Be polyvalent
Swap Roles
Save Your Time
pair-switching
keyboard-switching
Avoid dead-time
context-switching
the more you Pair-Programming
“programming out loud”
the more you tolerate
the sound, the noise around
the more you talk
Warning: the more you disturb
solo workers around you
the more you pair-programming
the less “You Are Asocial”
oredev’15 - the myth of the asocial developer
Problems are identified quickly
Average blocking time:
10-15 minutes
Easily ask others for help
Focus on the task :
No Mails, No Tweets
The code belongs to
ALL THE TEAM
share knowledge
see how others develop
master your tools
learn new techniques
Coach your pair and
accept to be coached
Conquer the weak points
of the team
always with concrete examples
by Xebia Essentials Cards
Anticipate problems
No interactions
No feedbacks
Heterogeneous
Different Backgrounds
Different Experience
Seniority
Junior/Expert
New comers
Be patient
Learn
TeachShare
hiring
new look
integration
develop since the first day
Computers
Same configuration
everywhere
Same Tools
everywhere
keyboard
No matter who
have the
but you should swap roles
every few minutes
TDD Mantra
Red/Green/Refactor
Conquer Your
Weak Points
Excel
shortcuts IDE
Challenge
Yourself
timebox tasks
Don’t use mouse
Routine is your enemy
My feedback
Pair-Programming is a teamwork
TEAM
Everyone has
weak points
Everyone has
strong points
Goals of
the team
Goals of
everyone
zone de confort
Efficiency
Measure you swap time
Beyond
Pair-Programming
Cross-Programming
Remote
Pair-Programming
Mob-Programming
neXt
I join yellow team next week
by Nike

More Related Content

Viewers also liked

Agile france2015 agiliteformation
Agile france2015 agiliteformationAgile france2015 agiliteformation
Agile france2015 agiliteformation
Houssam FAKIH
 
L’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeurL’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeur
Houssam FAKIH
 
From Legacy Code to Legacy Tests
From Legacy Code to Legacy TestsFrom Legacy Code to Legacy Tests
From Legacy Code to Legacy Tests
Houssam FAKIH
 
Les développeurs dans le regard des autres
Les développeurs dans le regard des autresLes développeurs dans le regard des autres
Les développeurs dans le regard des autres
Houssam FAKIH
 
L’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeurL’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeur
Houssam FAKIH
 
Agilement recruté en 100 minutes
Agilement recruté en 100 minutesAgilement recruté en 100 minutes
Agilement recruté en 100 minutes
Houssam FAKIH
 

Viewers also liked (6)

Agile france2015 agiliteformation
Agile france2015 agiliteformationAgile france2015 agiliteformation
Agile france2015 agiliteformation
 
L’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeurL’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeur
 
From Legacy Code to Legacy Tests
From Legacy Code to Legacy TestsFrom Legacy Code to Legacy Tests
From Legacy Code to Legacy Tests
 
Les développeurs dans le regard des autres
Les développeurs dans le regard des autresLes développeurs dans le regard des autres
Les développeurs dans le regard des autres
 
L’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeurL’agilité ne suffit pas pour être un bon développeur
L’agilité ne suffit pas pour être un bon développeur
 
Agilement recruté en 100 minutes
Agilement recruté en 100 minutesAgilement recruté en 100 minutes
Agilement recruté en 100 minutes
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 

Full-Time Pair-Programming