Pair

Pair Programming is a method of coding as a small team that leads to improved code quality, team communication, knowledge share and huge learning gains.  Several large scale studies of computer science students have shown improved outcomes when student pair program on coding problems.  In the past, pair programming has been restricted to those able to meet in the same location, however the ubiquitous nature of the internet has unleashed the remarkable power of remote pair programming, which we strongly encourage everyone to use as part of Agile Ventures.


If you want to remote pair program you'll first need to find someone to pair with, for which we recommend joining the AgileVentures Slack Community.  Soon new members will be automatically added, but in the meantime please email support@agileventures.org to join.  The slack is a real-time chat tool that all AgileVenturers use to communicate and coordinate.

Then you'll need some screen share tools.  From most simple to most complex here are a few
The last two can nicely be paired with an Amazon EC2 instance.  

Other great RPP resources:
Selection of help videos and protocols

Quotes from Remote Pair Programmers in edX's Massively Open Online Class "Engineering Software as a Service":

Dag Andre Ivarsøn:
I've really learned how to use the debugger during these pairing sessions, and we really drive each other forwards :-) It really helps having someone to talk to.

Antoine ModuloM:
I'm convinced that 4 brains is really better than one. I've learned a lot and we go through homework 3 till the end. Thank you all!

Sunil Manandhar
Pair programming helped me boost my confidence; it helped me gain a motion from where I'd usually stop. There was socializing, sharing, and a synergistic effect. I've improved a lot!

Semyon Vodyannikov:
When you program alone, if you are stuck, you go spend your time on facebook or theonion.com. But if you pair, you don't get distracted and there is always someone who can give you a hand :)


General Pair Programming Tips


Do's:

  • Talk
  • Listen
  • Rotate Roles
  • Be Patient
  • Respect
  • Take Breaks
  • Prepare
  • Personal Hygiene
  • Have Fun


Don't:

  • Be Bossy
  • Be Intimidated
  • Be Quiet
  • Suffer in Silence

More on remote pair programming


Revisions