SlideShare a Scribd company logo
1 of 27
Download to read offline
[Pair Programming]
             Ghezal Ahmad “Zia”



3/24/2011            Pair Programming   1
Forward
2




       This presentation, represent a research result which is
        prepared by Stuart Wray at Royal School of Signals,
        Blandford, United kingdom, that defines why pair
        programming sometimes brings benefit and sometimes
        does not.




                                  Pair Programming   3/24/2011
Outline
3




       Motivation
       Pair Programming approach
       Characteristic of pair programming
       Advantages of Pair Programming
       Conclusion




                              Pair Programming   3/24/2011
What Pair Programming is?
4                                                             Motivation


    Pair programming is a style of programming in which two
    programmers work side by side at one computer, continually
    collaborating on the same analysis, design, algorithm,
    implementation, code, or test.




                               Pair Programming   3/24/2011
How does Pair Programming work?
5                                                           Pair programming approach



    •   Driver
         –   “Driver” has control of the keyboard and focuses on the
             immediate task of coding.


    •   Navigator
         –   Tactical defects (syntax errors, calls to wrong method)
         –   Strategic error (heading down wrong path)



                                         Pair Programming   3/24/2011
6




       Why Pair programming is sometimes useful and
                     sometimes doesn't?




                            Pair Programming   3/24/2011
How does Pair Programming work?
7                                          Pair programming approach

     Driver
                                                       Navigator




                        Pair Programming   3/24/2011
Pair…
8                                                               Pair programming approach




                                             Pair Programming    3/24/2011
      http://www.golfhotelwhiskey.com/what-airlines-can-teach-general-aviation-pilots/
Pair…
9                                               Pair programming approach




      http://www.jupiterimages.com/Image/royaltyFree/77636342
                                    Pair Programming 3/24/2011
Pair…
10                                                      Pair programming approach




      http://fachisthers.com/template_archives.asp?chosenYear=2008&chosenMonth=4
                                            Pair Programming 3/24/2011
Abstraction
11                                 Characteristics of Pair Programming

        Pair Pressure
            –    Keep each other on task and focused
            –    Don’t want to let partner down
        Pair Negotiation
            –    Have shared goals and plans
            –    Bring different prior experiences to the task
            –    Different access to task relevant information
            –    Must negotiate a common shared of action


                                  Pair Programming   3/24/2011
12          Characteristics of Pair Programming




     [1]   Pair Programming   3/24/2011
13                        Characteristics of Pair Programming




        Pair Programming would drive me crazy.




                         Pair Programming   3/24/2011
Two head is better than one
14                Characteristics of Pair Programming




                 Pair Programming   3/24/2011
Immediate Objections
15                                 Characteristics of Pair Programming




     •   Why use two programmers to do the work that one
         can do?

     •   Programmers prefer to work in isolation.

     •   Egos and disagreements about implementation will
         hinder development.

                                  Pair Programming   3/24/2011
16                         Characteristics of Pair Programming




     Objection 1: Why use two programmers to do the
                   work that one can do?




                          Pair Programming   3/24/2011
Objection 1
17                                     Characteristics of Pair Programming
      •   Brainstorming
          –   Produce higher quality designs.
          –   Catch design flaws early on, different approaches to the
              solution.
      •   Problem Isolation
           – Easier for two to find and resolve a problem.
           – Both thinking about problem differently.
      •   Focus
           – Keep each other on track.
           – Different experience levels



                                      Pair Programming   3/24/2011
18                        Characteristics of Pair Programming




     Objection 2: Programming is solitary work..




                         Pair Programming   3/24/2011
Objection 2
19                                     Characteristics of Pair Programming

      •   Common assumption
          –   Traditionally taught and practiced this way


      •   Takes some adjustment
          –   Most are initially skeptical


      •   Teamwork
           _ Pairs produced higher quality code

                                      Pair Programming   3/24/2011
20                      Characteristics of Pair Programming




     Objection 3: Egos and disagreements will
                hinder development.




                       Pair Programming   3/24/2011
Objection 3
21                                    Characteristics of Pair Programming


     •   Occasionally an issue.
         –   Rarely have dysfunctional pairs
         –   Disagreements can be easily resolved by a third
             party




                                     Pair Programming   3/24/2011
Advantages
22                                           Advantage of Pair Programming

     •    Learn more about the system and software development.
     •    Problems are solved quicker.
     •    Coding Standards followed more closely.
     •    Team communication and cohesiveness.
     •    Enhanced productivity
     •    Shorter and better code
     •    Less bugs
     •    Sharing of knowledge


                                 Pair Programming   3/24/2011
