Plusnet
Sunday 8th November 2009 Login | Register

Pair Programming

September 19th, 2008 at 11:49 by Pawel Kostecki

Hi, In the last week we have been trying a pair programming concept with our Polish Software Development Team. Let me present some feedback from this experiment.

It was a two-day trial during which we had developer pairs working on code problems. The configuration was mostly: 2 people with one computer, but there were situations that pair-mates worked separately at their own desk.

The most important thing we saw is that pair programming can increase efficiency of some problem investigation. Typically this would be problems which need a lot of digging, a very experienced developer or just a good debate to determine the solution.

Of course pair programming as an idea is intended to be used while programming, but then it gives benefits to the quality more than to efficiency itself, I think.

Another observation is that some investigation parts (like digging through many files or so) are more effective when using separate computers (work can then be split between developers).

Getting opinions from the team, I’ve noticed that while some of them said that pair programming improved their efficiency, some other claimed otherwise – that the efficiency was lower (even if they worked on the same problem). It’s quite obvious that this way of investigation/programming is good for some problem types and doesn’t provide any benefits for some other.

The problem can be keeping up. When you’re sitting in front of a screen somebody else is scrolling up and down, switching files,and so on, it is hard to remain focus and you tire very quickly. That’s why it’s really important to change the way of work during pair programming. You need to be constantly aware of that you’re not alone. Frequent active/passive developer switching is also important here and makes things slightly better.

Generally this method requires some time from people to get used to it. I’ve seen some “mouse battles” when developers wanted to do two different things at a time but that will go with practice.

Definitely investigation or programming in pairs lets you to learn a lot. Especially when an experienced developer is co-operating with inexperienced one. However there are people who don’t like to be teachers and they can get tired quickly.

Some other feedback was that this trial gave the developers more motivation. When you’re working on problems on your own, you can easily get distracted by many unimportant things (mails, forum posts, rss news, UFOs landing outside the office window, etc.). When you lose your focus it’s hard to find it again. When you work in pair, it’s easier to ‘keep the course’ since you are constantly being watched and you have help that keeps you on track.

To sum up: Compulsory pair programming for every problem would have no sense at all, but working in pairs on problems that are hard to investigate, replicate or fix is something worth trying.

Cheers,
Pawel

pawelkostecki

This entry was posted by Pawel Kostecki on Friday, September 19th, 2008 at 11:49 am and is tagged with and is posted in the category PlusNet News, Web Development. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


one comment on "Pair Programming"

Dan

Pavel, I agree with your conclusion, you have to think "horses for courses". It's not appropriate for everything, but actually complex problems or tutoring are great examples of how PP can be used best. I've been an Agile enthusiast for many years and remember when Kent Beck first started shouting about XP (not windows, eXtreme Programming :-) ).

I have implemented XP (or variants) before and actually PP was always the most difficult to quantify. It used to be sold as "PP and you won't need to code review" and "PP and you increase productivity", but I've never felt comfortable with either of those statements. I've also never seen anyone really quantify the true cost/productivity benefits of PP - and that makes it a very difficult practice to see to a business. Would love for someone to point me in the direction of a fair test :-)

It was sensible to undertake a 2 day trial of it, and I certainly agree PP makes sense for some things. I also know that developers are strange beasts and some will 100% hate the idea of having someone sit next to them and inhibit their "creativity". But then again, some will love it!

As I say (and you imply), hroses for courses

Add a Comment




Photos

photo photo photo photo photo photo

View More

Forums

Users online: 76

  • Total Topics: 79598
  • Total Posts: 653496
  • Total Members: 11672

Visit the Forums

Plusnet

Force9

Metronet

Free-Online

Madasafish

PAYH

Just The Name

Related Sites

Community Apps

Here at Plusnet we're always trying to use clever open source things to make our lives easier. Sometimes we write our own and make other people's lives easier too!

View the Plusnet Open Source applications page

About Plusnet

We sell broadband, phone, VoIP and more to homes and businesses in the UK. Winner of 9 out of 11 Categories in the 2008 USwitch survey. Winner of "Best Consumer ISP" at 2008 ISPA awards. Voted number 1 in the Broadband Choices 2008 survey.

© Plusnet plc All Rights Reserved. E&OE

Community Site News is powered by WordPress

Add to Technorati Favourites