Wednesday, May 26, 2010

Pair programming


Originally uploaded by ThaRainbow.
A while ago my colleague and I started work on a new project so we decided to do some pair programming, which was the first time I had worked like this. My colleague, having worked with pairing before at a previous job, took the lead. We'd been talking about using agile methodologies for a while, and thought it was a good opportunity to have a go.

At first, it was pretty awkward, as neither of us were overly good at communicating our coding plans, so we'd often wait till the other nutted out a bit of an idea, and then talked it over. We tried writing tests first, which was pretty successful, but once again, trying to figure where the other was going was pretty hard work.

We only worked together for a few days, and then got split to work on separate projects, but I would love to try  it again.

A couple of things that I found:

  • Pairing is humbling - if you don't know something, it becomes pretty obvious fast. 
  • Ideas are up for grabs - no one is going to be right all the time - you've gotta be prepared to put your ideas out there, and be prepared to talk them over and admit that you aren't always right
  • Great collaboration - although it's hard, it's a great way to learn and discuss ideas. It makes you work hard to communicate effectively - which is a great skill to generally have. 
  • Promotes openness - I find the way I like to work is on my own, but being pushed to work with others and be transparent is quite liberating, and it means you aren't the one source of all information.
How do you go working with others? If it's software, have you tried paring? If you're not a developer, what are some ways that you've been forced to work with others that have been surprisingly beneficial? 

No comments:

Post a Comment