Driver-driver pair programming
With technology, we can adopt a new style of pair programming: Driver-driver pair programming. In this approach, both participants can type simultaneously using tools like Code With Me or Visual Studio Live Share. This resembles unstructured pair programming, which is conducted in a more relaxed manner. Technically, we could type at the same time using different keyboards connected to the same machine, but since the cursor on the screen is shared, one person cannot type in a different location independently.
I believe this method of pair programming is worth trying, provided that the two individuals can communicate effectively with each other. The driver-navigator style is more rigid and follows specific rules, such as:
- The driver should follow the navigator's instructions as closely as possible.
- The driver should ask the navigator for guidance on what to do next.
- There might be more rules!
In my opinion, pair programming should be both creative and collaborative. Creativity can be stifled by overly strict rules. Participants should have the freedom to engage in various activities, including typing.
As of 2023, the driver-navigator approach remains the most popular form of pair programming, but I advocate for a more casual method. Unstructured pair programming is excellent, but it requires the participants to switch roles as needed. Are predefined roles necessary in pair programming? If you value communication as Extreme Programming (XP) does, strict rules may not be essential. This is why I prefer the driver-driver style.
Thank you, technology, for enabling the possibility of driver-driver pair programming. Last but not least, don't forget to take breaks.