Pair Programming Survey

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

EpicLoser
Posts: 4
Joined: Fri Sep 21, 2007 4:15 am UTC

Pair Programming Survey

Postby EpicLoser » Tue Feb 05, 2008 8:44 am UTC

For my computer science course, we are studying pair programming. I need some people who have done pair programming in the past to take a short survey. For those interested, please send your results to me in a PM. Usernames and any other personally identifiable information will be removed from results.

1) How long have you used pair programming?
< 1 month
2-6 months
6-12 months
1-2 years
> 2 years

2) How long does a typical pair programming session last?
< 30 minutes
30-60 minutes
1-2 hours
> 2 hours

3) How often do you work with the same partner?
0-25%
25-50%
50-75%
75-100%

4) What screen size do you use most often?
< 15"
15-19"
19-30"
> 30"

5) On a scale of 1 to 10, compare pair programming vs. programming by yourself
1 being you like single programming most
5 being both are preferable
10 being you like pair programming most

6) (optional) What do you like most about pair programming?

7) (optional) What do you like least about pair programming?

mrkite
Posts: 336
Joined: Tue Sep 04, 2007 8:48 pm UTC

Re: Pair Programming Survey

Postby mrkite » Tue Feb 05, 2008 8:48 pm UTC

Pair programming is one of those loony XP ideas.

If you look at the studies, they compare two programmers working in a pair versus one programmer by himself. Then they say "15% reduction in bugs and it only takes 15% longer" and call it a success. Never mind that you also spent twice as much.

Plus the studies assume equal ability programmers. With pair programming the worse programmer drags the better programmer down to his level.

Pair programming goes against the fact that the ratio between great and good programmers is 10:1. 1 great programmer can accomplish the same amount as 10 good programmers.

Rysto
Posts: 1460
Joined: Wed Mar 21, 2007 4:07 am UTC

Re: Pair Programming Survey

Postby Rysto » Tue Feb 05, 2008 10:26 pm UTC

"Loony XP ideas"? Isn't that redundant?

Micah
Posts: 5
Joined: Mon Jan 21, 2008 3:23 pm UTC

Re: Pair Programming Survey

Postby Micah » Wed Feb 06, 2008 12:40 am UTC

Rysto wrote:"Loony XP ideas"? Isn't that redundant?


Unit testing, continuous integration, and no overtime are all good ideas. "No overtime," may be a little strong, but at least "no death marches," is good.

User avatar
'; DROP DATABASE;--
Posts: 3284
Joined: Thu Nov 22, 2007 9:38 am UTC
Location: Midwest Alberta, where it's STILL snowy
Contact:

Re: Pair Programming Survey

Postby '; DROP DATABASE;-- » Wed Feb 06, 2008 1:15 am UTC

Wait, so this would be two guys coding on one machine? Wouldn't one machine each with source control be more effective? Or even a Moonedit session?
poxic wrote:You suck. And simultaneously rock. I think you've invented a new state of being.

Rysto
Posts: 1460
Joined: Wed Mar 21, 2007 4:07 am UTC

Re: Pair Programming Survey

Postby Rysto » Wed Feb 06, 2008 1:23 am UTC

The idea is that one developer types and the other developer watches what's being typed and makes sure that
a) There are no bugs
b) The code makes sense

Allegedly you get productivity improvements from this.

maafy6
Posts: 102
Joined: Wed Aug 22, 2007 10:43 pm UTC

Re: Pair Programming Survey

Postby maafy6 » Wed Feb 06, 2008 2:29 am UTC

Please tell me that companies don't actually employ this. I mean, I I guess I could somehow see something like this for school/university projects or whatnot, but...

User avatar
Hammer
Because all of you look like nails.
Posts: 5491
Joined: Thu May 03, 2007 7:32 pm UTC
Contact:

Re: Pair Programming Survey

Postby Hammer » Wed Feb 06, 2008 2:52 am UTC

Cow and I work like this sometimes. Normally, we work separately, but sometimes we will sit down to a task together with one of us typing and the other at their shoulder. It is very effective for us. We have different strengths and some tasks go much more smoothly when we apply the blend of our skill sets. It is impractical and not really necessary for us to approach most programming tasks that way, but sometimes the pair method is the right tool for the job.

As well as being an effective way to complete the task, I also find I very much enjoy the sense of shared accomplishment when we work that way. Coding work can be isolating. I like having my partner at my shoulder - or vice versa - for a few hours now and then.
"What's wrong with you mathematicians? Cake is never a problem."

User avatar
evilbeanfiend
Posts: 2650
Joined: Tue Mar 13, 2007 7:05 am UTC
Location: the old world

