Previous slide
Next slide
Toggle fullscreen
Toggle overview view
Open presenter view
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