Tuesday, September 29, 2020

Rough Post - Styles of Pair Programming

This post is probably a little rough, but I wanted to get it out, so here it is:

Fowler’s article on pair programming lists four "styles" of pair programming:

  • Driver and Navigator

  • Ping Pong

  • Strong-Style Pairing

  • Pair Development

and then goes on to throw out Pair Development as not being a style. Ping-Pong to me is totally a different style from anything else. There are also "Evil Pair Partner" and “Silent Ping Pong”, which are variants of PingPong, so I'd say there are three styles related to Ping Pong.

Fowler doesn't list "Just Pairing” as a style. Likewise, I can’t see the difference between “Just Pairing” and D/N - I consider them different names for the same one style.

The rule of Strong Style from Llewellyn Falco and Clare Macrae is: "For an idea to go from your head into the computer it must go through someone else's hands". I'll restate this as "Driver may not type their own ideas; driver must only type the navigator's ideas." That sounds like D/N with a restriction, so maybe a separate style.

All that said, I’m seeing five distinct styles:

  • Driver and Navigator aka “Just Pairing”

    • Strong Style 

  • Ping Pong

    • Evil Pair Partner (more for practice, not writing prod code)

    • Silent Ping Pong (more for practice, not writing prod code)