Fog Creek Software
Discussion Board




Pair programming

Here is a quote from a Computer World article:

["You can't sit any two programmers down at a terminal and expect good results, because it flies in the face of why many people program.

Programmers consider themselves masters and artists," Duggan continues. "And if you
have two artists at the same palette, they're going to fight over the brush."

James Gosling, a vice president and fellow at Sun Microsystems Inc., says the company uses some XP techniques, such as unit and performance testing, but it has passed on pair
programming.

"I don't know that people would do it," he says. "[It gives] most of the people I know the creeps. But for some people, it might make sense."]

http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,66192,00.html

The Real PC
Tuesday, June 03, 2003

Can you define "out of context"? How about let's read the *whole* quote:

But pair programming won't work for every company or developer. "When XP works well, it works very well—but it doesn't generalize well," says Jim Duggan, an analyst at Gartner Inc. in Stamford, Conn. "You can't sit any two programmers down at a terminal and expect good results, because it flies in the face of why many people program.

***

Which I believe is all that the pair advocates have been saying all along - no, it's not a panacea and won't work all the time (which is why your company's edict is problematic) - but that doesn't mean it cannot work.

Philo

Philo
Tuesday, June 03, 2003


Hey PC,

You know, we get it when you say you don't want to do pair programming. We really do get it. My advice: don't do it. Hey, all new experiences should be avoided as a matter of course.

So why is this starting to look like a vendetta? If you don't want to do it, you hardly need to look for reasons or people who share your opinion, do you? No one is going to force you to do it.

Bruce
Tuesday, June 03, 2003

I decided to search for some evidence, instead of trusting the opinions of a couple of guys here. The first thing I found was the above, confirming what I expected -- XP combines some good ideas (which should have been obvious to everyone anyway) with one dumb idea. The dumb idea gets the most attention.
I have only just begun to search for evidence and expert opinions. If you are not interested in my posts, do not read them.

The Real PC
Tuesday, June 03, 2003

[Hey, all new experiences should be avoided as a matter of course]

No, some new things should be tried, some should be accepted, some should be rejected after trying, some shouldn't even be tried. I have said I would try pair programming, also that I think it should be done occasionally in certain situations. I think making it an enforced policy is a very, very, very bad idea. It would be very unfortunate for the artistic progammers, especially, who put their soul into their work and are not only doing it for money.

The Real PC
Tuesday, June 03, 2003

This topic is Dead.

You think I'm joking.  I'm not.

AnyMouse
Tuesday, June 03, 2003

An interesting article on pair programming productivity:

http://www.stsc.hill.af.mil/crosstalk/2003/03/jensen.html

Giovanni Corriga
Tuesday, June 03, 2003

"Artists" banging away eloquently at the keyboard ready to create the world's latest masterpiece and send humanity into the next realm of enlightenment. With their insight we will move forward. But they must not be disturbed from their course! These programmers need absolute concentration and solitude inorder to create the latest software Iliad or digital Principia. Only from these great minds can we ever expect to move into the future. Without them we are lost...


Tune in next week for another episode of.. The Programmers Precious Ego.

Watch as he fights the lemmings in his latest quest for knowledge while at the same time knocking the chair out from under his colleagues! Watch him spend massive amounts of time building his case: IQ tests, Emotional tests, "How to Move Mt. Kilamanjaro" brain teasers, comparisons to Michaelangelo, Mathematical Probability and Statistics theories .. ALL proving that HE is not only a genius but also a great artisan that will go down in history.

Ian Stallings
Tuesday, June 03, 2003


He should be entitled to a private office... also!!

Joe AA
Tuesday, June 03, 2003

Why not a secret chamber?

Ian Stallings
Tuesday, June 03, 2003

We use pair programming, but not exclusively. We sit down in pairs (or sometimes even a threesome (woop!) when there are particularly nasty things to be solved, or some heavy debugging needed.

Quite often we don't actually program as a pair, but we do design the aspect of the software as a pair, and then onme person will actually implement what is on the whiteboard.

It works very well for us. It isn't an ego thing, it just enables us to write better quality software more easily and quickly. I don't know about you folks, but round here we'd all rather be part of a team that goes home at 5pm, rather than individual heros here at midnight :-)

regards,

treefrog
Tuesday, June 03, 2003

Pair programming isn't realistic. Everything else about XP techniques I like.

Steve
Tuesday, June 03, 2003

lot's of confusion between "pair programming" and "collaboration". 

just some dude
Tuesday, June 03, 2003

Uh, Real PC?  Before you spend time looking for evidence I'd recommend a course on reading comprehension.

What part of "when XP works, it works very well" don't you understand? The author is talking about the entire body of XP, including Pair Programming.

Philo

Philo
Tuesday, June 03, 2003

Wow.  Such volatility.  Such defensiveness.  I haven't seen so much fiery objection to a technique since the rise of object-oriented programming.  Heck, I remember when people were arguing that you couldn't write any serious programs without using GOTO.

Pair programming isn't for everybody.  As with most sea changes in software develoment, only the most elite of the elite developers are confident enough in their ability to deal with the idea of changing their working habits to gain more productivity.  :)

However, because the objection to pair programming has social as well as inertial components, I expect that it will remain a tool of the elite for some time to come.

Phillip J. Eby
Tuesday, June 03, 2003

the 'elite'.  that's a pretty good troll.

Of course we know that the 'elite' shops give their coders PRIVATE OFFICES.  No pair programming there.

itchy
Tuesday, June 03, 2003

The Real PC

Why don't you post some of objections in one of the Extreme Programming newsgroups (i.e. Yahoo! or Usenet)?

I am sure you will get plenty of input from those who are proponents, as well as, those who are against this practice.

One Programmer's Opinion
Tuesday, June 03, 2003

A friend of mine tried pair programming, with good results.

I think it is one of those things that you can't count on or plan for, as in order for PP to be successful a lot of things need to click in place. You need good engineers, they have to like & respect each other and network well. You can't do it 100% of the time (2 hours at a time might be a hard upper limit), and the pair team need to be of equivalent levels of skill. Then you need to have all of the usual things like a good physical work environment, separation of the noisy pair programmers from everyone else, personal spaces for the pair teams in addition to the pair lab and a company culture and work ethic that is significantly different to how most people work.

You are not even goign to know if people network well until several months after you hire them. Basic things like personal hygiene/habits can really torpedo the idea too. And ultimately some people just can't pair.

Seeing companies advocate PP in their methodology can certainly arouse suspicion. It has this nasty veneer of a justification for veal-farm offices, or 1984-style gettign the staff to police each others productivity, or justifying whatever material/equipment cost cutting measure du jour.

I would consider PP a useful tool, but one that is real tough to pull off. I am not certain whether it would help me get into the zone or hinder it. It has got some interesting side effects to it, like increasing the redundant code coverage of your team. Not sure whether it is more useful for debugging or initial authoring.

Ultimately like most things in XP, pairing is quite difficult to pull off. Of all of the methodologies I have seen, XP has to be the hardest to pull off.

Richard
Wednesday, June 04, 2003

*  Recent Topics

*  Fog Creek Home