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:
- Pair in person
- Video call while working collaboratively on a remote computer such as Cloud9.
- 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:
- Phone call or message in Discord to discuss approaches, ideas and issues.
- 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 - Fiona and Semira @ Generation Code (Video). Their video may seem silly, but the points they touch are very important, and we see the pitfalls they highlight happening on the course all the time.
- Pair Programming: 7 Habits of Highly Effective Coders