aspose file tools*
The moose likes Agile and Other Processes and the fly likes Rant against pair programming Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Rant against pair programming" Watch "Rant against pair programming" New topic
Author

Rant against pair programming

Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
Pair programming is harmful to worker productivity. Well, it's harmful to mine at least, and I don't even engage in the practice.

The office I work in, a cube farm, typically has several projects going on at once. One of these projects has decided to practice pair programming, whereas the others do not.

What this results in is that I get to suffer through eight hours of conversation per day right next to my cube. Certainly makes it difficult to concentrate on my own work to say the least. Sure you try to tune out the adjacent din, but you can't help but overhear it. And when you do, half the time the programmer in me is internally critiquing what they are doing.

In an effort to stop the insanity I have resorted to bringing in headphones and CDs... something that I have not required in the almost five years I've sat in this office. It's helped a bit, but really it shouldn't have to be my problem.

I suspect this isn;t as much of an issue in offices where everyone is pair programming, but when there's a mix of traditional programming and pair it can really be a distraction.

I wonder if the people who promote pair programming as a Great Thing have ever stopped to consider the effect on everyone else who may be unfortunate enough to be nearby and not practicing it.

Okay, rant ended. I feel better. Time to put on a new CD.
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
I'm glad you feel better now

It is a well-known fact that having to listen to information that's irrelevant to your project hampers productivity. That's exactly why cube farms aren't too good for productive collaboration -- someone is always annoyed if you try to communicate effectively, that is, not via email...

PS. Alistair Cockburn has written extensively about the dynamics of communication in workspaces in his Agile Software Development.

And don't worry, you'll get used to it...


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Jason Menard:
I wonder if the people who promote pair programming as a Great Thing have ever stopped to consider the effect on everyone else who may be unfortunate enough to be nearby and not practicing it.


Just want to strengthen Lasse's point: the people who promote pair programming typically aren't people who promote "cubicle farms". Most I know actually promote the use of "team war rooms", that is, giving people who work on the same problem (i.e. developers from the same project) their own room.

In such a setting, overhearing the conversation of another pair actually can be quite powerfull (something Cockburn calls "osmotic communication"). If there is something going on in your team that needs to be critiqued, it's quite valuable to find out about that as early as possible.

It still needs to get used too, but in my experience it works out quite fine.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
Originally posted by Ilja Preuss:
Just want to strengthen Lasse's point: the people who promote pair programming typically aren't people who promote "cubicle farms". Most I know actually promote the use of "team war rooms", that is, giving people who work on the same problem (i.e. developers from the same project) their own room.


How often does this actually happen? Space of any kind is often at a premium and it's just not always feasible to have "team war rooms". I would like to see more emphasis placed on space issues and environment when people are promoting pair programming. Or maybe enough emphasis is being placed on environmental issues by those who promote the practice, but simply not enough people are paying attention.

Of course i think half the problem is bushy-tailed young developers who are ready to hop onto the bandwagon of whatever the latest Great Thing is, without sufficiently exploring all the issues involved. I better stop now before I break into a rant concerning bushy-tailed young developers.
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 5288
    
  10

Jason,

I can understand your situation because I experience the same thing every two weeks. No, the people who are distracting me are not pair programming; I am. The people who distract me are the dozens of business experts who come every two weeks for JAD sessions. For two days I suffer through loud hallway conversations and people using phones in the adjacent cubes to conduct their work- and non-work-related business. But it's still the same thing you are experiencing: having to overhear conversations that have nothing to do with your tasks. Don't blame your loss of productivity on the pair programmers. Blame it on whoever is in charge of assigning people to cubes.

In this project, we work in cube farms. I also pair program (we are actually obligated by contract to do so). The folks in my cube (there are 3 people to a cube), and the folks in the adjacent cube, all belong to the same team. Other teams are similarly co-located. From time to time, we benefit from the "osmotic communication" mentioned above. It's not the ideal setup, but it's better than having everybody seated alphabetically or according to seniority (well, we have a bit of that too in that the team leads are all in their own little "offices", separated from the rest of the team). But you just make do with what you're dealt and do what you can to get the job done.
[ January 30, 2005: Message edited by: Junilu Lacar ]

