PAIR PROGRAMMING
Agenda
• What is pair programming?
• What are the roles in pair programming?
• What are the benefits of pair programming?
• What are the risks of pair programming?
• Things to consider before starting pair programming
What is Pair Programming?
• Two developers are working on the same taks at one workstation
• Both have the same target
• Both have different expertise
• The roles are being switched on a regular basis
• The two developers work as a team
• Pair Programming is not mentoring
even if one person is less experienced
What are the Roles in Pair Programming?
• There are diffirent pairing options
• Expert & Expert
• Junior & Expert
• New Colleague & Expert
The Driver & The Navigator
• recommended for Expert & Expert pairing
• THE DRIVER
• Executes the task
• Writes the code
• Speaks out everything that he/she is doing
• THE NAVIGATOR
• Watches and observes
• Corrects the driver if mistakes are made/ detected
• Gives improvement suggestions
• Makes sure they both stay on track and do not lose focus
• Takes notes for things/ task to look into later
The Tourist & The Tourguide
• recommended for New Colleague & Expert pairing
• THE TOURGUIDE
• „Guides“ the tourist and explains what he/ she is doing
• Emphasizing the most important „highlights“
• Makes sure the tourist stays engaged by asking questions like „I would check
it in like this, ok?“
• THE TOURIST
• Listens to the touristguide
• Rather passive participation, but needs to listen & pay attention actively
• Asks questions if something is not clear or more details needed
The Driver & The Backseat Navigator
• recommended for Junior & Expert pairing
• THE DRIVER
• Executes what the Backseat Navigator tells him/ her
• THE BACKSEAT NAVIGATOR
• Tells the driver what to do
• Has to be able to articulate very well & precise
What are the benefits of Pair Programming?
• Improved Code Quality
• Continues Code Review
• Less Defects -> defects are detected and removed early -> less bugs afterwards
• Better Problem Solving -> solutions for problems are discussed on the spot &
hopefully a solution is found
• Shared Knowledge accross the company
• Less exclusive „experts“, more compentecies and expanded skillset in the teams
• Having a back-up if someone leaves/ gets sick
What are the benefits of Pair Programming?
• Shared responsibility and shared „pressure“
• Ensures timely delivery
• Less Distractions -> Higher Productivity
• Team Building
• Improved communication
• Improved trust among team members
• Better induction of new team members
• Increased motivation
What are potential risks of Pair Programming?
• Finding the „right“ partner
• Do not pair people who do not like each other
• Pair of two developers who do not know anything about the project and/or how to
implement it
• Scheduling problems
• Early risers vs sleeping in types
• Disagreements
• Not respecting each other
Best Practices - Things to consider
1. 1x Code - 1x Computer – 2x Developers
2. Working Environment
• On-site - > 1 computer -> good visibility of the monitor(s) for both; whiteboard or
paperblock for ideas
• Remote -> Screensharing; Webcam; Shared Chat for ideas/ notes
3. Agree on Pair Programming Parameters
• Timing
• Interval of changing roles
• Breaks
Best Practices – Things to consider
4. Clearly defined & understood task
• It is important that both know and work towards the same goal
• Shared understanding on what needs/ will be done
5. One task at a time
• The driver works on one task at a time -> focus
• The navigator needs to keep track of it
• Note down other things that have to be addressed for later
6. Switch the roles on a regular basis
Best Practices – Things to consider
7. Have patience and take breaks
• Both partners will need to have patience and focus -> mental fatigue
• Thus it is important to take breaks on a regular basis
8. Communication is everything
• Communicating what the driver is doing and why
• Carefully listen to one each other
• „Synchronising“ the minds
9. Stay Focused
• Close all unneccesary tabs and remove things that you do not need
Best Practices – Things to consider
10. Align your code
• It is recommended that you agree on a common programming style
11. Do not look at Pair Programming as control or monitoring
• It is collaborative development
12. Be Open
• Both need to be open and bring a certain degree of cristicism and willingness to
compromise
• Be open to other/ alternative solutions and ideas
13. Know when not to do Pair Programming
• Trivial Work
• Research Work
The End.

More Related Content

PPTX
Scrum guide updates 2020
PPTX
Introduction to Agile & Scrum
PPTX
Introduction to Agile - Scrum, Kanban, and everything in between
PPSX
Agile methodology v 4.5 s
PPTX
Kanban Methodologist Certification at Xebia
PPTX
Open ScrumBan Guideline
PDF
Scrum 101: Introduction to Scrum
PDF
Introduction to Agile scrum
Scrum guide updates 2020
Introduction to Agile & Scrum
Introduction to Agile - Scrum, Kanban, and everything in between
Agile methodology v 4.5 s
Kanban Methodologist Certification at Xebia
Open ScrumBan Guideline
Scrum 101: Introduction to Scrum
Introduction to Agile scrum

What's hot (20)

