Remote pair programming conference 2012

818 views
717 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
818
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Remote pair programming conference 2012

  1. 1. Remote Pair Programming A Guide for Distributed Agile TeamsWednesday, August 15, 12
  2. 2. Agenda Overview People Challenges “You’re Remote Pairing Today” TechnologyWednesday, August 15, 12
  3. 3. Feedback http://svy.mk/pairprogramWednesday, August 15, 12
  4. 4. Who?Wednesday, August 15, 12
  5. 5. Who? Joe Moore - @joem joe.moore@gmail.com Pivotal Labs - @pivotallabs http://svy.mk/pairprogramWednesday, August 15, 12
  6. 6. Who? Pair programming since 2000Wednesday, August 15, 12
  7. 7. Who? Remote pair programming full time since 2010Wednesday, August 15, 12
  8. 8. Pair Programming?Wednesday, August 15, 12
  9. 9. Pair Programming? Two developers coding on the same development workstationWednesday, August 15, 12
  10. 10. Pair Programming? Solving the same problem, at the same time, togetherWednesday, August 15, 12
  11. 11. Pair Programming? • Higher quality • Fewer defects • Focus • Intensity • Faster problem solving • Knowledge transfer • Code review •Wednesday, August 15, 12
  12. 12. What? Remote pair programmingWednesday, August 15, 12
  13. 13. What? Pair programming, but not at the same physical computerWednesday, August 15, 12
  14. 14. What? What does it look like?Wednesday, August 15, 12
  15. 15. Wednesday, August 15, 12
  16. 16. Wednesday, August 15, 12
  17. 17. Wednesday, August 15, 12
  18. 18. Wednesday, August 15, 12
  19. 19. Video Remote pairing: debugging a phone http://youtu.be/mfoJ6mBVi2wWednesday, August 15, 12
  20. 20. ChallengesWednesday, August 15, 12
  21. 21. ChallengesWednesday, August 15, 12
  22. 22. Video Remote pairing: (listen for both our voices) http://youtu.be/CWJMzW1ZqNEWednesday, August 15, 12
  23. 23. Wednesday, August 15, 12
  24. 24. Wednesday, August 15, 12
  25. 25. Video Remote pairing: coding via screen sharing http://youtu.be/4PkT1bbmA4IWednesday, August 15, 12
  26. 26. Wednesday, August 15, 12
  27. 27. Wednesday, August 15, 12
  28. 28. When? Remote pair programmingWednesday, August 15, 12
  29. 29. When? Your project is split between multiple locationsWednesday, August 15, 12
  30. 30. When? You work for a “virtual company”Wednesday, August 15, 12
  31. 31. When? Your project has remote developersWednesday, August 15, 12
  32. 32. When? Someone needs another person’s expertise but they’re not co-locatedWednesday, August 15, 12
  33. 33. When? You’re giving a remote pairing interviewWednesday, August 15, 12
  34. 34. Why? Remote pair programmingWednesday, August 15, 12
  35. 35. Why? RPP can have the same benefits as in-person pair programmingWednesday, August 15, 12
  36. 36. Why? • Higher quality • Fewer defects • Focus • Intensity • Faster problem solving • Knowledge transfer • Code review •Wednesday, August 15, 12
  37. 37. Why? Counteract remote development pitfallsWednesday, August 15, 12
  38. 38. Why? • Higher quality • Fewer defects • Focus • Intensity • Faster problem solving • Knowledge transfer • Code review •Wednesday, August 15, 12
  39. 39. Why? Silo is a four-letter wordWednesday, August 15, 12
  40. 40. Why? Some people like it better than in-person pairing?Wednesday, August 15, 12
  41. 41. Why? Some people like it better than in-person pairing? It’s true! I’ve heard it multiple times!Wednesday, August 15, 12
  42. 42. How? Remote pair programmingWednesday, August 15, 12
  43. 43. How? It’s about the people, not just technologiesWednesday, August 15, 12
  44. 44. How? You can’t fix a team of tools with toolsWednesday, August 15, 12
  45. 45. How? PatienceWednesday, August 15, 12
  46. 46. How? Express your ideas clearly and conciselyWednesday, August 15, 12
  47. 47. How? Extremely good pairing etiquetteWednesday, August 15, 12
  48. 48. How? “Do you mind if I drive?” “I’m going to grab the mouse.” “Can I look at something?” “Go ahead and drive.”Wednesday, August 15, 12
  49. 49. How? Supportive operations/infrastructure teamWednesday, August 15, 12
  50. 50. How? A good attitudeWednesday, August 15, 12
  51. 51. Wednesday, August 15, 12
  52. 52. Wednesday, August 15, 12
  53. 53. Wednesday, August 15, 12
  54. 54. Wednesday, August 15, 12
  55. 55. How? Team must be generous and understandingWednesday, August 15, 12
  56. 56. Wednesday, August 15, 12
  57. 57. Wednesday, August 15, 12
  58. 58. How? Do’s and Don’tsWednesday, August 15, 12
  59. 59. How? Do… • Be patient • Be assertive about being included • Make an effort to include remote dev • Take breaks, play ping pong • Use video (especially at first)Wednesday, August 15, 12
  60. 60. How? Don’t… x Exclude remotes from local conversations x Exclude remotes from meetings x Be the strong, silent type x Just walk away x Lay your headphones on keyboardWednesday, August 15, 12
  61. 61. How? Regarding VideoWednesday, August 15, 12
  62. 62. How? I’m striving for a “high fidelity” experienceWednesday, August 15, 12
  63. 63. Wednesday, August 15, 12
  64. 64. Wednesday, August 15, 12
  65. 65. How? Let’s play a game called: “What’s going on?”Wednesday, August 15, 12
  66. 66. What’s going on?Wednesday, August 15, 12
  67. 67. What’s going on?Wednesday, August 15, 12
  68. 68. What’s going on?Wednesday, August 15, 12
  69. 69. What’s going on?Wednesday, August 15, 12
  70. 70. What’s going on?Wednesday, August 15, 12
  71. 71. What’s going on?Wednesday, August 15, 12
  72. 72. Challenges Remote pair programmingWednesday, August 15, 12
  73. 73. Challenges The same challenges as in-person pair programmingWednesday, August 15, 12
  74. 74. Challenges Lacks some of the traditional work-from-home benefits (especially full-time pairing)Wednesday, August 15, 12
  75. 75. Challenges Lack of shared facilitiesWednesday, August 15, 12
  76. 76. Challenges Lack of shared facilities • Whiteboards • Notecards • Big visible charts • Information radiators • Lunch area • Hallway conversations •Wednesday, August 15, 12
  77. 77. Wednesday, August 15, 12
  78. 78. Wednesday, August 15, 12
  79. 79. Wednesday, August 15, 12
  80. 80. Challenges 2 timezones is hardWednesday, August 15, 12
  81. 81. Challenges 3 timezones is harderWednesday, August 15, 12
  82. 82. Challenges 12 timezones is…???Wednesday, August 15, 12
  83. 83. Challenges Technology gremlinsWednesday, August 15, 12
  84. 84. Challenges Technology gremlins • flaky internet • firewalls • Skype • crappy software • broken hardware • Skype • VPNs • SKYPEWednesday, August 15, 12
  85. 85. Skype • Skype • Skype • Skype • Skype • Skype • Skyyyyyyyype • SkypSkype • Skype • Skype • Skype • SkSKYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYPE!!!!!!! • Sky • Skype • Skype • Skype • Skype Skype • Skyyyye!!! Skype • Skype • Skype • Skype • Skyyyyyyyyyyyyype!!! • Skype • SkyWednesday, August 15, 12
  86. 86. Challenges Working from home? Get savvy with your home networkWednesday, August 15, 12
  87. 87. But what about… Meetings, stand-ups, scrums, planning sessions, etc?Wednesday, August 15, 12
  88. 88. Wednesday, August 15, 12
  89. 89. “You’re remote pairing today” Now what?Wednesday, August 15, 12
  90. 90. “You’re remote pairing today” 1. Find a headset 2. Exchange Skype info and invites 3. Call, preferably with video 4. Talk about RPP experiences 5. Agree on OS, editor, dev setup 6. Choose and try a screen sharing techWednesday, August 15, 12
  91. 91. “You’re remote pairing today” Remember the Do’s and Don’tsWednesday, August 15, 12
  92. 92. “You’re remote pairing today” Remote pairing interviewsWednesday, August 15, 12
  93. 93. “You’re remote pairing today” Remote pairing interviews See previous list, and also: • Send interviewee a setup email 24 hours before the interview • Consider browser-based screen sharing for simplicity (more later)Wednesday, August 15, 12
  94. 94. “You’re remote pairing today” Remote pairing interviews Hello Sally -- Im Joe Moore, software engineer at Pivotal Labs. You and I will be remote pairing today! Do you mind answering a couple of questions and performing a little setup? • What is your Skype ID? • What operating system are you using? Are you on a Mac, PC, or Linux machine? • What is your screen resolution? If you could, please download and install TeamViewer, which we will likely useWednesday, August 15, 12
  95. 95. Questions before we talk about technology?Wednesday, August 15, 12
  96. 96. The TechWednesday, August 15, 12
  97. 97. The Tech There will be problemsWednesday, August 15, 12
  98. 98. The Tech Fast high speed Internet, especially upload bandwidth from the hostWednesday, August 15, 12
  99. 99. The Tech Remember wired networks? They’re fast!Wednesday, August 15, 12
  100. 100. The Tech VPN: gateway through firewallsWednesday, August 15, 12
  101. 101. The Tech: Screen Sharing Many options depending on networks speed, firewalls, ease of useWednesday, August 15, 12
  102. 102. The Tech: Screen Sharing Full desktop sharing or Terminal basedWednesday, August 15, 12
  103. 103. The Tech Full Desktop SharingWednesday, August 15, 12
  104. 104. The Tech: Screen Sharing Full Desktop Sharing Considerations Cross Works across Windows, Mac, Linux Platform? Some (usually) punch through No VPN firewalls, some don’t In Web Quickest way to get a session Browser going, but sometimes limiting 2-Way Presentation software only allows Control the host to controlWednesday, August 15, 12
  105. 105. The Tech: Screen Sharing Full Desktop Sharing Cross Platform No VPN In Web Browser 2-Way Control ✓(VNC) X X ✓ ✓ X X ✓ X ✓ X ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ X X ✓ ✓ ✓ X Joe’s RecommendationsWednesday, August 15, 12
  106. 106. The Tech Screen Sharing /System/Library/CoreServicesWednesday, August 15, 12
  107. 107. The Tech: Screen Sharing o r f Full Desktop Sharing e s t 2-Way Control u n ✓ a a ✓ P R ✓ ✓ ✓ ✓ X XWednesday, August 15, 12
  108. 108. The Tech: “Screen” Sharing tmux – shared ssh sessionsWednesday, August 15, 12
  109. 109. The Tech: “Screen” Sharing tmux – shared ssh sessions • Fast! • Good for Vim, Emacs editors • Popular in Ruby, Scala communities • Best for low bandwidth connections • Addictive usage modelWednesday, August 15, 12
  110. 110. The Tech: “Screen” Sharing tmux cont… • Requires ssh access, possibly VPN • Learning curve using tmux commands • Desktop screen sharing for some activities • Not for IDEs - iOS, Java, .NETWednesday, August 15, 12
  111. 111. Wednesday, August 15, 12
  112. 112. The Tech Video ConferencingWednesday, August 15, 12
  113. 113. The Tech Video ConferencingWednesday, August 15, 12
  114. 114. The Tech Video Conferencing Love it or hate it, Skype is ubiquitous and has great echo cancelationWednesday, August 15, 12
  115. 115. The Tech Video Conferencing http://www.cisco.com/web/telepresenceWednesday, August 15, 12
  116. 116. Development WorkstationWednesday, August 15, 12
  117. 117. Computer for DevelopmentWednesday, August 15, 12
  118. 118. Laptop for SkypeWednesday, August 15, 12
  119. 119. Snowball Mic for Groups or OfficeWednesday, August 15, 12
  120. 120. Speakers for Groups or OfficeWednesday, August 15, 12
  121. 121. HeadestWednesday, August 15, 12
  122. 122. Long Term Remote PairingWednesday, August 15, 12
  123. 123. Long Term Remote Pairing Works best with dedicated RPP stations and dedicated audio/video laptopsWednesday, August 15, 12
  124. 124. Long Term Remote Pairing Dedicated stations: everyone knows where to find the remote peopleWednesday, August 15, 12
  125. 125. Random Thoughts Telepresence, etc.Wednesday, August 15, 12
  126. 126. Conference Rooms “Skype-enabled” meeting roomsWednesday, August 15, 12
  127. 127. Conference RoomsWednesday, August 15, 12
  128. 128. Conference Rooms http://www.cisco.com/web/telepresenceWednesday, August 15, 12
  129. 129. What about iPads?Wednesday, August 15, 12
  130. 130. What about iPads? Promising!Wednesday, August 15, 12
  131. 131. What about iPads?Wednesday, August 15, 12
  132. 132. What about ROBOTS!?!?! http://anybots.comWednesday, August 15, 12
  133. 133. OMG ROBOTS!!!!!! http://internetdebris.blogspot.com/ http://www.newscientist.comWednesday, August 15, 12
  134. 134. OMG ROBOTS????? http://internetdebris.blogspot.com/ ??? http://www.newscientist.comWednesday, August 15, 12
  135. 135. Thank You! Joe Moore Pivotal Labs @joem joe.moore@gmail.com http://svy.mk/pairprogramWednesday, August 15, 12

×