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

« Micropayments for... | Main | Blogging With Ecto »

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]


Having worked in many environments including but not limited to: * My own office * A shared (2 people) office * A cubicle farm * Open plan (banking environment) I have to say the best seems to be cubicles and shared offices of 2 - 8 people. I think open plan is too impersonal (hard to chat to your girlfriend). My office setup, however, came close to the benefits of cubicles and was very personal. All the offices had glass walls on the side where they faced the corridoor. We left our doors open and could half-yell at each other, but you could close your door if you wanted some peace or needed to make a private call (or wanted to shout at someone via speaker phone ;) My office had a whiteboard, so people would often wander in and try out ideas on me and vice versa. (PS: Speaking of collaboration and usability - I can't put line breaks in this comment and that sucks!)

Posted by Mark Aufflick on September 20, 2004 at 07:09 PM PDT #

Post a Comment:

Comments are closed for this entry.