Introducing Pair Programming

October 27, 2009

I’ve been spending some time pair programming this week. I’m a huge fan of pair programming and have been recommending it to anyone that will listen (and if I’m honest, to people who weren’t listening too) for years. It’s something I’ve not been doing enough of lately but that’s due to the ‘solo’ nature of the projects I’ve been working on but with my team growing to 2 members it seemed like the right way to go.

I’ve pair programmed in a number of different flavours from just the odd hour here or there when a difficult problem is encountered to full 8 hour days of TDD pairing “ping-pong” style. I have to say that my personal preference is for the later but I know that’s not for everyone. Lately I’ve been trying to sell my current company on pairing as part of their normal development process and identify a sweetspot of enough time to get good value from pairing without scaring people off it by mandating that we do it all day.

What was clear from the start was that people had fear and doubts about pair programming. As usual, most of these people had no experience of pair programming and made the usual comments about only getting half the work done etc. If software development was purely an exercise in typing, then yes, that might be true but it isn’t. I think a lot of this fear of pairing stems from  a lack of understanding and experience of pairing.

To combat this I am leading by example and when time permits I’m listening out for frustrated developers and offering them to opportunity to pair on their difficult task. So far I’ve had a good response to this. I’m hoping that other people will see the benefits it brings and the sense of team that accompanies it. Who knows, maybe other people will start pairing without me to pester them into it…that would be nice 🙂

My first blog post

October 23, 2009

Finally, after much procrastination, I’ve started a blog. A lot of that procrastination was about whether or not anyone would be interested in what I have to say on the subject of agile software development. Nobody else seems to worry about that sort of thing in their blogs, so I came to the conclusion that I shouldn’t either.