Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Remote Pair Programming - A Guide for Distributed Teams - DevNexus2013

D5fa38c6dc1cd61b01397e11b30425d7?s=47 Joe Moore
February 20, 2013

Remote Pair Programming - A Guide for Distributed Teams - DevNexus2013

D5fa38c6dc1cd61b01397e11b30425d7?s=128

Joe Moore

February 20, 2013
Tweet

Transcript

  1. Remote Pair Programming A Guide for Distributed Agile Teams Tuesday,

    February 19, 13
  2. Joe Moore - @joem joe.moore@gmail.com Pivotal Labs - @pivotallabs Who?

    Tuesday, February 19, 13
  3. Who? Tuesday, February 19, 13

  4. Who? Tuesday, February 19, 13

  5. Agenda Overview People Dos and Don’t Challenges Technology Tuesday, February

    19, 13
  6. Who? Pair programming since 2000 Tuesday, February 19, 13

  7. Who? Remote pair programming full time since 2010 Tuesday, February

    19, 13
  8. That part of the Presentation When I ask the questions

    Tuesday, February 19, 13
  9. Pair Programming? • Higher quality • Fewer defects • Focus

    • Intensity • Faster problem solving • Knowledge transfer • Code review • Tuesday, February 19, 13
  10. What? Remote pair programming Tuesday, February 19, 13

  11. What? Pair programming, but not at the same physical computer

    Tuesday, February 19, 13
  12. What? What does it look like? Tuesday, February 19, 13

  13. Tuesday, February 19, 13

  14. Tuesday, February 19, 13

  15. Tuesday, February 19, 13

  16. Tuesday, February 19, 13

  17. Video Remote pairing: debugging a phone http://youtu.be/mfoJ6mBVi2w Tuesday, February 19,

    13
  18. Challenges Tuesday, February 19, 13

  19. Challenges Tuesday, February 19, 13

  20. Video Remote pairing: (listen for both our voices) http://youtu.be/CWJMzW1ZqNE Tuesday,

    February 19, 13
  21. Tuesday, February 19, 13

  22. Tuesday, February 19, 13

  23. Video Remote pairing: coding via screen sharing http://youtu.be/4PkT1bbmA4I Tuesday, February

    19, 13
  24. Tuesday, February 19, 13

  25. Tuesday, February 19, 13

  26. When? Remote pair programming Tuesday, February 19, 13

  27. When? Multiple Office Locations “Virtual Company” Random Remote Devs On-Demand

    Expertise Remote Pairing Interviews Tuesday, February 19, 13
  28. Why? Remote pair programming Tuesday, February 19, 13

  29. Why? RPP can have the same benefits as in-person pair

    programming Tuesday, February 19, 13
  30. Why? • Higher quality • Fewer defects • Focus •

    Intensity • Faster problem solving • Knowledge transfer • Code review • Tuesday, February 19, 13
  31. Why? Counteract remote development pitfalls Tuesday, February 19, 13

  32. How? Remote pair programming Tuesday, February 19, 13

  33. How? It’s about the people, not just technologies Tuesday, February

    19, 13
  34. How? You can’t fix a team of tools with tools

    Tuesday, February 19, 13
  35. How? Patience Tuesday, February 19, 13

  36. How? Express your ideas clearly and concisely Tuesday, February 19,

    13
  37. How? Extremely good pairing etiquette Tuesday, February 19, 13

  38. How? “Do you mind if I drive?” “I’m going to

    grab the mouse.” “Can I look at something?” “Go ahead and drive.” Tuesday, February 19, 13
  39. How? Supportive operations/infrastructure team Tuesday, February 19, 13

  40. How? A good attitude Tuesday, February 19, 13

  41. Tuesday, February 19, 13

  42. Tuesday, February 19, 13

  43. Tuesday, February 19, 13

  44. Tuesday, February 19, 13

  45. How? Team must be generous and understanding Tuesday, February 19,

    13
  46. Tuesday, February 19, 13

  47. Tuesday, February 19, 13

  48. Tuesday, February 19, 13

  49. Tuesday, February 19, 13

  50. How? Do’s and Don’ts Tuesday, February 19, 13

  51. 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) How? Tuesday, February 19, 13
  52. Tuesday, February 19, 13

  53. Tuesday, February 19, 13

  54. 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 keyboard Don’t… How? Tuesday, February 19, 13
  55. Challenges The same challenges as in-person pair programming Tuesday, February

    19, 13
  56. Challenges Overlapping schedules Tuesday, February 19, 13

  57. Challenges Lack of shared facilities • Whiteboards • Notecards •

    Big visible charts • Information radiators • Lunch area • Hallway conversations • Tuesday, February 19, 13
  58. Tuesday, February 19, 13

  59. Tuesday, February 19, 13

  60. Tuesday, February 19, 13

  61. Challenges 2 timezones is hard 3 timezones is harder 12

    timezones is…??? Tuesday, February 19, 13
  62. Challenges Technology gremlins • flaky internet • firewalls • Skype

    • crappy software • broken hardware • Skype • VPNs • SKYPE Tuesday, February 19, 13
  63. Skype • Skype • Skype • Skype • Sk ype

    • Skype • Skyyyyyyyype • Skyp Skype • Skype • Skype • Skype • Sk SKYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYPE!!!!!!! • Sky • Skype • Skype • Skype • Skype Skype • Skyyyye!!! Skype • Skype • Skype • Skype • Skyyyyyyyyyyyyype!!! • Skype • Sky Tuesday, February 19, 13
  64. Challenges Get savvy with your home network Tuesday, February 19,

    13
  65. Meetings, stand-ups, scrums, planning sessions, etc? But what about… Tuesday,

    February 19, 13
  66. Tuesday, February 19, 13

  67. Questions before we talk about technology? Tuesday, February 19, 13

  68. The Tech Development Workstation Tuesday, February 19, 13

  69. Computer for Development Tuesday, February 19, 13

  70. Laptop or iPad for Skype Tuesday, February 19, 13

  71. Snowball Mic for Groups or Office Tuesday, February 19, 13

  72. Speakers for Groups or Office Tuesday, February 19, 13

  73. Headest Tuesday, February 19, 13

  74. The Tech Fast high speed Internet, especially upload bandwidth from

    the host Tuesday, February 19, 13
  75. The Tech Remember wired networks? They’re fast! Tuesday, February 19,

    13
  76. The Tech VPN: gateway through firewalls Tuesday, February 19, 13

  77. The Tech: Screen Sharing Full desktop sharing or Terminal based

    Tuesday, February 19, 13
  78. The Tech Full Desktop Sharing Tuesday, February 19, 13

  79. The Tech: Screen Sharing Full Desktop Sharing Considerations Cross Platform?

    Works across Windows, Mac, Linux No VPN Some (usually) punch through firewalls, some don’t In Web Browser Quickest way to get a session going, but sometimes limiting 2-Way Control Presentation software only allows the host to control Tuesday, February 19, 13
  80. Joe’s Recommendations 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 Tuesday, February 19, 13
  81. Screen Sharing The Tech /System/Library/CoreServices Tuesday, February 19, 13

  82. The Tech: Screen Sharing Full Desktop Sharing 2-Way Control ✓

    ✓ ✓ ✓ ✓ ✓ X X Pause for Rant Tuesday, February 19, 13
  83. The Tech: “Screen” Sharing tmux – shared ssh sessions Tuesday,

    February 19, 13
  84. http://mosh.mit.edu Tuesday, February 19, 13

  85. The Tech: “Screen” Sharing tmux – shared ssh sessions •

    Fast! Especially with mosh • Good for Vim, Emacs editors • Popular in Ruby, Scala communities • Best for low bandwidth connections • Addictive usage model Tuesday, February 19, 13
  86. 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, .NET Tuesday, February 19, 13
  87. The Tech: “Screen” Sharing tmux – shared ssh sessions Pause

    for Rant Tuesday, February 19, 13
  88. Tuesday, February 19, 13

  89. Tuesday, February 19, 13

  90. The Tech Video Conferencing Tuesday, February 19, 13

  91. Video Conferencing The Tech Tuesday, February 19, 13

  92. http://www.newscientist.com http://internetdebris.blogspot.com/ OMG ROBOTS!!!!!! Tuesday, February 19, 13

  93. http://www.newscientist.com http://internetdebris.blogspot.com/ ??? OMG ROBOTS????? Tuesday, February 19, 13

  94. Long Term Remote Pairing Tuesday, February 19, 13

  95. Works best with dedicated RPP stations and dedicated AV laptops/iPad

    Long Term Remote Pairing Tuesday, February 19, 13
  96. Thank You! Joe Moore Pivotal Labs @joem joe.moore@gmail.com Tuesday, February

    19, 13