Your SlideShare is downloading. ×
Pair Programming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Pair Programming

9,721
views

Published on

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

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

Published in: Technology

2 Comments
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
9,721
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
326
Comments
2
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Pair Programming You will never work alone again! Naresh Jain naresh@agilefaqs.com Licensed Under Creative Commons by Naresh Jain 1
  • 2. What is Pair Programming ? 2
  • 3. Video of a Sniper team working together 3
  • 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. What is Pair Programming ? 5
  • 6. src: ThoughtWorks India 6
  • 7. src: ThoughtWorks India 6
  • 8. Pairing   Stationsrc: ThoughtWorks India 6
  • 9. Driver Pairing   Stationsrc: ThoughtWorks India 6
  • 10. Driver Navigator Pairing   Stationsrc: ThoughtWorks India 6
  • 11. Next  line  of  code,   syntax,  API,   class  under  dev   Driver Navigator Pairing   Stationsrc: ThoughtWorks India 6
  • 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. 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. TICO TICO (Guitar Four-Hand Exchanging) Video http://www.youtube.com/watch?v=CcsSPzr7ays 8
  • 15. 9
  • 16. 10
  • 17. 11
  • 18. 12
  • 19. How does it Help? Licensed Under Creative Commons by Naresh Jain 13
  • 20. Continuous Review 14
  • 21. Less DefectsDefects caught early 15
  • 22. Improvement in theQuality of the Design 16
  • 23. Better Problem Solving 17
  • 24. More Economical 18
  • 25. “Pair-Pressure”ensures timely delivery 19
  • 26. Rapid Hands-onApproach to Learning 20
  • 27. Better Induction ofnew Team Members 21
  • 28. Better Induction ofnew Team Members 22
  • 29. Saved Effort on Intra-Team Documentation 23
  • 30. Less Distraction leading to Higher Productivity 24
  • 31. Improved Satisfaction 25
  • 32. Sustainable Pace:Helps you slow down and think 26
  • 33. Better Team Buildingand Communication 27
  • 34. Project Management:Risk Mitigation Strategy 28
  • 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. A Normal Pair Programming Videohttp://www.youtube.com/watch?v=q-QWdFa4awI 30
  • 37. Consider the following... An experiment on Pair Programming at University of Utah Licensed Under Creative Commons by Naresh Jain 31
  • 38. Cost and savingsLicensed Under Creative Commons by Naresh Jain 32
  • 39. Cost and savingsLicensed Under Creative Commons by Naresh Jain 33
  • 40. Cost of fixing defectsCost  of  defect Time Licensed Under Creative Commons by Naresh Jain 34
  • 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. Incorporating pair-programming into asoftware development process will help yield software products of betterquality in less time with happier, more confident programmers! 35
  • 43. Points of resistance Things to watch out for... Licensed Under Creative Commons by Naresh Jain 36
  • 44. Difficulty in convincing stakeholders to let twopeople work on one task 37
  • 45. Everyone settles downinto a “Comfort Zone”Pairing would disrupt it 38
  • 46. Strong Code Ownership 39
  • 47. People Who Don’t Care 40
  • 48. Developers not involvedin Estimation and Planning 41
  • 49. InconsistentWorkstation Setup 42
  • 50. Small Work Area (Cubicles) 43
  • 51. Techniques of Pairing Licensed Under Creative Commons by Naresh Jain 44
  • 52. Ping-Pong Pairing 45
  • 53. Keyboard n Mice Pairing 46
  • 54. Selective Pairing 47
  • 55. Cross functional Pairing 48
  • 56. Distributed Pairing 49
  • 57. Tips n Tricks Licensed Under Creative Commons by Naresh Jain 50
  • 58. Pairing Stations 51
  • 59. Pair Rotation with Pair Hinging 52
  • 60. PromiscuousPair Programming 53
  • 61. Pairing Round 54
  • 62. Pair Stairs 55
  • 63. Spikes 56
  • 64. Pairing Smells Things to Watch out for... Licensed Under Creative Commons by Naresh Jain 57
  • 65. Pair Programming Anti Patterns Videohttp://www.youtube.com/watch?v=ReuFZYtGeCc 58
  • 66. No Pair Rotation 59
  • 67. Only one person driving Distracted Pair 60
  • 68. Selective Pairing closer to a Release 61
  • 69. Manager decides the Pairs 62
  • 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. 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. 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. Thank You!Questions? Licensed Under Creative Commons by Naresh Jain 66

×