Pair Programming considered harmful, for some…

So as I recently tweeted, I’ve just been re-watching Susan Cain’s “The power of introverts” and I’ve had a bit of a revelation about Pair Programming. I must admit that I’ve always had doubts about it…

Note that I don’t have a problem with collaboration. It’s just this Nazi type dictate that we must always “Pair Program” and it’s “just so fantastic” and if you “don’t get pair programming, then you’re an idiot” never really sat well with me. Well, maybe for some… I’ve never had that experience, but I have had many wonderful collaborations. As for me, any activity has a Yin / Yang balance to it. There’s the Yin internal, reflective portion and then there’s the Yang, external active portion. There is no good or bad, but I personally believe that as Taoist (& Buddhist) philosophy state, “The trick is in the balance”. There is no absolute right or wrong…

One of the things that Susan mentions is that between 1/3 – 1/2 of people are Introverted, which I obviously am (to me :). It’s not that simple though – if you met me at a party, you’d probably think I was an extrovert as I do enjoy socialising, but just not too much. If you give me a choice, I’d much prefer to program / design / architect by myself and choose my interaction points. I actually think this is a good thing as extroverts can fall in to the trap of looking at “all the pretty baubles” and not getting anything done! When combined with Introverts who won’t disturb them, it actually enables them to “do what they do”.

One of the concepts I’ve always found useful and represents a compromise is “pair check-in”. So rather than pair program, you interact when necessary and then as you check in, you do a diff and then talk someone through it – I used to joke that most of the time, the “other person” could be a cardboard cutout as the mere process of talking through what you’ve changed will often surface problems, issues, etc…

Finally, to finish up & quote Susan: “Stop the madness for constant groupwork!” aka Pair Programming :-)

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s