1. Plan
Schedule a team discussion to introduce pairing as a positive activity. Ensure each person understands the benefits, both personal and to the team. Make sure everyone understands what is expected of them and provide an opportunity to raise any concerns they may have.
Ensure the pairs are good matches, especially in the beginning. As your internal competency grows, everyone benefits from pairing with new people. Pair programming is most effective when the pair complements each other in knowledge, experience, or a diverse perspective.
Do not overload the team with so many tasks they feel they don’t have the time to pair..
Don’t expect pairs to work together all day, every day. Pair programming is intense and can be exhausting. Overdoing it can lead to reduced enthusiasm for the practice.
2. Identify stories
Select stories to pair on:
- Ensure the pair has suitable skills to complete the task.
- Assign a single owner who is responsible for completion.
- Start with easy wins so the pair can learn how pair programming works best for them.
3. Discover
There is no right way to pair program. Pairs should have time to try different styles, including:
- Driver-Navigator
- Ping Pong
- Strong-Style Pairing
Unstructured PairingConsider Remote Pair Programming if you have a distributed team. If pair programming is not working – or not working well – explore the possibility of finding a new pairing partner or try a different style..
4. Schedule
Pairing requires scheduling and calendar coordination. For remote teams, you may have to consider working across time zones. The World Clock Meeting Planner is a good tool to navigate time zones.
Tips for scheduling:
Decide with your pairing partner what days to pair.
Establish a clear goal when scheduling a pairing session that you both want to achieve. If you achieve your goal early, end the session. If you do not achieve your goal, schedule a follow up session before you part.
Agree to a time limit for a pair programming session.
Include breaks to ensure time for phone calls, emails, and general unwinding after a heavy programming session.
Set a maximum time for each rotation, to ensure equal time navigating and driving. The Pomodoro Technique is well-suited to pair programming and can be a good way to establish a productive schedule.
5. Review
Take 5-10 minutes at the end of each pairing session to debrief and discuss both the code and the process. Reflect on what you would change for next time or where you can make improvements.
Keep track of when pairing sessions occur and who is involved to monitor uptake and overall effectiveness.