small medium large xlarge

Four Common Pairing Pitfalls and How to Avoid Them

Four Antipatterns of Pair Programming

by Zee Spencer

Generic image illustrating the article
  Pairing is hard. Here are some tips to make it easier.  

Pairing is hard; really hard. Not just because pairing can literally stink. Mints and honest, compassionate feedback take care of that. Not because it’s technically difficult. Anyone can sit next to someone else for a few hours, point out typos and feel good about “contributing value.”

No, pairing is inherently hard. Think about it. It forces you to connect with someone for an extended period of time. And that person may not share your background, skills, passion, or even vocabulary. Yet when pairing you must work together to accomplish a shared goal.

I’ve thought a lot about exactly what makes pairing hard. While actually doing pair programming, I’ve noticed some antipatterns that make pairing especially hard:

  • Motive Mismatches

  • Competence Chasms

  • Disposition Dissonance

  • Semantic Squabbles

Each of these antipatterns presents its own challenges. Each, though, offers potential benefits if you deal with it effectively. None of them can be solved by avoidance.

Motive Mismatches

There are many goals people have when pairing: momentum, focus, knowledge transfer, social connection, or fun. Normally these motives are mixed, with a few being most important in any given session. When goals are shared, pairing is fun and constructive. When they are mismatched, pairing can be unpleasant.

Things to Watch For:

A motive mismatch is revealed by a lack of momentum. You may stop and start abruptly, struggle to agree on what to do next, or become disengaged.

Where to Start:

Stop and have a short conversation with your pair. Directly and politely point out that something feels wrong. Explain your goals, ask for theirs, and create shared goals. When goals are significantly different, acknowledge this and reassess them regularly so that both partners get to meet their expectations.

Competence Chasms

We all have things we’re good at. This is a good thing: diversity of thought, skills, and experiences can lead to creative yet simple solutions. Novices often spot problems by asking questions that jiggle their partner’s mental state enough to provide a new solution.

But a competence chasm can lead to chaos. Trying to explain the concept of constraints and how proximity implies relationship when your partner lacks a design background can be frustrating when all you you want to do is solve the issue and move on.

Things to Watch For:

You may feel tired or frustrated, seem to only have arguments, or a partner who is afraid to say anything.

Where to Start:

When the goal is to share knowledge it may be all right that you are making little progress on the task at hand. When you get tired, take a break. This relieves the exhaustion that can occur when pairing with someone at a different skill level.

In any case, when disagreeing you may want to defer to your pair and ask for further reading or offer to discuss the idea over lunch. Regardless of experience, your pair offers insights that would be foolish to ignore just because they don’t know how to program, test, or design as well as you.

Disposition Dissonance

We are all different people. We have different personalities, different passions, and different behavioral triggers. These differences can make pairing hard. Someone who doesn’t talk much can feel oppressed by a partner who laughs and jokes all day long. Someone who struggles with self esteem could be devastated by a harsh word casually spoken.

Things to Watch For:

Watch your pair partner. Gauge their emotional state. If they are frustrated or disengaged or avoid pairing with you in the future it can be because of personality differences.

Where to Start:

First, remember that your pair partner is a person. Sometimes their behavior seems odd, unsettling, or disturbing, but it is never wrong. Once you accept the fact that the person you’re working with is behaving the way they behave because that is how they are, it becomes much easier to stop, reflect, and determine a valid course of action.

You may find it useful to look into personality frameworks such as DISC system. Disc is a competitor to the Myers Briggs personality profile system. I personally prefer DISC because it chooses not to declare what someone is, and instead focuses on what their behavioral tendencies are. By understanding the strengths and weaknesses of your own and other personality types, you can gain insight into what you are doing that makes your pair upset.

Semantic Squabbles

Different backgrounds result in different phrasing. What one calls a “resource” another may demand be called a “person.” There is no malice on either’s part, but such semantic squabbles can result in hurt feelings and damaged relationships.

Things to Watch For:

Words are powerful, and often create powerful emotions. Check your emotional state if you hear a trigger word and be aware of your pair’s triggers.

Where to Start:

Your pair calling your project backlog and burnup a forecast does not necessarily mean they are treating it like a traditional project plan.

We all have words that trigger us. When you are triggered, take a few breaths, ask a few questions, and try to understand the other’s perspective. When your pair is triggered, take a step back. Apologize, and replace your word with theirs.

Yes, pairing is hard. But if you watch for these antipatterns and address them when you spot them, the rewards more than compensate you for your effort.

Zee loves to make things and teach people. He blends a focus on experience design, technical practice, and lean project management into a version of software akido. This allows him to help teams learn to consistently deliver more of what matters. When not making software Zee jams with friends, rock climbs, and watches an absurd amount of science fiction. You may stalk him on the internet at @zspencer.

Send the author your feedback or discuss the article in the magazine forum.