A friend asks what to do about a bad pair. That’s a juicy one, and prods me to muse.
Why do we pair?
It’s one of the techniques we adopt to increase productivity. That’s measured in geekery by insights per hour, or such like.
Maybe if we understand what makes good pairing, we can get closer to some possible remedies for bad pairing? Good pairing involves a bunch of otherwise disconnected-seeming aspects. These form an interactive context in which the pair operates. If some of those aspects are flawed, seeing the flaws would let us throw out some ideas for making it better.
Best-pairing happens when we’re physically comfortable.
If one or both of us are physically unhappy, let’s figure out how to change that. Makes me think of things like monitors, evenly split seating, font size, each side experiencing equal access, visibility, and so on.
Best-pairing happens when we’re unafraid.
Two factors here. Am I afraid of her, or her me? Are either/both afraid of the problem? A key danger: does one of us confuse the code with the self that made it? That’s a huge source of crippling fear. I’ve had many pairs whose self-identification with the code turned them into a beast I shorthand as a penis monster. These folks are so afraid to be wrong-in-the-code or wrong-in-the-pair, they push away every attempt to collaborate.
Best-pairing happens when at least one person has a clue about how to proceed locally.
This is always a shifting judgment call. Sometimes i’m with a pair and we’re so clueless we split up to go discover 3-4 dumb ideas that might work. It helps to see that and do it. I stay alert to the times I need to not pair, but still not alert enough, cuz I miss the cues i’m giving me and resist breaking too long.
Best-pairing happens when we verbalize more-or-less continuously about what we’re doing.
Ideas-to-words-to-hands is not an inherent skill. Not everyone can quite manage it, tho most can be taught some baseline of it. The key is to know when you’re doing it and not, and to accept the occasions when you can’t, and speak to them, too. Sometimes I say, "Hey sugarlips, gimme like five minutes to jiggle this just so, quietly. I promise we’ll revert if it doesn’t work."
Best-pairing happens when we both have either the big picture or the small picture.
That is, we need some shared vision at some level. Back in the clueless context, I said I stop when we’re both clueless. When we start with one of us having the clue and the other not, we go to whiteboard for 2 minutes & move it across there. I might not still get her idea, but I start to, and can get the rest in situ.
Best-pairing happens when we pair promiscuously.
I’m tempted to just leave that there, but will push it a little further. I like to rotate at minimum on half-day boundaries. I prefer the king-moves model, where the person who’s been on the task longest leaves. Promiscuity in pairing can really help "bad pairs" to learn, and I encourage it.
Best-pairing is highly spontaneous, with lots of unplanned and unplannable micro-interactions.
I find techniques for pair-structuring, like driver-navigator or ping-ponging, to be at best learning aids for very junior-at-pairing pairs.
Best-pairing is fucking intense.
It can be quite grueling, emotionally, intellectually, even physically. Pay very close to your experience, and watch for the signs you’ll get from you that you need a break. Take your own feelings’ advice.
Finally, a few words on how I introduce pairing to a team that hasn’t done it.
I don’t. That is, I don’t mention pairing at all. I build a good pairing station and I have folks come visit me there. We work on problems together, that’s all. At my excellent station, that’s all. I rotate that around the team. I’m aiming to create joyful experiences for them of working 2-on-1. I don’t instruct, and I don’t call it pairing.
When I do finally get to it, it’s usually because the team is experiencing the pain of silos. I make a proposal, let’s block out 11 to noon every day for an hour of pairing. We lottery the rotation, and we coin-flip whose problem we work on. I travel that experience around the team a few times before I ever mention pairing.
By floating around watching those interactions I develop a sense of who’s liking it, who’s not — and possible reasons why not. If it goes well, we extend the time. If that goes well, we extend it some more. Eventually, we’re pairing at least half of our day. At that point we can drop special times altogether and just declare ourselves a pairing team, where we all seek to pair whenever we can.
The most common flaws of the ones I’ve mentioned above: unknown physical discomfort. For instance, I’m pretty deaf. You can’t tell most of the time, cuz I’m good at faking and lip-reading and what-not. It’s often invisible. But harder to mask when pairing.
Second would be the penis monster. This is always a brutal challenge from a coaching point of view. How do I help people not self-identify? Mostly I model: I screw up all the time anyway, and I highlight me screwing up, laughing, moving on. I do large reviews & teach them the review motto: "I am not my code."
Above all, I remind myself and the bad pair’s victims: pairing is a skill. It must be learned. We all have different skill levels. All over the team, we have masters at X, juniors at Y, and so on. We cope with this in lots of ways, but most of them are attempts to bring the junior’s skills up to the minimum baseline. The same exact thing applies to pairing itself.
If you just can’t understand java, after a long stretch working w/the team pulling you along, we have to part ways. If you just can’t learn pairing, after a long stretch working w/the team pulling you along, we have to part ways. But as w/the java situation, in most of my coaching career, the weak-java or weak-pair gives up on us before we give up on him.
That’s all I got for the moment. Feel free to poke/prod/ask whatever followups hit you.