Pair Programming

Pair programming is an agile software development technique in which two programmers work as a pair together on one workstation. One, the driver, writes code while the other, the navigator, focuses on the bigger picture, and immediately spots mistakes.

Together, the programmers help each other hold strong attention on the task.

It is a simple but very effective tool.

Environment

The options we've found for pairing, in order of effectiveness, are:

  1. Pair in person
  2. Video call while working collaboratively on a remote computer such as Cloud9.
  3. Video call with screen sharing (Skype, Google Hangouts, appear.in, etc.) If you can't meet up in person, and you don't have adequate internet connection for options 2 or 3, you won't have adequate communication lines to pair program

Instead, you can get some of the benefits with:

  1. Phone call or message in Discord to discuss approaches, ideas and issues.
  2. Share pseudocode and code on Discord.

When pairing:

  • First, check-in with your pair
  • Assign roles (driver and navigator)
  • Explain your thinking in a clear concise manner
  • Keep a timer, to monitor how long you have been in a certain role

Resources

  • Pair Programming: A fun and informative look at pair programming
  • Pair Programming: 7 Habits of Highly Effective Coders