Junilu - [How to Ask Questions] [How to Answer Questions]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Jason Menard:
How often does this actually happen?


I seriously don't know. What I know is that teams who manage to make it happen almost invariably report a considerable performance improvement.


Space of any kind is often at a premium and it's just not always feasible to have "team war rooms".


How costly is space really, compared to what the developers cost? How much improvement in team performance would you need to justify the use of a team room?

See http://www.sciencedaily.com/releases/2000/12/001206144705.htm


Of course i think half the problem is bushy-tailed young developers who are ready to hop onto the bandwagon of whatever the latest Great Thing is, without sufficiently exploring all the issues involved.


Yes. I also can sympathize with them, though - I once was one of them...

Seriously, I think they are also a great chance, because they are (obviously) open to try new things and probably interested in improving the working environment. They just need someone who helps them using that power more goal-orientedly and circumspectly. Or perhaps they just need some feedback, brought forward in a nice, respectful and constructive way.
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31067
    
232

Some background for my comments: My team does pair programming rarely (aka on request), but another nearby team pairs all the time. And yes, we have a cube farm.

I don't find the pair programming to be distracting because there are a lot of other more relevant distractions. Since the people who are pair programming are typically not of my project, it's easier to tune out. There's also personal phone calls and the like to tune out.

At the same time, there are phone calls/meetings and design discussions going on outside my cube for a few hours every day. I find it valuable to hear what's going on for my project. A few times a day, I will hear something on the phone or from a few people talking and have something to add or find out something that I should know about. I guess it has to do with your tolerance for working in a quiet vs noisy environment.

I wonder if the people who promote pair programming as a Great Thing have ever stopped to consider the effect on everyone else who may be unfortunate enough to be nearby and not practicing it.

Aside from the war room layout, the XP people tend to assume that the people nearby are on the same project. Whether they are developers, customers, ...


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Warren Dew
blacksmith
Ranch Hand

Joined: Mar 04, 2004
Posts: 1332
    
    2
I strongly suspect that the issue is not that the pairers are on a different project, but instead that they are pairing and Jason is not.

When one is having a conversation oneself, it's easier to tune out other conversations. Solo programmers aren't having a conversation, so they can't work that way. I strongly suspect that noise is not a disturbing to pair programmers as it is to solo programmers.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Warren Dew:
When one is having a conversation oneself, it's easier to tune out other conversations. Solo programmers aren't having a conversation, so they can't work that way. I strongly suspect that noise is not a disturbing to pair programmers as it is to solo programmers.


My experience is different. Our team of 4 developers is PPing roughly 50% of the time, so rather often I will programming alone, whereas at the opposite computer there is a pair working.

As far as I remember, I actually needed to get used to it for the first few days to weeks. But now I don't find it to be distracting anymore. Most of the time I don't notice it at all, and for a few times a day I notice that a discussion is going on that I can contribute too - and do so.

I think the experience of my coworkers is quite similar.

So my point is: yes, it feels a little bit disturbing at first, but if you try it for a while with an open mind, and allow yourself to get used to it, you *might* actually find that you start to enjoy and even prefer it.
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31067
    
232

Originally posted by Warren Dew:
I strongly suspect that the issue is not that the pairers are on a different project, but instead that they are pairing and Jason is not.

When one is having a conversation oneself, it's easier to tune out other conversations. Solo programmers aren't having a conversation, so they can't work that way. I strongly suspect that noise is not a disturbing to pair programmers as it is to solo programmers.

Warren,
I didn't mean to imply that I talk all day On most occasions I am coding by myself around others who are talking. I go into my "programming trance" where I focus on the code. Interestingly, I am still aware of the peripheral noise.

At my first summer job, I shared a cube with someone else. I was coding and the real occupant of the cube was having a design discussion with someone else (visiting the cube.) I heard every word of their conversation and could have repeated the end of it back at any time. Yet, when one of them called me, I jumped out of my skin! Maybe you listen with different parts of your brain when you aren't involved in a conversation?
Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
Some interesting responses. I do want to point out that I'm not blaming the pair programmers for disturbing me or anything. That's not really the point. I think what my feelings are, and what I can take from some of the responses here, is that environment is an important issue for developer productivity, and maybe one that's not paid enough attention to, either by management or even the developer's themselves.

