Pairing Pontifications

The Pain and Promise of Pairing

Fus Ro Dah Shu Ha Ri

  • Protect
  • Detach
  • Leave

Wisdom: Experience plus Discernment

  • No practice should be dogmatic
  • We must know the tool before we dismiss it
  • Disciplines by default

An Invitation to Reflect

  • Understanding something vs doing it
  • How often have you been complimented by someone else for your pairing skills?
  • Consider applying Shu Ha Ri to pairing

The Point of Pairing

  • Two developers working on the same task
  • Non-hierarchical collaboration
  • Habitual

The Powers of Pairing

  • Long term velocity
  • Multi Level of Detail
  • Rubber Ducking
  • Thought diversity
  • Roadblock creativity

Less Perfect Pairing

The Alternatives

  • Divide and conquer (async pairing)
  • Rubber Ducking
  • Double Driving

Perfect Pairing

  • Someone you really like hanging out with
  • Mutual, genuine respect is required
  • Work is more entertaining, enlightening, enjoyable, and satisfying
  • Creative solutions come like jazz (riffing off each other)
  • When you’re tired, the partner bears some of the load
  • Organic and natural

Pair Performances (Roles)

  • Should be clearly defined
  • At first, should be a very clear cadence of who is doing what role
  • As the pair is more mature, this can become fluid

The Driver

  • Does the typing
  • Focused on low level detail and implementation (what test is next?)
  • This is our default model and so is easier to understand

The Navigator

  • We often think the navigator is the ‘hands off break time / listener’ role, but that’s not the case
  • In a way is the actual thought leader
  • Thinks about interface / where we need to go
  • Thinks about levels of abstraction and detail
  • Keeps us on track and not distracted
  • Should be as active as the driver
  • Is thinking high level: trade offs, tech debt, how this will impact the system

Pairing Pains and Pitfalls

  • Slower team velocity
  • Working with someone else
  • Introvert Exhaustion

Pairing Pushback

  • It’s exhausting
  • I’m better working alone
  • It slows me / us down

Why is my pairing less enjoyable?

  • Your partner isn’t good at pairing
  • You’re not good at pairing

Why should I practice pairing?

  • Life skill is valuable for everything from work to friend relationships
  • Collaboration is a skill
  • Emotional Intelligence brings cash and satisfaction
  • Your ability genuinely helps others
  • While you may not be able to change the other person, you can improve you, and the better you get working with challenging people, the further you’ll go

Practicing Pairing Self Awareness

  • Effective pairing is hard and requires us to use both sides of our brain
  • We should be able to answer these questions at any time while pairing
    • What is the body language of my pair saying?
    • What is their emotional state?
    • Are they excited and encouraged by my recent suggestions or are they defensive?
  • Do I need to be more or less assertive?
  • Am I communicating in a way that works for them? How can I change my approach to gel better with them?
  • Am I being what my partner needs right now?
  • Am I listening or just getting ready for my turn?
  • Am I assuming they know something I don’t?

Consequences of Practicing Pairing

  • Relationships will change
    • Fractures, frustrations, and fruitfulness
  • Hard conversations will happen
  • Unenjoyable compromises will be made
  • Team comradery will strengthen

Scenario 1: The Novice

  • Knows way less than you
  • Wants to learn

Scenario 1: The Novice

  • What traps can you fall into as the more experienced dev?
  • How can you trample or stifle them?
  • How can you empower them?
  • How have you messed this up in the past?

Scenario 2: The Bitter Expert

  • Knows way more than you
  • Has no interest in letting you drive
  • Doesn’t like being questioned
  • Gives short descriptions that don’t explain the detail

Scenario 2: The Bitter Expert

  • How can you trade ego for experience?
  • How do you know when and how assertive you should be?
  • How can you be more assertive when you need to?

Scenario 3: The Assertive Peer

  • Either drives or wants to do the work separately
  • Either won’t navigate or thinks navigating is driving
  • Has the only correct opinion

Scenario 3: The Assertive Peer

  • How can you match their communication style, but not their maturity level?
  • How do you have a hard conversation?
  • When do you bring in outside help?

Pairing is a Skill

  • Pairing is it’s own skillset, separate from programming
  • Pairing is hard work, but it is rewarding when done well
  • Practicing pairing is never wasted; it’s portable even outside the industry

Thank You

contain