SlideShare a Scribd company logo
1 of 27
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

What's hot

What Are You Talking About? How Others Perceive Devs and DevOps
What Are You Talking About? How Others Perceive Devs and DevOpsWhat Are You Talking About? How Others Perceive Devs and DevOps
What Are You Talking About? How Others Perceive Devs and DevOps
J On The Beach
 
The design of everyday things
The design of everyday thingsThe design of everyday things
The design of everyday things
ProvaAkter
 
Game Design 2: UI in Games - Revision Lecture
Game Design 2: UI in Games - Revision LectureGame Design 2: UI in Games - Revision Lecture
Game Design 2: UI in Games - Revision Lecture
David Farrell
 

What's hot (12)

What Are You Talking About? How Others Perceive Devs and DevOps
What Are You Talking About? How Others Perceive Devs and DevOpsWhat Are You Talking About? How Others Perceive Devs and DevOps
What Are You Talking About? How Others Perceive Devs and DevOps
 
Designing and Testing for Digital Accessibility
Designing and Testing for Digital AccessibilityDesigning and Testing for Digital Accessibility
Designing and Testing for Digital Accessibility
 
Workshop: Usability Testing for Accessibility
Workshop: Usability Testing for AccessibilityWorkshop: Usability Testing for Accessibility
Workshop: Usability Testing for Accessibility
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
 
The design of everyday things
The design of everyday thingsThe design of everyday things
The design of everyday things
 
From Empathy to Research with People with Disability
From Empathy to Research with People with DisabilityFrom Empathy to Research with People with Disability
From Empathy to Research with People with Disability
 
Game Design 2: UI in Games - Revision Lecture
Game Design 2: UI in Games - Revision LectureGame Design 2: UI in Games - Revision Lecture
Game Design 2: UI in Games - Revision Lecture
 
Agile and accessibility - Water and oil
Agile and accessibility - Water and oilAgile and accessibility - Water and oil
Agile and accessibility - Water and oil
 
The psychopathology of everyday things!
The psychopathology of everyday things!The psychopathology of everyday things!
The psychopathology of everyday things!
 
Games Design 2 - Lecture 10 - Game Interface Prototyping
Games Design 2 - Lecture 10 - Game Interface PrototypingGames Design 2 - Lecture 10 - Game Interface Prototyping
Games Design 2 - Lecture 10 - Game Interface Prototyping
 
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesGame Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
 

Similar to Pair Programming

Chris Covell Collaboration for distributed teams
Chris Covell   Collaboration for distributed teamsChris Covell   Collaboration for distributed teams
Chris Covell Collaboration for distributed teams
Agile Lietuva
 

Similar to Pair Programming (20)

Pair Programming and XP Values
Pair Programming and XP ValuesPair Programming and XP Values
Pair Programming and XP Values
 
IT CLA 2013
IT CLA 2013IT CLA 2013
IT CLA 2013
 
Pair Programming Styles
Pair Programming StylesPair Programming Styles
Pair Programming Styles
 
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Delphi Method by Amr Ali
Delphi Method  by Amr AliDelphi Method  by Amr Ali
Delphi Method by Amr Ali
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
Chris Covell Collaboration for distributed teams
Chris Covell   Collaboration for distributed teamsChris Covell   Collaboration for distributed teams
Chris Covell Collaboration for distributed teams
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
Pair Programming - the lightning talk
Pair Programming - the lightning talkPair Programming - the lightning talk
Pair Programming - the lightning talk
 
Pair programming
Pair programmingPair programming
Pair programming
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Simon Peter Schrjver: Pair Testing
Simon Peter Schrjver: Pair TestingSimon Peter Schrjver: Pair Testing
Simon Peter Schrjver: Pair Testing
 
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
 
Pair Programming - Everything you need to know
Pair Programming - Everything you need to knowPair Programming - Everything you need to know
Pair Programming - Everything you need to know
 
High performing-distributed-teams
High performing-distributed-teamsHigh performing-distributed-teams
High performing-distributed-teams
 
ANIn Ahmedabad Jan 2024 | Cross-Functional Collaboration Key to Agile - Harsh...
ANIn Ahmedabad Jan 2024 | Cross-Functional Collaboration Key to Agile - Harsh...ANIn Ahmedabad Jan 2024 | Cross-Functional Collaboration Key to Agile - Harsh...
ANIn Ahmedabad Jan 2024 | Cross-Functional Collaboration Key to Agile - Harsh...
 
Lecture 25
Lecture 25Lecture 25
Lecture 25
 
Global Resouces Qse Ap External
Global Resouces Qse Ap ExternalGlobal Resouces Qse Ap External
Global Resouces Qse Ap External
 

Recently uploaded

怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
ehyxf
 
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
ougvy
 
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Priya Reddy
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
tufbav
 
Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...
gajnagarg
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
wpkuukw
 
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
drmarathore
 
一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证
一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证
一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证
wpkuukw
 
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
tufbav
 
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
uodye
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
oopacde
 
Abortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in Dammam
Abortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in DammamAbortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in Dammam
Abortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in Dammam
ahmedjiabur940
 
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
uodye
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
ehyxf
 
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
uodye
 
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pillsIn Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
Abortion pills in Riyadh +966572737505 get cytotec
 
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
ehyxf
 
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 

Recently uploaded (20)

怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
 
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
 
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
 
Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
 
Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Palghar [ 7014168258 ] Call Me For Genuine Models W...
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
 
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
 
一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证
一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证
一比一定(购)坎特伯雷大学毕业证(UC毕业证)成绩单学位证
 
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
 
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
 
Abortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in Dammam
Abortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in DammamAbortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in Dammam
Abortion Pill for sale in Riyadh ((+918761049707) Get Cytotec in Dammam
 
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime GuwahatiGuwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
 
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
 
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
 
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pillsIn Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
 
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
 
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
 

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