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.
Pair Programming  You will never work alone again!         Naresh Jain    naresh@agilefaqs.com     Licensed Under Creative...
What is Pair Programming ?                             2
Video of a Sniper team working together                                          3
What did we see ?Two guys working on the same taskBoth have the same targetBoth have different expertiseOne executes the t...
What is Pair Programming ?                             5
src: ThoughtWorks India                          6
src: ThoughtWorks India                          6
Pairing	                      Stationsrc: ThoughtWorks India                                  6
Driver                    Pairing	                      Stationsrc: ThoughtWorks India                                  6
Driver                                  Navigator                    Pairing	                      Stationsrc: ThoughtWork...
Next	  line	  of	  code,	                                       syntax,	  API,	                                     class	...
are	  we	  in	  the	  right	  direction?,	                                    Next	  line	  of	  code,	     requirements,	...
Isnt it a waste ?Two developers will do the work of oneJunior guys will slow down seniorsLess work will get doneMy cost wi...
TICO TICO (Guitar Four-Hand Exchanging) Video       http://www.youtube.com/watch?v=CcsSPzr7ays                            ...
9
10
11
12
How does it Help?   Licensed Under Creative Commons by Naresh Jain                                                    13
Continuous Review                    14
Less DefectsDefects caught early                       15
Improvement in theQuality of the Design                        16
Better Problem Solving                         17
More Economical                  18
“Pair-Pressure”ensures timely delivery                          19
Rapid Hands-onApproach to Learning                       20
Better Induction ofnew Team Members                      21
Better Induction ofnew Team Members                      22
Saved Effort on Intra-Team Documentation                         23
Less Distraction leading to Higher Productivity                           24
Improved Satisfaction                        25
Sustainable Pace:Helps you slow down      and think                      26
Better Team Buildingand Communication                       27
Project Management:Risk Mitigation Strategy                           28
We are in the business of building software and this processrequires craft and skill, rather than a series of manual steps...
A Normal Pair Programming Videohttp://www.youtube.com/watch?v=q-QWdFa4awI                                             30
Consider the following...    An experiment on Pair Programming           at University of Utah        Licensed Under Creat...
Cost and savingsLicensed Under Creative Commons by Naresh Jain                                                 32
Cost and savingsLicensed Under Creative Commons by Naresh Jain                                                 33
Cost of fixing defectsCost	  of	  defect                                          Time                       Licensed Under...
Cost of fixing defects             Cost	  of	  defect                                                       Time“IBM report...
Incorporating pair-programming into asoftware development process will help   yield software products of betterquality in ...
Points of resistance    Things to watch out for...    Licensed Under Creative Commons by Naresh Jain                      ...
Difficulty in convincing stakeholders to let twopeople work on one task                           37
Everyone settles downinto a “Comfort Zone”Pairing would disrupt it                           38
Strong Code Ownership                        39
People Who Don’t Care                        40
Developers not involvedin Estimation and Planning                         41
InconsistentWorkstation Setup                    42
Small Work Area  (Cubicles)                  43
Techniques of Pairing     Licensed Under Creative Commons by Naresh Jain                                                  ...
Ping-Pong Pairing                    45
Keyboard n Mice Pairing                          46
Selective Pairing                    47
Cross functional Pairing                           48
Distributed Pairing                      49
Tips n Tricks Licensed Under Creative Commons by Naresh Jain                                                  50
Pairing Stations                   51
Pair Rotation with   Pair Hinging                     52
PromiscuousPair Programming                   53
Pairing Round                54
Pair Stairs              55
Spikes         56
Pairing Smells Things to Watch out for... Licensed Under Creative Commons by Naresh Jain                                  ...
Pair Programming Anti Patterns Videohttp://www.youtube.com/watch?v=ReuFZYtGeCc                                         58
No Pair Rotation                   59
Only one person driving    Distracted Pair                          60
Selective Pairing closer     to a Release                           61
Manager decides the Pairs                        62
When its not necessary?Tasks which involve Mundane Work (may be)Trivial bug fixes like TyposOne person in the Pair is Sick ...
F.A.Q.sHow do you do estimation? Its 2 people working on one task now.How do you do performance reviews for individuals?Ca...
ReferencesThe Costs and Benefits of Pair Programming   - Laurie Williams & Alistair CockburnStrengthening the Case for Pair...
Thank You!Questions?  Licensed Under Creative Commons by Naresh Jain                                                   66
Upcoming SlideShare
Loading in …5
×