PDF
PPTX
Introduction to scrum
PDF
Introduction to agile and scrum
PPTX
Scrum for Beginners
PPTX
Scrum and the agile development process
PPTX
Agile and Scrum Basics
PPT
Introduction to agile scrum
PPTX
Overview of Agile methodology & Scrum
PPTX
Євген Лабунський: Agile in Enterprise. How do we do it
PDF
Introduction agile scrum methodology
PDF
Agile Methodology
PDF
Introduction to Scrum
PDF
#T3SCRUM: 12 principles of agile
PPTX
Agile tools for everyone (slideshare)
PPT
Introduction To Agile
PPTX
Practical example of Scrum and Kanban use in the same project
ODP
Scrum Process
PDF
Agile 101
PPT
PDF
Case study for agile software development:
Introduction to scrum
Introduction to agile and scrum
Scrum for Beginners
Scrum and the agile development process
Agile and Scrum Basics
Introduction to agile scrum
Overview of Agile methodology & Scrum
Євген Лабунський: Agile in Enterprise. How do we do it
Introduction agile scrum methodology
Agile Methodology
Introduction to Scrum
#T3SCRUM: 12 principles of agile
Agile tools for everyone (slideshare)
Introduction To Agile
Practical example of Scrum and Kanban use in the same project
Scrum Process
Agile 101
Case study for agile software development:
Ad

Similar to Pair Programming - Everything you need to know (20)

PPT
Pair Programming
PPTX
Pair programming- Mariusz Kozieł
PPT
Pair Programming: overview and concepts
PDF
Introducing Pair Programming
PPT
Pair Programming
PDF
Pair programming
TXT
Pairing notes.md
PPTX
Pair Programming in software engineering.pptx
PPTX
Pair programming
PDF
How does pair programming work?
PPTX
It Takes Two - A Case Study in Pair Programming
PDF
Pair Programming in Theory and Practice By Garrick West
PDF
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
PDF
Ijetcas14 533
PDF
Unwritten Manual for Pair Programming
PDF
Pair programming
PPT
Pair Programming Presentation
PDF
Franklin Burgess - How Pair Programming Boosts Productivity and Code Quality
PDF
The Art Of Pair Programming
PPTX
Pair Programming - a pratical guide
Pair Programming
Pair programming- Mariusz Kozieł
Pair Programming: overview and concepts
Introducing Pair Programming
Pair Programming
Pair programming
Pairing notes.md
Pair Programming in software engineering.pptx
Pair programming
How does pair programming work?
It Takes Two - A Case Study in Pair Programming
Pair Programming in Theory and Practice By Garrick West
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Ijetcas14 533
Unwritten Manual for Pair Programming
Pair programming
Pair Programming Presentation
Franklin Burgess - How Pair Programming Boosts Productivity and Code Quality
The Art Of Pair Programming
Pair Programming - a pratical guide
Ad

Recently uploaded (20)

