What's That Noise?! [Ian Kallen's Weblog]

All | LAMP | Music | Java | Ruby | The Agilist | Musings | Commute | Ball
Main | Next day (Sep 9, 2004) »

20040908 Wednesday September 08, 2004

Work Environments: Didn't you get the memo?

Software engineers engage in a collaborative game of intellectual creation that can only be won if they can easily converse with and overhear each other. That doesn't mean disrupt each other or sit on top of each other. That simply means that the barriers to communication need to be as low as possible.

The topic has come up a lot recently as a thread spun from Joel-on-software's Bionic Office fetish for private offices. Hey, I dislike interruptions as much as anybody else but in my experience, fixed, permanent private offices for individual team members are communication barriers. Shared workspaces where team members can't turn to face each other for impromptu meetings are also a problem. A JoS discussant Brad Hill gets it

...offices are not always the way to go - sometimes the nature of the product means that a much more collaborative and shared workspace is best.
The standard-issue cube farm is the worst of both worlds, offering neither the privacy and freedom from distractions of a real office or the collaborative flow and facilities of a "war room".
Sure, cube farms invoke nightmares of pointy-haired-boss reminders about TPS reports. However, the alternative isn't necessarily private offices. Private offices implies doors. Doors close. Closed doors hinder communication. Joel's cite of Philip Greenspun is almost laughable
Your business success will depend on the extent to which programmers essentially live at your office. For this to be a common choice, your office had better be nicer than the average programmer's home. There are two ways to achieve this result. One is to hire programmers who live in extremely shabby apartments. The other is to create a nice office.
OK... nothing there about private offices for everybody. Let's see what a real expert says. Kent Beck (Extreme Programming Explained: Embrace Change) describes the an effective programming environment as one where
We will create an open workspace for our team, with small private spaces around the periphery and a common programming area in the middle.

Maybe Joel had a bad experience with The Bobs and their cube farm but his big kick for putting everybody in sequestered little spaces is a recipe for incommunicado.

( Sep 08 2004, 07:33:09 AM PDT ) Permalink
Comments [1]