I am getting something out of all this though. I get to listen to some tracks on some of my CDs that I normally skip over.
Jeff Langr
author
Ranch Hand

Joined: May 14, 2003
Posts: 762
Greetings Jason,

My suspicion is that your pairing neighbors are probably talking a lot more than necessary--is this a constant stream of non-stop chatter? It probably is: occasional comments on the code and interactions should bother you no more than other cube talk.

Effective pairing shouldn't require so much gab. A lot of talking suggests they are (somewhat naturally) filling the spaces with too much social interaction. In this case, a bit of cognizance for the plight of neighbors is necessary. It takes some conscious effort, but a good pair learns to communicate far more via the screen. A few words here and there, and some grunts and gestures also go a long way.

You should at least talk to the pairing programmers and ask them what they can do to help.

-j-

ps -- cubes suck. Unfortunately they are the permanent result of young bushy tailed managers sucked into the latest Great Thing at one point in office history. ;-)
[ January 31, 2005: Message edited by: Jeff Langr ]

Books: Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Warren Dew
blacksmith
Ranch Hand

Joined: Mar 04, 2004
Posts: 1332
    
    2
Jeannie Boyarski:

Maybe you listen with different parts of your brain when you aren't involved in a conversation?

There is evidence for this.

Peopleware cites a study where a number of programmers, some of whom generally played background music and some who didn't, were separated into two groups. One group had background music, the other didn't. Each group included some of the programmers of each type, so some people got their preference and some didn't. The programmers were tasked with writing a program that did a certain number of arithmetic manipulations on an input number and provided the result.

The study measured productivity. Programmers from both groups got to a debugged working end product in about the same amount of time. So, perhaps background music doesn't make a difference?

Not so fast. The arithmetic manipulations, unbeknownst to the programmers, always provided an end result the same as the input, making any actual calculation unnecessary. None of the programmers with music caught on to this, while a significant fraction of those with silence did.

The study theorized that producing working code was a type of task - perhaps what we would now call "left brained" - that didn't interact with the music. Realizing that the calculations could be simplified, however, was theorized to occupy the "creative" part of the brain - a part of the brain that was otherwise occupied with observing the music when the music was there. Perhaps a better breakdown would be "analytical" and "observational".

It's interesting to note that pair programmers often report the same kind of breakdown in responsibilities between detailed coding and higher level thinking when pairing.

Jeff Langr:

It probably is: occasional comments on the code and interactions should bother you no more than other cube talk.

I'm not Jason, but I would agree. However, I think that having normal cube talk in the background may have the same effect as background music. It's not as good as actual silence.

I used to work with background music, but one evening I happened to work without it, and noticed that I was about twice as productive. I can work in a moderately noisy environment and be as productive as others there, but it's not as good as silence. (The week between Christmas and New Years was really good, because it was so quiet.)

ps -- cubes suck. Unfortunately they are the permanent result of young bushy tailed managers sucked into the latest Great Thing at one point in office history. ;-)

Including those that have since been promoted to CEO!

An exception: my understanding is that both Apple and Microsoft give their programmers offices with doors that close.
[ February 01, 2005: Message edited by: Warren Dew ]
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9053
    
  12
For a period of time I was pair programming in a "war room" although that room contained developers working on several projects.

Now I am in a cube and some of the developers come over to my neighbor to discuss football, etc.

For me, the second case lessens my productivity much more than the first. When everyone was pairing, people were much more considerate of the volume of their conversations.


JavaBeginnersFaq
"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31067
    
232

Warren,
That's interesting evidence. Unfortunately few offices (or libraries for that matter) are completely silent.

Personally, I had noticed that I am more productive when people aren't around or on holiday weeks. However, I thought it was because people weren't asking me things and the phone wasn't ringing.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
There is another subtle point to consider: individual performance isn't what counts in the end, team performance is. And the latter might be more than just the sum of the former...
Jeff Langr
author
Ranch Hand

