SlideShare a Scribd company logo
PAIR
PROGRAMMING



NAME : JASLEEN
 ROLL NO:10509
  (GROUP:C1)
What is it?
 •“Two programmers work side-by-side at
 one computer, continuously collaborating
 on the same design, algorithm, code, and
 test.”

 •It allows two people to produce a higher
 quality of code than that produced by the
 summation of their individual efforts.
How it works
 • Driver
   –   Actively implements the program.
   –   Actually types or writes down
   –   Explains actions taken
   –   Participates in brainstorming/planning
 • Navigator
   – Continuously observes the work of the driver to identify
     defects.
   – Thinks about the direction of the work.
Driver



         Navigator
Pair Programming

• Driver and Navigator working together
  on one task
• Roles changing often
• Collective responsibility for outcome
• Bringing together of multiple
  perspectives, experiences and abilities
Why Pair ???

•   Higher quality code
•   Faster cycle time
•   Enhanced trust/teamwork
•   Knowledge transfer
•   Enhanced learning
•   More fun
Higher Quality Code

• Immediate reviews of all code written
• Multiple perspectives on how code
  should work
• People from different areas
  (UI/database, development/testing)
  working together – no (incorrect)
  assumptions
• Each person learns from the other –
  increased skills
Faster cycle time

• Less temptation/ability to get distracted
  on non-work things
• Less rework due to bad assumptions
• Fewer defects slip through, so less
  rework for defect repair
• Less interruption for pair
• More communication
Enhanced Trust/Teamwork
• People in pairs get to know each other
  better than people working solo

• Better understanding of people’s skills

• Shared events = common ground
Knowledge Transfer

 • Rotation of pairs means lots of
   combinations

 • Lots of combinations make knowledge
   transfer exponential

 • Fewer assumptions
Enhanced Learning


• Each member of a pair has ongoing
  opportunities to learn from their partner
More Fun

• Social interactions
• Shared events
• Studies show high numbers of people
  trying pair programming prefer it
Why Pair Programming Works

•   Pair Pressure
•   Pair Negotiation
•   Pair Courage
•   Pair Reviews
•   Pair Debugging
•   Pair Learning
•   Pair Trust
Pair Pressure

• Each member doesn’t want to let the
  other down
• Improved adherence to procedures and
  standards
• Motivation to get a task done in a
  session while partner is available
Pair Negotiation

• Working together to get the best
  solution
• Each pair member has
  – Own set of skills, abilities, outlook.
  – Shared goal of accomplishing task
• Brainstorming (building on ideas of
  others)
Pair Courage

• Having a partner agree with a fix or a
  solution adds confidence to the solution
• Two people expressing confusion are
  more confident to go get the help they
  need
Pair Reviews

• Members of pairs are immediately
  reviewing code as it is written
• Two heads better than one
Pair Debugging
• Effective debugging technique is to
  explain problem to someone else
• Talking about problem in a pair can
  lead to a solution becoming obvious
Pair Learning

• No two people are at exact same levels
  of knowledge on software development
• Exposure to different approaches
Enabling Pair Programming
  •   Accessible workspace
  •   Communication
  •   Standards
  •   Knowledge of people’s specialties
  •   Pair rotation
  •   Group appraisal
  •   Smaller groups
Workspace accessible to both
 • Display visible to both people
 • Side by side, not one in front of the
   other
 • Keyboard/mouse available to either
   person
Expectation of communication
 • Ask to drive
 • Ask questions
 • Explain actions taken
Standards

 • Standard tools reduce learning curve
   time in pairs
 • Coding standards assist in both
   members following the code being
   written and avoid disagreements on
   how to write something
Knowledge of people’s
     specialties
• Know who to pair with to achieve
  benefit in a given situation
• If a task overlaps two areas (e.g., UI
  and database) pair one person from
  each area
Pair Rotation

• No given pair of programmers is the
  right pair for every situation
• Rotation enables knowledge transfer
Disadvantages to Pair
    Programming
  •   Requires even number of developers
  •   Scheduling
  •   Experts/Skill Imbalances
  •   Concentration
  •   Disagreements
  •   Overconfidence
  •   Loss of personal development space
  •   Not for everyone
THANK YOU

More Related Content

PDF
eLearning and Networking Technologies to Mimic the In-Person Experience
janetkrenn
 
