#RemotePairProgramming Ep 002: Strong Style Pairing

About

The second episode of this #RemotePairProgramming series is about Strong Style Pairing. My coding pairing partner this episode is Llewellyn Falco.

Strong Style Pairing

The Driver is just the typist of the Navigator

Pair-programming is a technique where two programmers stay at the same computer and code together on the same problem. We have two roles: Driver and Navigator.

Driver = the partner who writes the code, and focuses on small details, on short term.

Navigator = the partner who understands what the driver writes and focuses on long term decisions. Typically the navigator’s focus is around the design, architecture concerns, clarity, conceptual cohesion, etc.

During a session of strong style pairing, the Navigator will take all the decisions. The Driver focuses on the small details, just to do what the Navigator has in mind. If something is unclear the two have a dialogue. The same as with traditional style pairing, both roles have the same focus: try to solve the problem as fast as they can with the highest quality possible.

Strong Style Pairing

The Problem

We started with a very simple kata, solving roman numeral addition, like the romans would add them. During this session of strong style remote pairing I was the driver and Llewellyn was the remote navigator being the strong pair.

Debriefing

We paired for a while, and we decided it’s time to stop and make a debriefing. Here are mine and Llewellyn’s thoughts of Strong Style Pairing.

  • Talk in intention, then location, then details
  • Navigator will use the time while the Driver is doing something to understand what to do next
  • It’s impossible for one of us not to be talking
  • Have the dialogue courtesy
  • The navigator can program much better in a pair than alone, because not crashing between the low and the high level
  • Two situations: when the driver knows what to do, and when driver doesn’t know what to do
  • You can always learn things while pairing
  • The navigator can learn a lot from the driver
  • It’s OK to go down the wrong path
  • Confidence increased with often commits and good unit tests
  • Use comments when the intent is more complicated
  • Always have the intent clearly in your head, in “English”, and only after say what you mean to your pair
  • The readability of the code is important
  • Ask for “trust” on short term when you are navigator and you are doing weird things
  • When someone doesn’t trust you, it doesn’t matter how much logic you use
  • As a navigator in strong style time goes faster, because you are in a flow
  • The navigator is more engaged in strong style pairing
  • Domain knowledge increases dramatically when doing pairing

Video

Acknowledgements

Many thanks to Llewellyn Falco for taking the time to record this codecast with me.

What’s Next?

Check the previous episode of #RemotePairProgramming: Ep 001: Traditional Style Pairing

Check the next episode of #RemotePairProgramming. (to be shown when published)

 

 

 

Subscribe

If you want to receive an email when I write a new article, subscribe here:

Subscribe for new articles

One Thought on “#RemotePairProgramming Ep 002: Strong Style Pairing

  1. Martin on October 27, 2017 at 22:59 said:

    I remote paired with Llewellyn in 2011 and it was a very fun experience. His knowledge of approval tests plus my knowledge of the company code base meant we could nail the problem really quickly.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post Navigation