Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How does pair programming work?

5,065 views

Published on

This is my first presentation at TU-Berlin.

Published in: Education
  • Dating for everyone is here: ❶❶❶ http://bit.ly/2F90ZZC ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/2F90ZZC ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

How does pair programming work?

  1. 1. [Pair Programming] Ghezal Ahmad “Zia”3/24/2011 Pair Programming 1
  2. 2. Forward2  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. 3. Outline3  Motivation  Pair Programming approach  Characteristic of pair programming  Advantages of Pair Programming  Conclusion Pair Programming 3/24/2011
  4. 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. 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. 6  Why Pair programming is sometimes useful and sometimes doesnt? Pair Programming 3/24/2011
  7. 7. How does Pair Programming work?7 Pair programming approach Driver Navigator Pair Programming 3/24/2011
  8. 8. Pair…8 Pair programming approach Pair Programming 3/24/2011 http://www.golfhotelwhiskey.com/what-airlines-can-teach-general-aviation-pilots/
  9. 9. Pair…9 Pair programming approach http://www.jupiterimages.com/Image/royaltyFree/77636342 Pair Programming 3/24/2011
  10. 10. Pair…10 Pair programming approach http://fachisthers.com/template_archives.asp?chosenYear=2008&chosenMonth=4 Pair Programming 3/24/2011
  11. 11. Abstraction11 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. 12 Characteristics of Pair Programming [1] Pair Programming 3/24/2011
  13. 13. 13 Characteristics of Pair Programming  Pair Programming would drive me crazy. Pair Programming 3/24/2011
  14. 14. Two head is better than one14 Characteristics of Pair Programming Pair Programming 3/24/2011
  15. 15. Immediate Objections15 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. 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. 17. Objection 117 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. 18 Characteristics of Pair Programming Objection 2: Programming is solitary work.. Pair Programming 3/24/2011
  19. 19. Objection 219 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. 20 Characteristics of Pair Programming Objection 3: Egos and disagreements will hinder development. Pair Programming 3/24/2011
  21. 21. Objection 321 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. 22. Advantages22 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. 23. Important term23 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. 24 Thanks for your attention! 3/24/2011 Pair Programming 24
  25. 25. References25 [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. 26 Question? Pair Programming 3/24/2011
  27. 27. 27 YOU WILL NEVER WORK ALONE NOW! 3/24/2011 Pair Programming 27

×