Why do I practice pair programming?

Written on September 8th, 2009 by Thorno shouts

I used to practice pair programming in my previous job, when leading a team of 8 people and some of them are junior. The main reason I practiced pair programming is that I found that the junior developers were implementing the things wrongly,eg writing really ugly code, strange work flow design etc. So I decided to pair them up, including myself, to improve the code qualities.

So I started off with myself, everyday I was pairing with one of them. The reason why I didn’t straightaway implementing it through out the team was because by then I wasn’t so sure about this practice would actually helps to increase the productivity and quality like what stated in any XP books.

At first, they were thinking that I am going to help them with their work. I was like,”Hell no I am not!I am not going to code or do your work for you. Instead, I am going to do your work with you. OK, let’s start by going through the design.”

Pairing up is great, I get to understand their design and discuss with them, and also it’s a good chance for me to spreading out knowledge like how to format the code, how do we normally name it etc. End of the sprint, we talked about the pairing process, and turned out everyone loves it. From that sprint onwards, we started practicing pair programming.

You might be curious, how come when 2 person using one workstation to develop will actually increase productivity? Isn’t that 2 people can do more work? Let’s elaborate the advantages one by one.

  • Increase productivity – If you enjoy reading news, browsing forums, writing blogs, chatting with some chicks in front of your colleague, this rules probably doesn’t apply to you. :)
  • Code quality – There is always another person sits beside you and look at what you have code. This actually reduce the chances someone accidentally injected buggy code into the system.
  • Better design – You can always discuss with your partner about your design and get some ideas on how to improve it.
  • Reduce your workload – There are always other people who knows the design and the code when you pairing up with them. Therefore, when you going off on a vacation, you won’t have to worry your office will call you up and telling you that the website is down.

So, shall you practice pair programming? It depends on the team culture. If the some members are trying to hide their skills or expect his partner to do all the work, then this might not be a suitable practice. In my opinion, agile development practices are always depends on human who practice it. It can only identify human problem, but never expect it will solve it for you.

Happy coding. :)

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • DZone
  • LinkedIn
  • Live
  • Reddit
Filed under Programming Tags:,

Leave a Reply

(required)

(required)