Re: Pair Programming Survey

Postby evilbeanfiend » Wed Feb 06, 2008 9:24 am UTC

'; DROP DATABASE;-- wrote:Wait, so this would be two guys coding on one machine? Wouldn't one machine each with source control be more effective? Or even a Moonedit session?


only if the bottleneck were how fast you could physically input your code into the machine. for grunt work more coders working separately on more machines does make sense, for complex stuff it helps to have two people thinking about it.

from my experience most companies don't do pair programming all the time, some will allow you to form pairs on an ad hoc basis for tricky problems (like cow and hammer). my experience of it is pretty similar to hammer's, it is effective, assuming you have the right partner, and it is more fun. btw pairing a novice with an expert isn't necessarily a problem, yes you slow down the expert but what you gain is quickly training the novice.
in ur beanz makin u eveel

User avatar
the Cow
Today India, tomorrow the world!
Posts: 2199
Joined: Sun Jun 10, 2007 5:40 pm UTC
Contact:

Re: Pair Programming Survey

Postby the Cow » Wed Feb 06, 2008 2:59 pm UTC

While I certainly see the value of small teams working together, and believe it to be a natural and overwhelming positive way to approach many different problems (not just programming), I also see the formalization of the "technique" to be silly and possibly counterproductive. If it happens, let it happen. If it doesn't happen, it is unlikely that causing it managerially will result in much benefit.
...the whim of a hat.

EpicLoser
Posts: 4
Joined: Fri Sep 21, 2007 4:15 am UTC

Re: Pair Programming Survey

Postby EpicLoser » Wed Feb 06, 2008 8:30 pm UTC

mrkite wrote:Pair programming is one of those loony XP ideas.

If you look at the studies, they compare two programmers working in a pair versus one programmer by himself. Then they say "15% reduction in bugs and it only takes 15% longer" and call it a success. Never mind that you also spent twice as much.

If you can live with 15% more bugs to fix later, then stick with lone programming. However, studies show that the later bugs are caught, the higher the cost to fix, something like ten times the cost per development step. This makes doubling the number of programmers a better value.

mrkite wrote:Plus the studies assume equal ability programmers. With pair programming the worse programmer drags the better programmer down to his level.

Actually, the opposite is seen in studies. The worse programmer is dragged up to the better programmer's level. This is also a good way to disseminate information so that a project is less dependent on one critical developer.

mrkite wrote:Pair programming goes against the fact that the ratio between great and good programmers is 10:1. 1 great programmer can accomplish the same amount as 10 good programmers.

There are other benefits besides code quality. Pair programming increases communication and teamwork between members, even after the coding session. Also, programmers report that pair programming is more satisfying that working alone. In addition, most people are skeptical of the benefits of pair programming before trying. After trying it, most feel that pair programming is better than working alone.

Note: I have no experience in this area, so all of this is coming from research papers on this topic.

User avatar
taby
Posts: 154
Joined: Thu Nov 01, 2007 8:39 pm UTC
Location: Canada

Re: Pair Programming Survey

Postby taby » Wed Feb 06, 2008 9:44 pm UTC

Considering that a LOT of the hard core coders that I know of have bad body odour, I'm going to stick to lone programming for now. :)

User avatar
wing
the /b/slayer
Posts: 1876
Joined: Tue May 29, 2007 5:56 am UTC

Re: Pair Programming Survey

Postby wing » Wed Feb 06, 2008 11:48 pm UTC

I'm one of the subscribers to the loony school of Agile. XP is actually rather lame, but a less flash-and-cash agile-type methodology is usually worth it.

Pair programming, the way MOST people seem to practice it, is done with two good programmers bickering over how to do something.

The way I learned, and the way I find it most effective, involves one good programmer doing their own thing with a permanently-attached, mediocre programmer looking over their shoulder, catching typos and blatant wrong ideas. The real value of pair programming is actually in debugging. The primary programmer has a hard time catching anything dumb that they did - but dumb things are often the cause of unit test failures (at least early on... It gets WAY more complicated than dumb, singular coding mistakes as the project continues). The second set of eyes - less experienced eyes - has a vague familiarity with the code because they just watched it get hacked up, but now needs to read and understand it to find the bug. If the second programmer has to ask a question, chances are something's not right.

The reason pair programming is tied to agile methodologies so heavily is just that - it reduces the number of errors made on each iteration. Yes, it's fucking stupid to be doing it with easily testable peripheral simple, but the complicated core modules with multiple paths to and through them merit the task more than anything. It's also a handy way to combine specialties.

