Back at my first job in tech, we paired 95% of the time. Many people were new to pairing. As it was my first job, I was relatively one of the more junior people on the team, which is an especially difficult position to be in for pairing. It was an incredibly intense experience for the whole team with many growing pains. There was a lot to navigate and no set-aside time or structure to do that, so I started having “pairing retros” with my teammates. It made pairing a lot more manageable and I started having better experiences with my pairs. It’s now something I’ve continued to do throughout my career.
The concept is fairly simple. Set aside a time when you’re not pairing, to talk about
Set a time, should be after at least two or three sessions, so you have something to talk about. You may want to set it at the beginning of a pairing session so that you’re talking when you’re away from the code and you have some distance from your last pairing session.
I tend to try to steer people towards private meetings if I can. This is especially important if there has been any contention, but even if there hasn’t, it allows people to speak more freely. Additionally, it allows distance from the work at hand.
If remote, I try to make sure to show my face to get a sense of facial reactions. Your results may vary. Maybe you find that it’s easier for both of you to talk about more challenging topics without seeing each other.
On average, I’d say you need about fifteen minutes for the whole session, but they run the gamut, and I’ve had more than one hour-long session that transitioned into whiteboarding.
Start with some “I likes”. Think of positive moments pairing together, whether it was sharing a joke or a good moment of collaboration.
Examples:
The purpose of this is twofold, one is that it primes your mind to think of the positives. The second is that it builds trust and helps each other know what’s working to build on. You’re aiming to go from something potentially awkward, towards something really positive. And even if you really like your pair and respect their work, that may not be obvious to them and it’s good to call it out explicitly.
Additionally, take this time to apologize if you feel like you haven’t been as good of a pair as you could be.
Examples:
Pick a story or two and talk through them. Mention any decision points or places where you got lost.
Examples:
Then make sure to ask any of the remaining questions that you still might have.
Examples:
You can problem solve as each issue comes up, but make sure you listen first, problem solve last. In order to have a productive pairing relationship, you need to have trust to share your ideas, even your stupid ones. You need to have trust that you’re heard. You need to have trust that even if your idea was discarded, it was considered. What you need above all else is trust in one another and trust is built by listening. When you don’t get to some of the emotions, the root of the issues, you gloss over the problem. Problem solving is the syntactic sugar of pairing, trust is the core. So, solve your problems when you pair, but make sure that you’re listening fully before you dive in to problem solving.
Examples:
Voila! Pairing retro is done!
It’s not a place to give feedback on skills or career advice, unless specifically asked for. It’s not a traditional one on one. It’s also not a place to discuss your issues with their workflow.
It is a place to have a discussion on the blockers in the way of a better pairing relationship. Keep your discussion contained to issues that are potentially solvable and that get in the way. Keep your comments organized and focused if there are a lot of them, especially the first round. Don’t be afraid to use good judgement to reduce the topics to a small and manageable list of the most solvable issues and work through those.
If you’ve had any tension or conflict in your pairing relationship, approach it in a very blameless manner, talking about what you felt and experienced, and definitely double down on listening. People have a lot of emotions wrapped up around code. It’s more than code for many people, even if they never admit it. It’s identity, intelligence, sense of value (to society, to the company, and monetarily). Don’t make the mistake of solving the “problem”, but not repairing the relationship.
Each pairing relationship is different and people have to find their own rhythm for working with one another. A lot of people try to read XP books or tech blogs for advice on how to be a better pair. In many cases, reading relationship books are one of the best things you can do to become a better pair, because pairing makes it ever so clear how much your work revolves around relationships and how much work that actually is. If you’re looking to have a more difficult conversation, I’d start with the advice in these blogs, to give you a sense of what not to do: https://www.gottman.com/blog/the-four-horsemen-recognizing-criticism-contempt-defensiveness-and-stonewalling/ and how not to do them: https://www.gottman.com/blog/the-four-horsemen-the-antidotes/
If you’re wondering what topics you might end up discussing, I put together a list of common issues that come up during pairing.
Technology
Logistics
Rapport / Relationships
Idiosyncrasies and personal working styles
Illustrations by Lo Wheelwright.