7

Share

Download to read offline

Pair Programming

Download to read offline

Naresh and Bhavin's Presentation from the Pair Programming Workshop at Agile Chennai

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Pair Programming

  1. 1. Pair Programming You will never work alone again! Naresh Jain naresh@agilefaqs.com Licensed Under Creative Commons by Naresh Jain 1
  2. 2. What is Pair Programming ? 2
  3. 3. Video of a Sniper team working together 3
  4. 4. What did we see ?Two guys working on the same taskBoth have the same targetBoth have different expertiseOne executes the taskThe other watches for external factors, evaluates the situation,corrects him and validates success after executionTwo guys working as a team Licensed Under Creative Commons by Naresh Jain 4
  5. 5. What is Pair Programming ? 5
  6. 6. src: ThoughtWorks India 6
  7. 7. src: ThoughtWorks India 6
  8. 8. Pairing   Stationsrc: ThoughtWorks India 6
  9. 9. Driver Pairing   Stationsrc: ThoughtWorks India 6
  10. 10. Driver Navigator Pairing   Stationsrc: ThoughtWorks India 6
  11. 11. Next  line  of  code,   syntax,  API,   class  under  dev   Driver Navigator Pairing   Stationsrc: ThoughtWorks India 6
  12. 12. are  we  in  the  right  direction?,   Next  line  of  code,   requirements,  alternatives,   syntax,  API,   next  test  case, class  under  dev   impact   Driver Navigator Pairing   Stationsrc: ThoughtWorks India 6
  13. 13. Isnt it a waste ?Two developers will do the work of oneJunior guys will slow down seniorsLess work will get doneMy cost will doubleWhy would I put two people on a job that just one can do? Licensed Under Creative Commons by Naresh Jain 7
  14. 14. TICO TICO (Guitar Four-Hand Exchanging) Video http://www.youtube.com/watch?v=CcsSPzr7ays 8
  15. 15. 9
  16. 16. 10
  17. 17. 11
  18. 18. 12
  19. 19. How does it Help? Licensed Under Creative Commons by Naresh Jain 13
  20. 20. Continuous Review 14
  21. 21. Less DefectsDefects caught early 15
  22. 22. Improvement in theQuality of the Design 16
  23. 23. Better Problem Solving 17
  24. 24. More Economical 18
  25. 25. “Pair-Pressure”ensures timely delivery 19
  26. 26. Rapid Hands-onApproach to Learning 20
  27. 27. Better Induction ofnew Team Members 21
  28. 28. Better Induction ofnew Team Members 22
  29. 29. Saved Effort on Intra-Team Documentation 23
  30. 30. Less Distraction leading to Higher Productivity 24
  31. 31. Improved Satisfaction 25
  32. 32. Sustainable Pace:Helps you slow down and think 26
  33. 33. Better Team Buildingand Communication 27
  34. 34. Project Management:Risk Mitigation Strategy 28
  35. 35. We are in the business of building software and this processrequires craft and skill, rather than a series of manual steps. Programming requires lot of thinking, creating abstractions, figuring out the logic and trying out things.An evolutionary, iterative and collaborative process. Its a lot more than just typing code. (Using the keyboard or even worse, using the mouse) 29
  36. 36. A Normal Pair Programming Videohttp://www.youtube.com/watch?v=q-QWdFa4awI 30
  37. 37. Consider the following... An experiment on Pair Programming at University of Utah Licensed Under Creative Commons by Naresh Jain 31
  38. 38. Cost and savingsLicensed Under Creative Commons by Naresh Jain 32
  39. 39. Cost and savingsLicensed Under Creative Commons by Naresh Jain 33
  40. 40. Cost of fixing defectsCost  of  defect Time Licensed Under Creative Commons by Naresh Jain 34
  41. 41. Cost of fixing defects Cost  of  defect Time“IBM reported spending about $250 million repairing and reinstalling fixes to 30,000 customer-reported problems. That is over $8,000 for each defect!” - “A Discipline for Software Engineering”, 1995, Humphrey, W.S. Licensed Under Creative Commons by Naresh Jain 34
  42. 42. Incorporating pair-programming into asoftware development process will help yield software products of betterquality in less time with happier, more confident programmers! 35
  43. 43. Points of resistance Things to watch out for... Licensed Under Creative Commons by Naresh Jain 36
  44. 44. Difficulty in convincing stakeholders to let twopeople work on one task 37
  45. 45. Everyone settles downinto a “Comfort Zone”Pairing would disrupt it 38
  46. 46. Strong Code Ownership 39
  47. 47. People Who Don’t Care 40
  48. 48. Developers not involvedin Estimation and Planning 41
  49. 49. InconsistentWorkstation Setup 42
  50. 50. Small Work Area (Cubicles) 43
  51. 51. Techniques of Pairing Licensed Under Creative Commons by Naresh Jain 44
  52. 52. Ping-Pong Pairing 45
  53. 53. Keyboard n Mice Pairing 46
  54. 54. Selective Pairing 47
  55. 55. Cross functional Pairing 48
  56. 56. Distributed Pairing 49
  57. 57. Tips n Tricks Licensed Under Creative Commons by Naresh Jain 50
  58. 58. Pairing Stations 51
  59. 59. Pair Rotation with Pair Hinging 52
  60. 60. PromiscuousPair Programming 53
  61. 61. Pairing Round 54
  62. 62. Pair Stairs 55
  63. 63. Spikes 56
  64. 64. Pairing Smells Things to Watch out for... Licensed Under Creative Commons by Naresh Jain 57
  65. 65. Pair Programming Anti Patterns Videohttp://www.youtube.com/watch?v=ReuFZYtGeCc 58
  66. 66. No Pair Rotation 59
  67. 67. Only one person driving Distracted Pair 60
  68. 68. Selective Pairing closer to a Release 61
  69. 69. Manager decides the Pairs 62
  70. 70. When its not necessary?Tasks which involve Mundane Work (may be)Trivial bug fixes like TyposOne person in the Pair is Sick Licensed Under Creative Commons by Naresh Jain 63
  71. 71. F.A.Q.sHow do you do estimation? Its 2 people working on one task now.How do you do performance reviews for individuals?Can we keep it optional for some people on a team? Licensed Under Creative Commons by Naresh Jain 64
  72. 72. ReferencesThe Costs and Benefits of Pair Programming - Laurie Williams & Alistair CockburnStrengthening the Case for Pair-Programming - Laurie Williams, Robert R. Kessler, Ward Cunningham & Ron JeffriesOn the Economic Feasibility of Pair Programming - Hakan Erdogmus & Laurie Williams Licensed Under Creative Commons by Naresh Jain 65
  73. 73. Thank You!Questions? Licensed Under Creative Commons by Naresh Jain 66
  • MEGHANAHADIMANI

    Aug. 31, 2021
  • DurgaMandal

    Mar. 7, 2021
  • ingmmurillo

    Jan. 25, 2017
  • DigiFabric

    Nov. 13, 2016
  • KisoonEom

    Jul. 22, 2014
  • Ls9928001

    Oct. 22, 2011
  • kylesm

    Oct. 27, 2009

Naresh and Bhavin's Presentation from the Pair Programming Workshop at Agile Chennai

Views

Total views

18,341

On Slideshare

0

From embeds

0

Number of embeds

6,875

Actions

Downloads

489

Shares

0

Comments

0

Likes

7

×