PPTX
Principles of Interface Design
jbellWCT
 
PDF
Game design 2 (2013): Lecture 14 - Revision
David Farrell
 
PPT
Cognitive Walkthrough for Learning Through Game Mechanics at ECGBL13
David Farrell
 
PPT
Complexinterfaces
Bojhan
 
PPTX
Choosing to chat
elizabethfox
 
PDF
Technical Writing Overview: WTD Nigeria
Margaret Fero
 
PPTX
Design for all. Lecture 4
Vladimir Tomberg
 
eLearning and Networking Technologies to Mimic the In-Person Experience
janetkrenn
 
Principles of Interface Design
jbellWCT
 
Game design 2 (2013): Lecture 14 - Revision
David Farrell
 
Cognitive Walkthrough for Learning Through Game Mechanics at ECGBL13
David Farrell
 
Complexinterfaces
Bojhan
 
Choosing to chat
elizabethfox
 
Technical Writing Overview: WTD Nigeria
Margaret Fero
 
Design for all. Lecture 4
Vladimir Tomberg
 

What's hot (12)

PDF
What Are You Talking About? How Others Perceive Devs and DevOps
J On The Beach
 
PDF
Designing and Testing for Digital Accessibility
Usability Matters
 
PDF
Workshop: Usability Testing for Accessibility
Usability Matters
 
PDF
Binary crosswords
Laurent Cerveau
 
PDF
Dancing for a product release
Laurent Cerveau
 
PPT
The design of everyday things
ProvaAkter
 
PPTX
From Empathy to Research with People with Disability
Intopia
 
KEY
Game Design 2: UI in Games - Revision Lecture
David Farrell
 
PPTX
Agile and accessibility - Water and oil
Herin Hentry
 
PDF
The psychopathology of everyday things!
Irfan Ahmed
 
KEY
Games Design 2 - Lecture 10 - Game Interface Prototyping
David Farrell
 
KEY
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
David Farrell
 
What Are You Talking About? How Others Perceive Devs and DevOps
J On The Beach
 
Designing and Testing for Digital Accessibility
Usability Matters
 
Workshop: Usability Testing for Accessibility
Usability Matters
 
Binary crosswords
Laurent Cerveau
 
Dancing for a product release
Laurent Cerveau
 
The design of everyday things
ProvaAkter
 
From Empathy to Research with People with Disability
Intopia
 
Game Design 2: UI in Games - Revision Lecture
David Farrell
 
Agile and accessibility - Water and oil
Herin Hentry
 
The psychopathology of everyday things!
Irfan Ahmed
 
Games Design 2 - Lecture 10 - Game Interface Prototyping
David Farrell
 
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
David Farrell
 
Ad

Similar to Pair Programming (20)

PPT
Pair Programming and XP Values
ShriKant Vashishtha
 
PDF
IT CLA 2013
Olive Technology
 
PPTX
Pair Programming Styles
Attila Bertók
 
PDF
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Technical Agility institute
 
PPTX
It's XP Stupid (2019)
Mike Harris
 
PDF
Agile Software Development
Ahmet Bulut
 
PPT
Delphi Method by Amr Ali
Amr Ali
 
PDF
Introducing Pair Programming
Steven Smith
 
PPT
Chris Covell Collaboration for distributed teams
Agile Lietuva
 
PDF
The 360 Developer
enteritos
 
PPTX
Pair Programming - the lightning talk
Barry Jones
 
PDF
Pair programming
Dalal Alrayes
 
PDF
It's XP, Stupid
Mike Harris
 
PDF
Simon Peter Schrjver: Pair Testing
Anna Royzman
 
PDF
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
PPTX
Pair Programming - Everything you need to know
Kristina Suchan
 
PPTX
High performing-distributed-teams
Mark Spitzer
 
PDF
ANIn Ahmedabad Jan 2024 | Cross-Functional Collaboration Key to Agile - Harsh...
AgileNetwork
 
PPT
Global Resouces Qse Ap External
Susan Johnson Mayhew
 
PPTX
What Counts as Learning: Open Digital Badges for New Opportunities
Sheryl Grant
 
Pair Programming and XP Values
ShriKant Vashishtha
 
IT CLA 2013
Olive Technology
 
Pair Programming Styles
Attila Bertók
 
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Technical Agility institute
 
It's XP Stupid (2019)
Mike Harris
 