Important term
23                                                             Conclusion
        Is a method of programming that has come from the
         agile methodology of Extreme Programming (XP) .
        Better distribution of inner knowledge
        More team spirit
        A good idea to rotate pairs
        Two pair with refresh eyes
        Pair Programming is very effective:
              In term of time
              In term of quality
                                Pair Programming   3/24/2011
24




                 Thanks for your attention!




     3/24/2011               Pair Programming   24
References
25



     [1] Cockburn and Williams. The Costs and Benefits of Pair Programming.
         [http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF]

     [2] Jensen, Randal. A Pair Programming Experience.
         CrossTalk. Mar, 2003.
         [http://www.stsc.hill.af.mil/crosstalk/2003/03/jensen.html]

     [3] Pair Programming. Cunningham & Cunningham, Inc. Jan. 15, 2006.
         [http://www.c2.com/cgi/wiki?PairProgramming]

     [4] Williams, Kessler, Cunningham. Strengthening the Case for Pair-
         Programming.
         [http://www.cs.utah.edu/~lwilliam/Papers/ieeeSoftware.PDF]
     [5] http://collaboration.csc.ncsu.edu/laurie

                                          Pair Programming   3/24/2011
26




     Question?

         Pair Programming   3/24/2011
27




      YOU WILL NEVER WORK   ALONE NOW!


     3/24/2011          Pair Programming   27

More Related Content

What's hot

Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutzjazzman1980
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingaaina_katyal
 
Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile MaintenanceNaresh Jain
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesJon McNestrie
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programmingMichael Green
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyMakoto SAKAI
 
Code quality as a built-in process
Code quality as a built-in processCode quality as a built-in process
Code quality as a built-in processElad Maimon
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Vinit Kumar Singh
 
eXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OvervieweXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OverviewGurtej Pal Singh
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseKenan Sevindik
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme ProgrammingJoe Drumgoole
 

What's hot (20)

Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programming
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectively
 
Code quality as a built-in process
Code quality as a built-in processCode quality as a built-in process
Code quality as a built-in process
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
 
eXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OvervieweXtreme programming (XP) - An Overview
eXtreme programming (XP) - An Overview
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
extreme programming
extreme programmingextreme programming
extreme programming
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme Programming
 

Viewers also liked

Introduction To Pair Programming
Introduction To Pair ProgrammingIntroduction To Pair Programming
Introduction To Pair ProgrammingNaresh Jain
 
Scratch and pair programming
Scratch and pair programmingScratch and pair programming
Scratch and pair programmingjtelss10
 
Xitrum HOWTOs
Xitrum HOWTOsXitrum HOWTOs
Xitrum HOWTOsNgoc Dao
 
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Ngoc Dao
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web frameworkNgoc Dao
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumNgoc Dao
 
Pair Programming demystified
Pair Programming demystifiedPair Programming demystified
Pair Programming demystifiedDaftcode
 

Viewers also liked (9)

Introduction To Pair Programming
Introduction To Pair ProgrammingIntroduction To Pair Programming
Introduction To Pair Programming
 
Scratch and pair programming
Scratch and pair programmingScratch and pair programming
Scratch and pair programming
 
Xitrum HOWTOs
Xitrum HOWTOsXitrum HOWTOs
Xitrum HOWTOs
 
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web framework
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and Xitrum
 
Pair programming
Pair programmingPair programming
Pair programming
 
RSpec 2 Best practices
RSpec 2 Best practicesRSpec 2 Best practices
RSpec 2 Best practices
 
Pair Programming demystified
Pair Programming demystifiedPair Programming demystified
Pair Programming demystified
 

Similar to How does pair programming work?

Ict educators win-win-win w agile, ron lichty, 1.4.13
Ict educators   win-win-win w agile, ron lichty, 1.4.13Ict educators   win-win-win w agile, ron lichty, 1.4.13
Ict educators win-win-win w agile, ron lichty, 1.4.13Ron Lichty
 
An Evaluation of Pair Programming Practice
An Evaluation of Pair Programming PracticeAn Evaluation of Pair Programming Practice
An Evaluation of Pair Programming PracticeKranthi Lakum
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development ProjectsMartina Šimičić
 
Why Automation is Required in Software Testing - OSSCamp 2014
Why Automation is Required in Software Testing - OSSCamp 2014Why Automation is Required in Software Testing - OSSCamp 2014
Why Automation is Required in Software Testing - OSSCamp 2014OSSCube
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Pair Programming Explained By Shrikant Vashishtha
Pair Programming Explained  By Shrikant VashishthaPair Programming Explained  By Shrikant Vashishtha
Pair Programming Explained By Shrikant VashishthaShriKant Vashishtha
 
Effective Collaborative Programming3@March 19th 2009
Effective Collaborative Programming3@March 19th 2009Effective Collaborative Programming3@March 19th 2009
Effective Collaborative Programming3@March 19th 2009guest5d31a5
 
Micro patterns in agile software
Micro patterns in agile softwareMicro patterns in agile software
Micro patterns in agile softwareUjjwal Joshi
 
Effective Collaborative Programming3
Effective Collaborative Programming3Effective Collaborative Programming3
Effective Collaborative Programming3Xebia IT Architects
 
Designing patterns in java Advantages and disadvantagesSolution.pdf
Designing patterns in java Advantages and disadvantagesSolution.pdfDesigning patterns in java Advantages and disadvantagesSolution.pdf
Designing patterns in java Advantages and disadvantagesSolution.pdfakukukkusarees
 
Top technical mistakes that programers do
Top technical mistakes that programers doTop technical mistakes that programers do
Top technical mistakes that programers doNalaka Gamage
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management ConceptsSaqib Raza
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 

Similar to How does pair programming work? (20)

Ict educators win-win-win w agile, ron lichty, 1.4.13
Ict educators   win-win-win w agile, ron lichty, 1.4.13Ict educators   win-win-win w agile, ron lichty, 1.4.13
Ict educators win-win-win w agile, ron lichty, 1.4.13
 
An Evaluation of Pair Programming Practice
An Evaluation of Pair Programming PracticeAn Evaluation of Pair Programming Practice
An Evaluation of Pair Programming Practice
 
Ready, Set, Refactor
Ready, Set, RefactorReady, Set, Refactor
Ready, Set, Refactor
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development Projects
 
Why Automation is Required in Software Testing - OSSCamp 2014
Why Automation is Required in Software Testing - OSSCamp 2014Why Automation is Required in Software Testing - OSSCamp 2014
Why Automation is Required in Software Testing - OSSCamp 2014
 
XP O.ppt
XP O.pptXP O.ppt
XP O.ppt
 
Lecture 25
Lecture 25Lecture 25
Lecture 25
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Pair Programming Explained By Shrikant Vashishtha
Pair Programming Explained  By Shrikant VashishthaPair Programming Explained  By Shrikant Vashishtha
Pair Programming Explained By Shrikant Vashishtha
 
Effective Collaborative Programming3@March 19th 2009
Effective Collaborative Programming3@March 19th 2009Effective Collaborative Programming3@March 19th 2009
Effective Collaborative Programming3@March 19th 2009
 
Micro patterns in agile software
Micro patterns in agile softwareMicro patterns in agile software
Micro patterns in agile software
 
Effective Collaborative Programming3
Effective Collaborative Programming3Effective Collaborative Programming3
Effective Collaborative Programming3
 
Ijetcas14 533
Ijetcas14 533Ijetcas14 533
Ijetcas14 533
 
Pairing with People
Pairing with PeoplePairing with People
Pairing with People
 
Designing patterns in java Advantages and disadvantagesSolution.pdf
Designing patterns in java Advantages and disadvantagesSolution.pdfDesigning patterns in java Advantages and disadvantagesSolution.pdf
Designing patterns in java Advantages and disadvantagesSolution.pdf
 
Top technical mistakes that programers do
Top technical mistakes that programers doTop technical mistakes that programers do
Top technical mistakes that programers do
 
Iss 05
Iss 05Iss 05
Iss 05
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 

Recently uploaded (20)

Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 

How does pair programming work?

  • 1. [Pair Programming] Ghezal Ahmad “Zia” 3/24/2011 Pair Programming 1
  • 2. Forward 2  This presentation, represent a research result which is prepared by Stuart Wray at Royal School of Signals, Blandford, United kingdom, that defines why pair programming sometimes brings benefit and sometimes does not. Pair Programming 3/24/2011
  • 3. Outline 3  Motivation  Pair Programming approach  Characteristic of pair programming  Advantages of Pair Programming  Conclusion Pair Programming 3/24/2011
  • 4. What Pair Programming is? 4 Motivation Pair programming is a style of programming in which two programmers work side by side at one computer, continually collaborating on the same analysis, design, algorithm, implementation, code, or test. Pair Programming 3/24/2011
  • 5. How does Pair Programming work? 5 Pair programming approach • Driver – “Driver” has control of the keyboard and focuses on the immediate task of coding. • Navigator – Tactical defects (syntax errors, calls to wrong method) – Strategic error (heading down wrong path) Pair Programming 3/24/2011
  • 6. 6  Why Pair programming is sometimes useful and sometimes doesn't? Pair Programming 3/24/2011
  • 7. How does Pair Programming work? 7 Pair programming approach Driver Navigator Pair Programming 3/24/2011
  • 8. Pair… 8 Pair programming approach Pair Programming 3/24/2011 http://www.golfhotelwhiskey.com/what-airlines-can-teach-general-aviation-pilots/
  • 9. Pair… 9 Pair programming approach http://www.jupiterimages.com/Image/royaltyFree/77636342 Pair Programming 3/24/2011
  • 10. Pair… 10 Pair programming approach http://fachisthers.com/template_archives.asp?chosenYear=2008&chosenMonth=4 Pair Programming 3/24/2011
  • 11. Abstraction 11 Characteristics of Pair Programming  Pair Pressure – Keep each other on task and focused – Don’t want to let partner down  Pair Negotiation – Have shared goals and plans – Bring different prior experiences to the task – Different access to task relevant information – Must negotiate a common shared of action Pair Programming 3/24/2011
  • 12. 12 Characteristics of Pair Programming [1] Pair Programming 3/24/2011
  • 13. 13 Characteristics of Pair Programming  Pair Programming would drive me crazy. Pair Programming 3/24/2011
  • 14. Two head is better than one 14 Characteristics of Pair Programming Pair Programming 3/24/2011
  • 15. Immediate Objections 15 Characteristics of Pair Programming • Why use two programmers to do the work that one can do? • Programmers prefer to work in isolation. • Egos and disagreements about implementation will hinder development. Pair Programming 3/24/2011
  • 16. 16 Characteristics of Pair Programming Objection 1: Why use two programmers to do the work that one can do? Pair Programming 3/24/2011
  • 17. Objection 1 17 Characteristics of Pair Programming • Brainstorming – Produce higher quality designs. – Catch design flaws early on, different approaches to the solution. • Problem Isolation – Easier for two to find and resolve a problem. – Both thinking about problem differently. • Focus – Keep each other on track. – Different experience levels Pair Programming 3/24/2011
  • 18. 18 Characteristics of Pair Programming Objection 2: Programming is solitary work.. Pair Programming 3/24/2011
  • 19. Objection 2 19 Characteristics of Pair Programming • Common assumption – Traditionally taught and practiced this way • Takes some adjustment – Most are initially skeptical • Teamwork _ Pairs produced higher quality code Pair Programming 3/24/2011
  • 20. 20 Characteristics of Pair Programming Objection 3: Egos and disagreements will hinder development. Pair Programming 3/24/2011
  • 21. Objection 3 21 Characteristics of Pair Programming • Occasionally an issue. – Rarely have dysfunctional pairs – Disagreements can be easily resolved by a third party Pair Programming 3/24/2011
  • 22. Advantages 22 Advantage of Pair Programming • Learn more about the system and software development. • Problems are solved quicker. • Coding Standards followed more closely. • Team communication and cohesiveness. • Enhanced productivity • Shorter and better code • Less bugs • Sharing of knowledge Pair Programming 3/24/2011
  • 23. Important term 23 Conclusion  Is a method of programming that has come from the agile methodology of Extreme Programming (XP) .  Better distribution of inner knowledge  More team spirit  A good idea to rotate pairs  Two pair with refresh eyes  Pair Programming is very effective: In term of time In term of quality Pair Programming 3/24/2011
  • 24. 24 Thanks for your attention! 3/24/2011 Pair Programming 24
  • 25. References 25 [1] Cockburn and Williams. The Costs and Benefits of Pair Programming. [http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF] [2] Jensen, Randal. A Pair Programming Experience. CrossTalk. Mar, 2003. [http://www.stsc.hill.af.mil/crosstalk/2003/03/jensen.html] [3] Pair Programming. Cunningham & Cunningham, Inc. Jan. 15, 2006. [http://www.c2.com/cgi/wiki?PairProgramming] [4] Williams, Kessler, Cunningham. Strengthening the Case for Pair- Programming. [http://www.cs.utah.edu/~lwilliam/Papers/ieeeSoftware.PDF] [5] http://collaboration.csc.ncsu.edu/laurie Pair Programming 3/24/2011
  • 26. 26 Question? Pair Programming 3/24/2011
  • 27. 27 YOU WILL NEVER WORK ALONE NOW! 3/24/2011 Pair Programming 27