How to pair.
Step 0 - It's the code, not the person Step 1 - Everyone has different levels of knowledge, work to their level Step 2 - The navigator gives the driver instructions in bite sized pieces - "bite size" is up to the driver, based on their experience with the tools and current cognitive load - Driver should ask navigator to slow down or repeat when the instruction buffer gets too long 😁 Step 3 - Break when you finish the idea.
It's a conversation between people Adjust your approach based on the tooling and local/remote pairing arrangements - When local: hand the keyboard and mouse to the other person - When remote: use verbal cues to switch, and confirm e.g. Navigator: "Oh! I have an idea. Can you please xyz?" Driver: "Sure!"
- Agreement on both parties to follow CoC - general human decency
- Both parties are focusing on the same problem space. There's no loss of flow due to context switching.
Ettiquette and Communications
- More "us" rather than "mine/yours", especially when referring to code - Being specific about the instruction is important. - Respect the role that each person plays - It's not "it's your shift" then "my shift" - Have a clear mechanism for transferring control
- Yak shaving as a pair and losing focus on the problem
Visual Studio Live Feedback
- Shared terminal has readwrite and readonly
- Shared terminal pops up on each persons display
- Can share ports in the sesssion so both can do webdev
- Can't see GUI
- Can't see actions like search and replace or someone installing an extension or nav the menus.