SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Pair programming
Benefits
● Less bugs.
● Better code quality.
● Spreads business knowledge in the team.
● Creates a learning environment.
● Improves communication.
We should pair when...
● Complex features.
● Critical features.
● Core libraries.
● New part of the system.
● The team has a new member.
We should not pair when...
● One person is sick.
● Spiking code.
● Trivial tasks that don’t add value.
● The other person do not agree to pair.
Some techniques
● Driver - Navigator
● Ping - Pong
Driver - Navigator
● Driver:
○ Is the person typing the code.
● Navigator:
○ Helps driver.
○ Reviews what the driver is writing.
○ Keeps in mind the whole picture.
● Benefits:
○ Makes sure everybody is contributing.
Ping - Pong
● Driver:
○ Writes code.
● Navigator:
○ Writes the tests.
● Benefits:
○ Another developer evaluates functionality.
○ Learn about Test Driven Development (write the tests before the production code).
Some tips...
● Keep personal space.
● Clean desktop environment.
● The developers should be at the same distance from the monitor/s.
● Know the goals.
● Set timing, 4-6 hours per day.
● Change the roles frequently, at least once an hour.
● Rotate team members.
More tips…
● Pair programming is a negotiation.
● If you are bored pass the keyboard.
● If your partner is bored grab the keyboard.
● If both are bored, take a break.
● Talk a lot, this is about communication.
● If you do not understand what your partner is saying or doing, just ask.
Extra tip...
10-seconds rule
The navigator should wait 10 seconds before pointing out a typo. Generally
that is long enough for the driver to correct a typo that is already noticed.
Excessive interruptions are distracting.

Weitere ähnliche Inhalte

Was ist angesagt?

Flash Workshop One
Flash Workshop OneFlash Workshop One
Flash Workshop One
Law Chng
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
Matteo Baglini
 

Was ist angesagt? (20)

Continuous testing of a terminal font
Continuous testing of a terminal fontContinuous testing of a terminal font
Continuous testing of a terminal font
 
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
 
Flash Workshop One
Flash Workshop OneFlash Workshop One
Flash Workshop One
 
Civilized Git Process
Civilized Git ProcessCivilized Git Process
Civilized Git Process
 
Thinking like a Programmer
Thinking like a ProgrammerThinking like a Programmer
Thinking like a Programmer
 
Programming Process
Programming ProcessProgramming Process
Programming Process
 
Building software vs programming
Building software vs programmingBuilding software vs programming
Building software vs programming
 
Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not Guaranteed
 
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projectsDrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
 
Continuous Integration In Php
Continuous Integration In PhpContinuous Integration In Php
Continuous Integration In Php
 
Eric tucker - Eliminating "Over the Fence"
Eric tucker - Eliminating "Over the Fence"Eric tucker - Eliminating "Over the Fence"
Eric tucker - Eliminating "Over the Fence"
 
Common mistakes by beginners in Programming
Common mistakes by beginners in ProgrammingCommon mistakes by beginners in Programming
Common mistakes by beginners in Programming
 
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
 
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
 
Project management frameworks for software developing
Project management frameworks for software developingProject management frameworks for software developing
Project management frameworks for software developing
 
Java interfaces design perspective
Java interfaces design perspectiveJava interfaces design perspective
Java interfaces design perspective
 
Presentasi jlp
Presentasi jlpPresentasi jlp
Presentasi jlp
 
User story workflow (eng)
User story workflow (eng)User story workflow (eng)
User story workflow (eng)
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
 
Codesters
CodestersCodesters
Codesters
 

Ähnlich wie Pair programming

Ähnlich wie Pair programming (20)

Writing clean scientific software Murphy cleancoding
Writing clean scientific software Murphy cleancodingWriting clean scientific software Murphy cleancoding
Writing clean scientific software Murphy cleancoding
 
What is xp
What is xpWhat is xp
What is xp
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Clean application development (talk)
Clean application development (talk)Clean application development (talk)
Clean application development (talk)
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Software development. xp, agile, etc.
Software development. xp, agile, etc.Software development. xp, agile, etc.
Software development. xp, agile, etc.
 
Professional development
Professional developmentProfessional development
Professional development
 
Clean application development tutorial
Clean application development tutorialClean application development tutorial
Clean application development tutorial
 
Agile work practices and tools
Agile work practices and toolsAgile work practices and tools
Agile work practices and tools
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional Programmer
 
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
 
Working With Legacy Code
Working With Legacy CodeWorking With Legacy Code
Working With Legacy Code
 
Writing Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkWriting Tests with the Unity Test Framework
Writing Tests with the Unity Test Framework
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Developing Better Software
Developing Better SoftwareDeveloping Better Software
Developing Better Software
 
Pentester++
Pentester++Pentester++
Pentester++
 
Test Driven Development with PHP
Test Driven Development with PHPTest Driven Development with PHP
Test Driven Development with PHP
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 

Kürzlich hochgeladen

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Kürzlich hochgeladen (20)

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
 
%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
 
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
 
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
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
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...
 
%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
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%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
 
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...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 

Pair programming

  • 2. Benefits ● Less bugs. ● Better code quality. ● Spreads business knowledge in the team. ● Creates a learning environment. ● Improves communication.
  • 3. We should pair when... ● Complex features. ● Critical features. ● Core libraries. ● New part of the system. ● The team has a new member.
  • 4. We should not pair when... ● One person is sick. ● Spiking code. ● Trivial tasks that don’t add value. ● The other person do not agree to pair.
  • 5. Some techniques ● Driver - Navigator ● Ping - Pong
  • 6. Driver - Navigator ● Driver: ○ Is the person typing the code. ● Navigator: ○ Helps driver. ○ Reviews what the driver is writing. ○ Keeps in mind the whole picture. ● Benefits: ○ Makes sure everybody is contributing.
  • 7. Ping - Pong ● Driver: ○ Writes code. ● Navigator: ○ Writes the tests. ● Benefits: ○ Another developer evaluates functionality. ○ Learn about Test Driven Development (write the tests before the production code).
  • 8. Some tips... ● Keep personal space. ● Clean desktop environment. ● The developers should be at the same distance from the monitor/s. ● Know the goals. ● Set timing, 4-6 hours per day. ● Change the roles frequently, at least once an hour. ● Rotate team members.
  • 9. More tips… ● Pair programming is a negotiation. ● If you are bored pass the keyboard. ● If your partner is bored grab the keyboard. ● If both are bored, take a break. ● Talk a lot, this is about communication. ● If you do not understand what your partner is saying or doing, just ask.
  • 10. Extra tip... 10-seconds rule The navigator should wait 10 seconds before pointing out a typo. Generally that is long enough for the driver to correct a typo that is already noticed. Excessive interruptions are distracting.