PDF
Dubai Entrepreneur Jaideep Mirchandani | Skyone
PPTX
F.Y.B.COM-A-ACC25309.pptx For a job or role? (e.g., Marketing Manager, Chief ...
DOCX
ANECDOTAL RECORD 12.docx to access the children
PPTX
ALL CASE STUDIES na thtvtvvtbtbtyby.pptx
PPTX
1. History and examination of tissue removed
DOCX
How to Balance Clinical and Emotional Skills in Healthcare Assistant Courses....
PDF
20255 _12Time table 2025 life science (2).pdf
PPTX
63825ac6-ab04-4054-8fb4-535ac4abb098.pptx
PDF
lahore 2024 august.pdf exercise for fittness
PPTX
cyber security sample template for ppt display
PPT
Basic_Fire_&_Fire_Extinguisher_Training.ppt
PDF
Engr Saad Full Stack AI Automation CV/Resume
PPTX
Template strategi untuk pertumbuhan dan inovasi.pptx
PDF
New Method Make Cv liek this | Get Job In 1 day|
PDF
Tn medical counselling starting from 1 to 19
PPTX
OA.pptxfrrrrrrrrffrrrrrrrrrttffffffftttgg
PDF
Materi Teacher's Training - Code Kickstart (Python Programming).pptx.pdf
PPT
3. Aggregate.ppt he is the main things of
PPTX
Bharti ppt.pptxsfdsgrtuyyytfg eryuiujyhgfdswt
PPTX
Fostering-Adolescent-Leadership-and-Empowerment-A-Collaboration-for-Systemic-...
Dubai Entrepreneur Jaideep Mirchandani | Skyone
F.Y.B.COM-A-ACC25309.pptx For a job or role? (e.g., Marketing Manager, Chief ...
ANECDOTAL RECORD 12.docx to access the children
ALL CASE STUDIES na thtvtvvtbtbtyby.pptx
1. History and examination of tissue removed
How to Balance Clinical and Emotional Skills in Healthcare Assistant Courses....
20255 _12Time table 2025 life science (2).pdf
63825ac6-ab04-4054-8fb4-535ac4abb098.pptx
lahore 2024 august.pdf exercise for fittness
cyber security sample template for ppt display
Basic_Fire_&_Fire_Extinguisher_Training.ppt
Engr Saad Full Stack AI Automation CV/Resume
Template strategi untuk pertumbuhan dan inovasi.pptx
New Method Make Cv liek this | Get Job In 1 day|
Tn medical counselling starting from 1 to 19
OA.pptxfrrrrrrrrffrrrrrrrrrttffffffftttgg
Materi Teacher's Training - Code Kickstart (Python Programming).pptx.pdf
3. Aggregate.ppt he is the main things of
Bharti ppt.pptxsfdsgrtuyyytfg eryuiujyhgfdswt
Fostering-Adolescent-Leadership-and-Empowerment-A-Collaboration-for-Systemic-...

Pair Programming - Everything you need to know

  • 2. Agenda • What is pair programming? • What are the roles in pair programming? • What are the benefits of pair programming? • What are the risks of pair programming? • Things to consider before starting pair programming
  • 3. What is Pair Programming? • Two developers are working on the same taks at one workstation • Both have the same target • Both have different expertise • The roles are being switched on a regular basis • The two developers work as a team • Pair Programming is not mentoring even if one person is less experienced
  • 4. What are the Roles in Pair Programming? • There are diffirent pairing options • Expert & Expert • Junior & Expert • New Colleague & Expert
  • 5. The Driver & The Navigator • recommended for Expert & Expert pairing • THE DRIVER • Executes the task • Writes the code • Speaks out everything that he/she is doing • THE NAVIGATOR • Watches and observes • Corrects the driver if mistakes are made/ detected • Gives improvement suggestions • Makes sure they both stay on track and do not lose focus • Takes notes for things/ task to look into later
  • 6. The Tourist & The Tourguide • recommended for New Colleague & Expert pairing • THE TOURGUIDE • „Guides“ the tourist and explains what he/ she is doing • Emphasizing the most important „highlights“ • Makes sure the tourist stays engaged by asking questions like „I would check it in like this, ok?“ • THE TOURIST • Listens to the touristguide • Rather passive participation, but needs to listen & pay attention actively • Asks questions if something is not clear or more details needed
  • 7. The Driver & The Backseat Navigator • recommended for Junior & Expert pairing • THE DRIVER • Executes what the Backseat Navigator tells him/ her • THE BACKSEAT NAVIGATOR • Tells the driver what to do • Has to be able to articulate very well & precise
  • 8. What are the benefits of Pair Programming? • Improved Code Quality • Continues Code Review • Less Defects -> defects are detected and removed early -> less bugs afterwards • Better Problem Solving -> solutions for problems are discussed on the spot & hopefully a solution is found • Shared Knowledge accross the company • Less exclusive „experts“, more compentecies and expanded skillset in the teams • Having a back-up if someone leaves/ gets sick
  • 9. What are the benefits of Pair Programming? • Shared responsibility and shared „pressure“ • Ensures timely delivery • Less Distractions -> Higher Productivity • Team Building • Improved communication • Improved trust among team members • Better induction of new team members • Increased motivation
  • 10. What are potential risks of Pair Programming? • Finding the „right“ partner • Do not pair people who do not like each other • Pair of two developers who do not know anything about the project and/or how to implement it • Scheduling problems • Early risers vs sleeping in types • Disagreements • Not respecting each other
  • 11. Best Practices - Things to consider 1. 1x Code - 1x Computer – 2x Developers 2. Working Environment • On-site - > 1 computer -> good visibility of the monitor(s) for both; whiteboard or paperblock for ideas • Remote -> Screensharing; Webcam; Shared Chat for ideas/ notes 3. Agree on Pair Programming Parameters • Timing • Interval of changing roles • Breaks
  • 12. Best Practices – Things to consider 4. Clearly defined & understood task • It is important that both know and work towards the same goal • Shared understanding on what needs/ will be done 5. One task at a time • The driver works on one task at a time -> focus • The navigator needs to keep track of it • Note down other things that have to be addressed for later 6. Switch the roles on a regular basis
  • 13. Best Practices – Things to consider 7. Have patience and take breaks • Both partners will need to have patience and focus -> mental fatigue • Thus it is important to take breaks on a regular basis 8. Communication is everything • Communicating what the driver is doing and why • Carefully listen to one each other • „Synchronising“ the minds 9. Stay Focused • Close all unneccesary tabs and remove things that you do not need
  • 14. Best Practices – Things to consider 10. Align your code • It is recommended that you agree on a common programming style 11. Do not look at Pair Programming as control or monitoring • It is collaborative development 12. Be Open • Both need to be open and bring a certain degree of cristicism and willingness to compromise • Be open to other/ alternative solutions and ideas 13. Know when not to do Pair Programming • Trivial Work • Research Work