Agile Software Development
Ahmet Bulut
 
Delphi Method by Amr Ali
Amr Ali
 
Introducing Pair Programming
Steven Smith
 
Chris Covell Collaboration for distributed teams
Agile Lietuva
 
The 360 Developer
enteritos
 
Pair Programming - the lightning talk
Barry Jones
 
Pair programming
Dalal Alrayes
 
It's XP, Stupid
Mike Harris
 
Simon Peter Schrjver: Pair Testing
Anna Royzman
 
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
Pair Programming - Everything you need to know
Kristina Suchan
 
High performing-distributed-teams
Mark Spitzer
 
ANIn Ahmedabad Jan 2024 | Cross-Functional Collaboration Key to Agile - Harsh...
AgileNetwork
 
Global Resouces Qse Ap External
Susan Johnson Mayhew
 
What Counts as Learning: Open Digital Badges for New Opportunities
Sheryl Grant
 
Ad

Recently uploaded (20)

PPTX
basic_parts-of_computer-1618-754-622.pptx
patelravi16187
 
PPTX
INTERNET OF THINGS (IOT) network of interconnected devices.
rp1256748
 
PPTX
Aryanbarot28.pptx Introduction of window os for the projects
aryanbarot004
 
PPTX
PHISHING ATTACKS. _. _.pptx[]
kumarrana7525
 
PPTX
Modern machinery.pptx sjsjnshhsnsnnjnnbbbb
raipureastha08
 
PPTX
Mobile-Device-Management-MDM-Architecture.pptx
pranavnandwanshi99
 
PPTX
great itemsgreat itemsgreat itemsgreat items.pptx
saurabh13smr
 
PPT
community diagnosis slides show health. ppt
michaelbrucebwana
 
PPTX
西班牙海牙认证瓦伦西亚国际大学毕业证与成绩单文凭复刻快速办理毕业证书
sw6vvn9s
 
