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

Remote Pair Programming - A Guide for Distribut...

Joe Moore
February 20, 2013

Remote Pair Programming - A Guide for Distributed Teams - DevNexus2013

Joe Moore

February 20, 2013
Tweet

More Decks by Joe Moore

Other Decks in Technology

Transcript

  1. Pair Programming? • Higher quality • Fewer defects • Focus

    • Intensity • Faster problem solving • Knowledge transfer • Code review • Tuesday, February 19, 13
  2. When? Multiple Office Locations “Virtual Company” Random Remote Devs On-Demand

    Expertise Remote Pairing Interviews Tuesday, February 19, 13
  3. Why? RPP can have the same benefits as in-person pair

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

    Intensity • Faster problem solving • Knowledge transfer • Code review • Tuesday, February 19, 13
  5. 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
  6. 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
  7. 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
  8. Challenges Lack of shared facilities • Whiteboards • Notecards •

    Big visible charts • Information radiators • Lunch area • Hallway conversations • Tuesday, February 19, 13
  9. Challenges 2 timezones is hard 3 timezones is harder 12

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

    • crappy software • broken hardware • Skype • VPNs • SKYPE Tuesday, February 19, 13
  11. 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
  12. 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
  13. 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
  14. The Tech: Screen Sharing Full Desktop Sharing 2-Way Control ✓

    ✓ ✓ ✓ ✓ ✓ X X Pause for Rant Tuesday, February 19, 13
  15. 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
  16. 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
  17. Works best with dedicated RPP stations and dedicated AV laptops/iPad

    Long Term Remote Pairing Tuesday, February 19, 13