Also, it's harder to falsely go into "Compiling" mode with a partner.... But it's WAY MORE FUN when it actually *IS* compiling, or unit tests are running, or something.
I AM A SEXY, SHOELESS GOD OF WAR!
Akula wrote:Our team has turned into this hate-fueled juggernaut of profit. It's goddamn wonderful.

akashra
Posts: 503
Joined: Tue Jan 01, 2008 6:54 am UTC
Location: Melbourne, AU
Contact:

Re: Pair Programming Survey

Postby akashra » Thu Feb 07, 2008 1:11 am UTC

I tend to struggle with pair programming since the kind of problems I work on, and the caliber of people around simply isn't conducive to pair programming. Just because there's two of you doesn't mean one can be a luddite and you'll solve the problem any better.
( find / -name \*base\* -exec chown us : us { } \ ; )

User avatar
ash.gti
Posts: 404
Joined: Thu Feb 07, 2008 1:18 am UTC
Location: Probably a coffee shop.

Re: Pair Programming Survey

Postby ash.gti » Thu Feb 07, 2008 1:41 am UTC

Here is my response to his question. I find it works well considering how my office functions and how we organize our teams for the stuff we develop.

1) How long have you used pair programming?

1-2 years

2) How long does a typical pair programming session last?
> 2 hours

3) How often do you work with the same partner?

75-100%

4) What screen size do you use most often?

We have our own server setup and the files stay on it, we both just connect to it and sit where ever. We both use Mac Laptops so we literally work anywhere depending on the mood (eg. the conference room at our office, the coffee shop down the street, in our own offices with a chat window open, outside the office on a bench smoking a hooka :-P I have a pretty relaxed office)

5) On a scale of 1 to 10, compare pair programming vs. programming by yourself

4 someone by myself for certain things, but I work with a web development company and I am a technical server-side programmer. My partner is our graphics designer that knows a little about programming so he takes care more of the aesthetics and I take care of the functionality, it works wonders.

6) (optional) What do you like most about pair programming?

You can organize a pair to help use each others strengths to get more work done faster.
# drinks WAY to much espresso

User avatar
wr3cktangle
Posts: 75
Joined: Tue Aug 01, 2006 5:03 pm UTC

Re: Pair Programming Survey

Postby wr3cktangle » Thu Feb 07, 2008 4:46 am UTC

A group I'm in on campus often works like this. It ends up being anything from Pair to Group (in Stadium-esque seating) Programming on a computer hooked up to a monitor projecting on a wall from almost floor to ceiling.

Only one person can type at a time, as it's a single computer, but everyone can see the code and learn/contribute/problem solve, and the actual typist is rotated so that others have a chance to actually type the code, helping them learn by doing rather than just following along. I just wish we had a Smart Wall (think Smart Board, but an entire wall), so that we could control the mouse by touching the wall.

It works well for the Upperclassmen to transfer their knowledge to the underclassmen for our projects as well as programming in general.

If this is fits your survey criteria, then here are my answers:

1) How long have you used pair programming?
> 2 years

2) How long does a typical pair programming session last?
> 2 hours

3) How often do you work with the same partner?
50-75%
(simply because some graduate, and some don't come back, but there's a consistent core of people around my class level that lead these sessions)

4) What screen size do you use most often?
> 30"
(think 1024 x 768 scaled to ~10.66' x ~8' estimated)

5) On a scale of 1 to 10, compare pair programming vs. programming by yourself
7-9, assuming the right partner(s)
2-4 otherwise
as answers like this (conditional ranges when a single number is expected) tend to not fit how you've set up storing the info, say 7.

6) (optional) What do you like most about pair programming?
Sharing the thrill of figuring something out with other people and subsequently the high-fives afterwards

7) (optional) What do you like least about pair programming?
Finding a suitable meeting time.
Maxim 33. When faced with the unusual, self-destruct.
My blog

User avatar
wing
the /b/slayer
Posts: 1876
Joined: Tue May 29, 2007 5:56 am UTC

Re: Pair Programming Survey

Postby wing » Thu Feb 07, 2008 6:16 am UTC

Oh, right, the survey.

1) How long have you used pair programming?

> 2 years

2) How long does a typical pair programming session last?
> 2 hours

3) How often do you work with the same partner?
0-25%
25-50%

4) What screen size do you use most often?
15-19"

5) On a scale of 1 to 10, compare pair programming vs. programming by yourself
5. depending on the project.

6) (optional) What do you like most about pair programming?
Human interaction!

7) (optional) What do you like least about pair programming?[/quote]
Occasionally you get stuck with a real idiot.
I AM A SEXY, SHOELESS GOD OF WAR!
Akula wrote:Our team has turned into this hate-fueled juggernaut of profit. It's goddamn wonderful.


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 9 guests