PPTX
Operating-Systems-A-Journey ( by information
parthbhanushali307
 
PPTX
Boolean Algebra-Properties and Theorems.pptx
bhavanavarri5458
 
PPT
Susunan & Bagian DRAWING 153UWYHSGDGH.ppt
RezaFbriadi
 
PPTX
Query and optimizing operating system.pptx
YoomifTube
 
PPTX
13. ANAESTHETICS AND ALCOHOLS.pptx fucking
sriramraja650
 
PPTX
Normal distriutionvggggggggggggggggggg.pptx
JayeshTaneja4
 
PPTX
DOC-20250728-WAprocess releases large amounts of carbon dioxide (CO₂), sulfur...
samt56673
 
PDF
Endalamaw Kebede.pdfvvbhjjnhgggftygtttfgh
SirajudinAkmel1
 
PPTX
Basics of Memristors and fundamentals.pptx
onterusmail
 
PPTX
原版UMiami毕业证文凭迈阿密大学学费单定制学历在线制作硕士毕业证
jicaaeb0
 
PPTX
atoma.pptxejejejejeejejjeejeejeju3u3u3u3
manthan912009
 
basic_parts-of_computer-1618-754-622.pptx
patelravi16187
 
INTERNET OF THINGS (IOT) network of interconnected devices.
rp1256748
 
Aryanbarot28.pptx Introduction of window os for the projects
aryanbarot004
 
PHISHING ATTACKS. _. _.pptx[]
kumarrana7525
 
Modern machinery.pptx sjsjnshhsnsnnjnnbbbb
raipureastha08
 
Mobile-Device-Management-MDM-Architecture.pptx
pranavnandwanshi99
 
great itemsgreat itemsgreat itemsgreat items.pptx
saurabh13smr
 
community diagnosis slides show health. ppt
michaelbrucebwana
 
西班牙海牙认证瓦伦西亚国际大学毕业证与成绩单文凭复刻快速办理毕业证书
sw6vvn9s
 
Operating-Systems-A-Journey ( by information
parthbhanushali307
 
Boolean Algebra-Properties and Theorems.pptx
bhavanavarri5458
 
Susunan & Bagian DRAWING 153UWYHSGDGH.ppt
RezaFbriadi
 
Query and optimizing operating system.pptx
YoomifTube
 
13. ANAESTHETICS AND ALCOHOLS.pptx fucking
sriramraja650
 
Normal distriutionvggggggggggggggggggg.pptx
JayeshTaneja4
 
DOC-20250728-WAprocess releases large amounts of carbon dioxide (CO₂), sulfur...
samt56673
 
Endalamaw Kebede.pdfvvbhjjnhgggftygtttfgh
SirajudinAkmel1
 
Basics of Memristors and fundamentals.pptx
onterusmail
 
原版UMiami毕业证文凭迈阿密大学学费单定制学历在线制作硕士毕业证
jicaaeb0
 
atoma.pptxejejejejeejejjeejeejeju3u3u3u3
manthan912009
 

Pair Programming

  • 1. PAIR PROGRAMMING NAME : JASLEEN ROLL NO:10509 (GROUP:C1)
  • 2. What is it? •“Two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, and test.” •It allows two people to produce a higher quality of code than that produced by the summation of their individual efforts.
  • 3. How it works • Driver – Actively implements the program. – Actually types or writes down – Explains actions taken – Participates in brainstorming/planning • Navigator – Continuously observes the work of the driver to identify defects. – Thinks about the direction of the work.
  • 4. Driver Navigator
  • 5. Pair Programming • Driver and Navigator working together on one task • Roles changing often • Collective responsibility for outcome • Bringing together of multiple perspectives, experiences and abilities
  • 6. Why Pair ??? • Higher quality code • Faster cycle time • Enhanced trust/teamwork • Knowledge transfer • Enhanced learning • More fun
  • 7. Higher Quality Code • Immediate reviews of all code written • Multiple perspectives on how code should work • People from different areas (UI/database, development/testing) working together – no (incorrect) assumptions • Each person learns from the other – increased skills
  • 8. Faster cycle time • Less temptation/ability to get distracted on non-work things • Less rework due to bad assumptions • Fewer defects slip through, so less rework for defect repair • Less interruption for pair • More communication
  • 9. Enhanced Trust/Teamwork • People in pairs get to know each other better than people working solo • Better understanding of people’s skills • Shared events = common ground
  • 10. Knowledge Transfer • Rotation of pairs means lots of combinations • Lots of combinations make knowledge transfer exponential • Fewer assumptions
  • 11. Enhanced Learning • Each member of a pair has ongoing opportunities to learn from their partner
  • 12. More Fun • Social interactions • Shared events • Studies show high numbers of people trying pair programming prefer it
  • 13. Why Pair Programming Works • Pair Pressure • Pair Negotiation • Pair Courage • Pair Reviews • Pair Debugging • Pair Learning • Pair Trust
  • 14. Pair Pressure • Each member doesn’t want to let the other down • Improved adherence to procedures and standards • Motivation to get a task done in a session while partner is available
  • 15. Pair Negotiation • Working together to get the best solution • Each pair member has – Own set of skills, abilities, outlook. – Shared goal of accomplishing task • Brainstorming (building on ideas of others)
  • 16. Pair Courage • Having a partner agree with a fix or a solution adds confidence to the solution • Two people expressing confusion are more confident to go get the help they need
  • 17. Pair Reviews • Members of pairs are immediately reviewing code as it is written • Two heads better than one
  • 18. Pair Debugging • Effective debugging technique is to explain problem to someone else • Talking about problem in a pair can lead to a solution becoming obvious
  • 19. Pair Learning • No two people are at exact same levels of knowledge on software development • Exposure to different approaches
  • 20. Enabling Pair Programming • Accessible workspace • Communication • Standards • Knowledge of people’s specialties • Pair rotation • Group appraisal • Smaller groups
  • 21. Workspace accessible to both • Display visible to both people • Side by side, not one in front of the other • Keyboard/mouse available to either person
  • 22. Expectation of communication • Ask to drive • Ask questions • Explain actions taken
  • 23. Standards • Standard tools reduce learning curve time in pairs • Coding standards assist in both members following the code being written and avoid disagreements on how to write something
  • 24. Knowledge of people’s specialties • Know who to pair with to achieve benefit in a given situation • If a task overlaps two areas (e.g., UI and database) pair one person from each area
  • 25. Pair Rotation • No given pair of programmers is the right pair for every situation • Rotation enables knowledge transfer
  • 26. Disadvantages to Pair Programming • Requires even number of developers • Scheduling • Experts/Skill Imbalances • Concentration • Disagreements • Overconfidence • Loss of personal development space • Not for everyone