Working on the new Value, Flow, Quality education product requires a lot of thinking, creativity, loads of research and some technical writing. We’re only a small team and still we aim to spend most of our time pairing on the work we do.
Although we are not writing code we have learnt from our experience with pair programming that by getting two brains together on a creative and mentally challenging tasks we can achieve better results. We have already discovered some tasks that don’t lend themselves to pairing but actually most do benefit from this approach. Far from gospel though, we treat this as a working hypothesis always aiming to validate it.
Last Thursday was an out-of-the-office day and most of us were working from home. Dan and I (both at the convenience of our home offices) still decided to pair throughout the day, even though we were working remotely. This was somewhat counter to what we would normally assume about pairing – that it works best co-located. Yet we were slightly surprised with the overwhelming sense of achievement by the time evening came. After all, we didn’t expect remote pairing to yield better results than working side-by-side.
I have no doubt there were many aspects which made our day so productive, many probably completely tangential to pairing. For example, our office is small and can get very busy and noisy. This doesn’t necessarily help whether you’re pairing or not. On the other hand the buzz of activity and constant exchange of thoughts, ideas and inspirations is essential to move our product forward.
Whatever the reasons (and I have no way of knowing without setting some proper experiments) the experience has made me re-evaluate my stance on remote pairing. I’m no longer of the opinion it’s necessarily always better when you’re collocated.
Right now in my mind two aspects made our work so effective:
- the high bandwidth communication
- an on-line editing tool supporting collaboration
Throughout the day we were constantly connected on Skype with good quality video. The ability to see each other meant that we didn’t loose all the cues we usually pick-up via the non-verbal communication. Remember, we were creating technical English prose, not code, so we were in the fortunate position of being able to take advantage of Google Documents. We ended up constantly writing over each other, correcting each other’s mistakes and throwing new ideas in while typing within the same document at the same time. Admittedly, this is different from pair-programming where usually only one person should have the command of the keyboard. In this case however it worked really, really well.
Now back to the first point, I also wonder if being able to face each other, albeit virtually, actually improved our ability to read each other’s facial expressions compared to the co-located, side-by-side scenario. Thus we could react more quickly to the other person’s hesitation and connect better over the task we were doing.
Whatever the actual reasons, and we’ll no doubt have many other opportunities to explore this, it remains clear that experimenting with new ways of working together, enabled through emerging technology, can sometimes bring impressive results.