Joined: May 14, 2003
Posts: 762
I'm reminded of other battles in shops. Lights vs. no lights, for example. Some cultures like to work in the relative dark and turn off the fluorescent lights. This can make it very difficult for some people, perhaps even emotionally. Others claim that fluorescent lights cause them similar distress, and they're unable to work as effectively as possible.

The best we can do is learn to show some respect and consideration for others. This doesn't mean, however, that we cater to everyone's whims. I happen to work best shirtless (not a pretty sight) and with obnoxious music playing. I've found that I need some noise level, otherwise I'm unable to concentrate. (It's probably a side-effect of my wife using a white noise device to sleep at night.) But my personal preferences aren't going to fly in most places.

I've gotten to the point where I just don't give a hoot. After doing this long enough, I've learned to adapt to wacky coding styles, ignorant management, fluorescent lights, unworkable processes, shirts, and silence or excessive noise. I've worked in a Coke room, an open room with 60 people (on 3+ projects), in a rickety shack of a building, in lots of horrid cube farms, in an office with a physically abusive coworker, and in an office with two heavy smokers (back when you could still smoke in the office). I still managed to always get the job done.

I note that my most successful projects were when I worked in a collaborative environment, i.e. not in isolated cubes or offices. The best efforts I've ever been on were with a bunch of developers circled around a group of monitors, pairing or no pairing and XP or no XP.

If something is particularly bothersome to me, I first find a way to change it. I've taken out fluorescent light bulbs, I've brought in Allen wrenches and dismantled cubes, I've put my headphones on, I've requested a different cube, I've talked to my coworkers and management. If I can't change it, I learn to cope. If I can't cope, I just leave. When the time comes that none of these is an option, it's time to move to my second career.

-j-
Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
Originally posted by Jeff Langr:
I've gotten to the point where I just don't give a hoot. After doing this long enough, I've learned to adapt to wacky coding styles, ignorant management, fluorescent lights, unworkable processes, shirts, and silence or excessive noise. I've worked in a Coke room, an open room with 60 people (on 3+ projects), in a rickety shack of a building, in lots of horrid cube farms, in an office with a physically abusive coworker, and in an office with two heavy smokers (back when you could still smoke in the office). I still managed to always get the job done.


This would spin-off an interesting side-topic: Most interesting programming environment. I certainly don't envy you, particularly in the examples of the physically abusive coworker and the two heavy smokers. That certainly can't help productivity.

My most "interesting" programming environment... Banging out UNIX shell scripts on a mountain overlooking Sarajevo, in a compound surrounded by sandbags, barbed wire, and machine gun nests, in ~30 degree weather, working in a small trailer, with a 9mm Beretta strapped to my side. At least it was a "no-smoking" trailer.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Jason Menard:

My most "interesting" programming environment... Banging out UNIX shell scripts on a mountain overlooking Sarajevo, in a compound surrounded by sandbags, barbed wire, and machine gun nests, in ~30 degree weather, working in a small trailer, with a 9mm Beretta strapped to my side. At least it was a "no-smoking" trailer.


I guess this could only be topped by debugging FORTRAN programs on board of the ISS...
Jeroen Wenting
Ranch Hand

Joined: Oct 12, 2000
Posts: 5093
Done QB and VBA programming in the loft of a former nuclear power station with airco units blaring away on all sides.
Radiation badges and hearing protectors required at all times, the vibration of the floor and the noise still drove me away after half an hour or so.
Was there performing radiation scattering experiments to verify a new method of determining lead/mercury contamination in nuclear waste samples (the software was to process and present the results).

And the most interesting work environment (no programming there) was 100 meters up on the exhaust stack of a waste incinerator, performing experiments to determine the amount of ash deposits inside the stack by radiation scattering by the ash particles.
No safety lines, only a bit of scaffolding bolted to the stack with a kneehigh fence to prevent us from falling to the ground below.
View was magnificent, so was the wind
[ February 04, 2005: Message edited by: Jeroen Wenting ]

42
Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
Just remember... An armed IT shop is a polite IT shop.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Rant against pair programming