Offices vs. Cubes For Developers?
k12boy asks: "The company I work for has just announced that we're going to move our corporate headquarters (locally, but to a new building) and our facilities folks are currently searching for the new space. My intuition tells me that the developers on my team would be a lot more productive if I could give them offices (even shared) instead of the cube space they currently have, but I don't have any data to back it up. Does anyone have a pointer to any studies that prove me right or wrong?" Studies aside, can anyone think of a time that programmers actuallly did work more happily or productively in cubicles? Might there be advantages to more open workspaces compared to closed office doors?
programmers get privacy from others, quietness, play music w/o others being able to hear, more decorating space for things like magnetic dart boards, more storage space for books, toys, etc. the list goes on....
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
Either have offices (quiet and private) or a true open plan office (no partitions)
Cubes are the worst of both with no benefits.
0xB
happy workers means less turnover, easier
to get better workers for less money if
they think your company is a fun/cool place
to work.
I am in a cube in a machine room with old raised flooring and IBM mainframe era air handlers, along with about 50 feet of rack systems. It's very noisy, but having my own cubicle with a door I can close, is FAR preferable to sharing an office.
Single Office >= Quiet Cubicle >= Noisy Cubicle >= Shared Office
I have worked at least a year in every permutation of office vs cube, and shared vs not. Obviously a shared cube is the worst and a solo office is the best, but I personally _much_ prefer a solo cube to a shared office. I think having to share an office (or cube) puts a significant amount of social pressure on a person to interact with the other person, and also makes it much difficult to have private conversations or to avoid hearing the private conversations of the other person (or the not private conversations of the other person). For me it is a night and day difference between sharing and not sharing, whereas cube vs office is not that significant.
too much privacy leads to a lack of motivation, in my experience. While I don't condone the use of Big Brother technologies to track programmer productivity, I find that the knowledge that someone can easily see what's on your computer screen makes us (myself and the programmers I oversee) more likely to stay on task.
That said, it took my five minutes to write this because I had to keep alt-tabbing over to my "real work". Sigh.
The trouble with cubes is the complete inability to tune-in/tune-out to the general area chatter. Sometimes you want to hear if a technical debate is starting up among your co-developers so you can decide if you want to contribute your two cents worth. Sometimes you want to concentrate on a particularly tricky design and want complete quiet. An office provides the opportunity to close the door.
Generally, most of us leave our office doors open. If I need to make a short personal phone call, I'll close mine. Working in a cube farm requires finding a small "meeting room" from which to make the phone call. I suppose this cuts down on excessive personal calls, but I doubt most people abuse their phone privileges. The really nice thing, is that when you want to have what is likely to become a lively debate, you don't have to get together and find an available "meeting room" -- you pick the office of someone hosting the debate, and close the door.
Now, you'd think this contradicts the desire to be able to "tune in" to the pulse of the work group. But, I've found that such conversations tend to start through open doorways or in the hall, and migrate to an office if necessary.
You could've hired me.
Peopleware
Funny seeing people demanding fortresses of solitude. Actually, there have been studies of better working environments and isolation tanks didn't rate.
s p?theisbn=0932633439&vm= ) describes an IBM effort in this direction which ended up with people working in shared team areas (not fully open plan, not tiny shared cubes either) with backs to the centre so that each others screens could be seen.
Peopleware (by DeMarco and Lister -http://www1.fatbrain.com/asp/bookinfo/bookinfo.a
More topically, Extreme Programming actually has quite a lot to say on office layout. You can see one example here: http://www.xprogramming.com/xpmag/c3space.htm
I have to agree to some extent with the naysayers though. Interruptions to flow can be a disaster in shared spaces if there is no check on interactions. If you can get people to shut up for a few hours a day though sharing an office space is fairly productive.
-Baz
I work in an open arrangement. The benefit is I can shout to whomever I want to ask a question. And I might get an answer but from someone else. We had great moral for a while and were very productive. Two things spoiled it. First we moved to a room that just did not have the same layout ie. no more Razor track or dart throwing corridor. Also the room has a lot more traffic since a lot of people use it as a short cut.
Second is as moral was great and caused people to feel better and hence moral got even better the flip side is true as well. So as the group's moral slide it caused at rapid decline. This led to less productivity and people putting in less to no overtime.
From my experience from being a programmer, architect, manager, etc. is moral. I don't really think people care were they work as much as they feel like they are helping to build something and get rewarded rather than enriching a select few aka Enron.
Case in point. I worked as a programmer for a company that moved HQ from the first factory to a small 3-story building. Sure the building was nice, quiet, etc. However in the move the executives were now on their own floor. They were more isolated. The company went from outrageous growth 4-digit to double-digit growth. Why because the employees that did the day-to-day work felt that now they weren't part of the company but enriching a few executives (this was made worse because few people were promoted from within). You use to walk down the hall and poke your head into the CEO's office. Now it required card key and an appointment or getting lucky enough to run into him. Moral plummeted and so did the revenue growth.
Take care of your employees and they will take care of you.
Not anonymous just not stupid when being negative about my employer
I'm a fairly senior engineer, currently in 6 by 9 cube (only managers get offices). I hate cubes - I have a movable screen across my cube opening, and I wear headphones the whole time because of my co-workers on the phone, the meeting rooms nearby, people walking up and down the hallway... Other people might not mind the noise as much, but I get 2-3 times as much work done at home where I can actually concentrate.
If you're doing a lot of group work, a truly open office space would probably be great, but for coding, writing white papers, etc., you need to be able to concentrate imho.
==================================
neophase
http://www1.fatbrain.com/asp/bookinfo/bookinfo.as p?theisbn=0932633439&vm=
http://www.xprogramming.com/xpmag/c3space.htm
Read any book on managing programmers, and you'll discover that programmers are much more efficent in an office than in a cubicle.
Read: This article
Basically programmers need concentration to work, and being in a cubicle all day mean that they are constantly being interuppted.
Not good!
--
Two witches watched two watches.
Which witch watched which watch?
This site: http://12simplesecrets.com/management.htm says that the productivity rate is 2.5x better for people in offices over those in cubes. They draw on several other studies to come to that conclusion.
:) And having one with a real wall that has a window on it is the best. I do find that now that I have my own office I tend to get a lot less done. Nobody to look over my shoulder and see I'm not on task.
My personal opinion is that as long as the walls are high and thick enough to block some of the other person's nasty choice of music and hang up cabinets, then cubicles seem to be ok.
Most people would die sooner than think; in fact, they do.
Some of your employees might work well in a shared office. Some of them won't. And a dreadful few of them will piss everyone else off just because of the personality problems. And then there's always at least one person who will lash out and cut the throats of the officemates. The police then have to be called, and the company image gets tarnished.
Posting as AC as I'm an employee of said company... I'm the guy you really need to fear. I really wouldn't recommend locking me in a cage for 8 hours a day with the most annoying people I've ever come in contact with.
Go with the cubes. The management and shareholds will thank you for it.
You've been warned.
I have worked in both formats and found the better environment to be a mix of the two.
...". I shut my door and people leave me alone. If anybody needs anything, I get e-mails or they just knock on my door and I open it.
When a group of people are working on the same (or similar) projects then having them in an open environment tends to make them more productive. Communication between people is easier, quick meetings to hammer out problems are easily held and are usually very productive (usually because you are coding during the meeting and once the meeting is over the code is fixed).
When people are just thrown into a cubicle farm where the person next to you may or may not be working on anything even close to what you are working on then productivity goes down. Too much noise is created by "irrelevant" (to your project that is) conversations. People shuffle around and the office and stop to chit-chat. Meetings with team members have to be scheduled and have to be held away from the working area so the "bounce" effect is magnified. In general it is the most distracting unproductive environment I have ever been in.
If your company is going to use a cubicle farm approach push for cubicle assignments that reflect work assignemnts and enforce the philosophy that a change in projects dictates a change in cubicles. This also gives a benefit to management in that they know that the Accounting programmers always sit on the NE corner, the HR programmers always sit on the NW corner, etc.
If it is possible to get offices, get large offices that can COMFORTABLY seat 3-4 programmers in a room (don't cram 4 programmers into an 8x12 office).
If you are a lone programmer working on a project, I would recommend isolation. I am currently the only programmer in my department and my productivity has noticably increased since I moved from my "veal fattening pen" to my office. I don't have to listen to co-workers family problems, I don't lose time with social graces "Hi, how are you today
If you state that all of you are:
a) getting your own cubicle
b) sharing a cubical
c) getting you own office
d) getting a shared office
most likely nobody will like the decesion.
If instead you gather everyone together and say,
"Hey, since we are moving we have a choice of how we arange the office. What would you like?"
Letting the developers/sysadmin/etc people have more control over their environment will generate a better atmosphere overall. Which leads to better productivity. I forgot where this came from, but it isn't my original idea.
If they want a 'bull pit', then give 'em a bull pit. If they want individual cubicals, then give 'em that. Maybe a combination, some one way, others the other.
Christopher McCrory "The guy that keeps the servers running" chrismcc@gmail.com http://www.pricegrabber.com
The best compromise between the 'fortress of solitude' attitude that single person offices cultivates, and the complete lack of privacy that most cube farms generates, is the 2-3 person office.
You still get a more private environment, you have a door you can close, if you all agree in tastes, you can play music without headphones. But you're not isolated... you can still easily ask questions or pair program or have another pair of eyes debug with you. In a pinch, you can squeeze in a small team for team meetings when all the conference rooms are filled.
It may not be as ego boosting as having single offices, but in my experience, it's a far better arrangement. Especially when you can drop a whole team into a couple of adjacent offices... you make it easy to find people, and you get some team building for free (as long as you can live with your officemates).
so true. i'll second this one. having working in both types a truly open (no cublicle) arrangement is the best with instant mangement accessibility.
For the ultimate answer, visit dilbert.com
Of course everyone would like an office. But really, why should developers get them? What about the other workers? That's where it gets tricky. Developers are important, but so is accounting and sales.
The main reason individual offices are avoided? Expense. You'll likely get that as an argument for a cube farm, regardless of what studies you can quote about productivity. I encourage you to stick to your guns, though -- point out short term cost gains vs. long term productivity of other arrangements. Office walls and cube farms both cost money up front.
If you do end up with a cube farm anyways, make the most of it. Give neighbors the right to have music turned down, and encourage or even require use of headphones. Some nice noise-cancelling headphones are even better.
When I worked in a cube farm, several of us made signs:
Do Not Disturb
if you really need to reach me:
- try back later
- send me email
- leave a message
The signs were on strings and hung across the cubical entrance to physically block the way.It took a while (it would have gone quicker if I could have given a shock to people who ignored it :-), but eventually people learned to respect the signs. Even the execs.
When I worked in a cube farm, I found myself working very odd hours. One of the main reasons I needed to do that was because I have a very bad habit:
I talk to myself.
Especially when debugging code.
This wasn't a problem in the minicomputer days, when each lab held four rather loud machines and there was enough space so my mutterings at machine 3 weren't audible at any of the other machines. When my desk became the lab, and the noise level was much, much lower, I used to get complaints about my dialog with myself. (I used to be ribbed about it, too. No, I won't elaborate.)
Now, what I have found is the floor-to-ceiling cubes are very nice for people like me -- cheaper than a "hard" office, and it contains the noise quite well. With the proper layout of openings, you don't even have to have doors.
I'll be interested to hear if the bean-counters don't squash you flat...
One theory is that the part of the brain that's mostly involved in creativity and general insight is easily interrupted by outside noises, including music. They found the same results among people who like to work with music and those who don't.
They further point out research that shows that good programmers tend to have bigger offices. It's not clear whether the better programmers get jobs at better companies, or whether bigger offices tend to make programmers better. But as Fred Brooks said about this study, ``Who cares what the reason is!?'' Big Offices are obviously a good thing.
My company, a little over a year ago, moved offices. The software developers (including myself) went from private offices to cubes.
As you can guess no one was (or is) happy about it, this topic is the source of endless debate and complaints to this day. Now, we have really nice cube, with pseudo "doors", but it doesn't help.
The higher ups called the new layout more "collaborative". We collaborated fine before, now try to squeeze two people into a cube to try to work together. The conversation carries across half the office, disturbing everyone else. The only advantage is I yell across the room to others without getting up where before I had to actually go into the hall (gee, what a plus).
Here is a short list of other complaints (besides noise):
Lighting: I 'm really sensitive to glare from florescent lights, trying to unhook the ones above me isn't an option since others around me prefer to no sit in the dark.
Temperature: Our old offices had adjustable air vents. They really didn't work great, but what little they did was helpful to those who are cold/hot all the time.
Privacy: I know the intimate details of all those how sit around me from their personal phone calls. I've gotten good at talking in code to my wife about personal issues, that's a plus.
Walls: Hard to hang Pictures, whiteboards, posters, calendars, on cube walls.
Have and Have-nots: Some people have offices, some have cubes.
A generally quiet environment is essential, where loud eating, loud earphones, Windows startup chimes, garbage trucks, etc. don't provide continuous interruption.
People should be able to interact conveniently, but still have enough privacy that they don't have to whisper on the telephone.
Shared offices don't work when someone chooses to eat lunch at an odd time crinkling and smacking for what seems like an eternity.
Cubicles don't work when they are so small you have to back out into the walkway to stand up.
Single offices don't work when the person has no discipline and just surfs the web all day.
Basically any option can work depending on the cross-section of people in your office. If everyone is a loud lazy jerk, then I wish you luck.
Healthcare article at Kuro5hin
1.) The cubes are sonically isolated from people who use the phone for actual work (like sales people).
2.) The cube inhabitants listen to music on headphones, unless they can get a general agreement that their chosen volume level is low enough to make the music perfectly inaudible (music that you hear at the edge of your perception can be more distracting that blaringly loud music).
3.) People show each other respect when interrupting each other. The proper way to interrupt someone in a cube is to stand silently in the entrance until they choose to break away from their work and acknowledge your presence. If they actually don't see you in the doorway, you can quietly say, "knock, knock," and wait for a response. This way the person can continue their train of thought for a few minutes, and then , if necessary, they can say, "I'll come see you when I'm not busy."
4.) People are generally quiet - cubes just don't work with overly talkative people, but people who are generally quiet tend to find a decent level of grouping together between cubes and shooting the shit (which can be really good for your development team, in the appropriate quantity).
I have found that cubes can really work with a tight development team (where everyone is not off working on totally isolated projects). I have also watched people who didn't understand the concepts of concentration and personal space really piss each other off...
Why is Grand Theft Auto a much more serious crime than Reckless Driving?
Companies often know that it is in their best interests to keep you happy, so they are often happy to salve your wounds with meaningless treasures. It makes you feel like you have some power (whether or not you had any real choice in the matter) and it makes you feel like you got something in return for what you lost (from the companies perspective, at least - maybe you like cubes, but don't tell them that).
When we got moved into cubes (even though we had no choice), we said, "you can only put us in cubes if you get us incandescent lighting and let us ban all fluorescence from the cube area."
So they got us all halogen desk lamps and floor lamps which we could point at the walls and ceiling.
It was wonderful. There was no direct light; it was all reflected off of some diffusing surface. The cubes were placid and quiet because of the subtlety. When people in other departments were stressed, they would sometimes lie down on our couch because it was so peacefull where we were.
Anyway, my point is, if you can make the company think that you don't want it, you can sometimes get something in exchange. Like, "you can take my office away and put me in a cube if you buy me this expensive ergonomic chair which I have been drooling over."
Why is Grand Theft Auto a much more serious crime than Reckless Driving?
i've worked in a single-room office containing about a dozen cubes all lining the wall. each cube had a large opening facing the center of the room. there was be a table in the center of the room with a chair or two, drawers, and a few computers set up as terminals/vnc's.
this made it easy to wheel over and converse with a co-worker or go to another office and work with people there. talk to your neighbor by pushing your chair backwards a few feet. social atmosphere is everything!
Use my userscript to add story images to Slashdot. There's no going back.
Here in the UK, I've never come across cubicles. At university, I shared an office with 4 others. I was not keen on moving to an open-plan office when I started my current job, but now I think it is much better.
I work in a 'pen' of 4 corner desks. Between each desk, there is either a cupboard, a workstation trolley, or the way into the pen. We have a reasonably large desk area, and plenty of space to pace around in the pen. Between pens, there is a chest-high partition. When I'm sitting, I can't see over it. If I stand up, I can see the people in the next pen.
Noise is only rarely a problem. The worst is that the pen next to mine is the secretaries', and occasionally they get going on a serious bitching session (this is not a general slur on secretaries - it just happens to be the case where I work). Mostly it's quiet and easy to concentrate. It's sociable, and we have quite a humourous atmosphere. It's nice being able to talk to someone else in the pen or just over the partition without getting up.
Temperature can be a problem, but that is mostly due to the inadequacies of our system not responding quickly enough to changes.
Finally, I'm amazed to hear that some people are used to listening to music while they work. I've never heard of anyone doing that here, at least during office hours. Music always kills my concentration stone-dead. Maybe that's because I'm a musician and I always end up analysing it instead of working. Actually, I'm very intolerant of noise. I get exhausted if I have to work in a machine room for long.
Developers should work in their own sound-proofed offices, preferably without a telephone.
They should only be interrupted under extreme circumstances.
I, personally, am in what I would expect to be a rather unique situation as a developer. My company has seen fit to provide me with both a rather large cubicle (complete with window) and a 'community' development lab that is available to all developers. What may come as a surprise to many is that I use my office primarily for storage and the displaying of my personal affects (a.k.a. Linux Propaganda & books) and maintain my primary residence in the 'development dungeon' as it has become know...
Even more, I am far from being alone in my decision to interact with my fellow geeks. Of the regulars whom I associate with in our development lab (which, BTW is a moderately sized, locked door office w/o windows), there are five of us - all architecture-level software developers within our corporation - whom maintain coexistence between the lab and our 'official' offices.
So, why you may wonder, would anyone in their right mind (especially a geek) not only resist the temptation of being solitary, but actually seek out the company of others??? Simple, to me it is all about shared learning! Everyone (ok, most everyone...) has an expertise or a forte of some sort within his or her field of interest. In a public environment such as the one I share we all benefit from our collective knowledge, experience and style in a manner in which increases our overall performance, quality and output!!! Management loves it because we pump out more code; we love it because we continually challenge and learn from one another!!!
Admittedly, I do not have any type of study or graphs (a.k.a. manager worthy content) to support my conclusions, however I do have considerable, personal real-world experience that confirms these ideas...
Beer is proof that God loves us and wants us to be happy. -- Benjamin Franklin
I work in one of these "shared team areas", and I think they are great. Mine has a window and four of us work in one partitioned space in an open plan office. I really like it.
The area is big enough that each of us have rightangle desks with enough space to house probably 6 desktop boxes with 17 inch monitors (I have 3 and a laptop). We all sit with our backs to the center so there is no over looking yet you can easily just spin round on your chair to chat to someone. There are a couple of extra chairs so when people come round to discuss something they can have a seat.
The partions are high enough that you cannot see over them to the other areas when sitting in a chair, this is a good thing, you feel separated but still accessible to just stand up and grab the attention of someone in the next area along. The only problem is people with loud voices and speaker phones, but in general people don't use them too often.
One of the things I really like is the fact that there are offices that you can use if you need a private chat, they are small and can be used by anyone. Each one has enough room for maybe 4 people at a push sitting around a small table, they also have power and network sockets for your laptop, and a speaker phone. I think this is what saves the whole concept, if you need some privacy for whatever reason, or a conference call then you can have one without disturbing everyone. That coupled with nice coffee bars that you can escape to with sofa's can comfy chairs, and grounds you can go for a walk in means you don't feel trapped in some cube nightmare.
Managers have offices, but then you might go to them to discuss your personal problems / problems with co-workers so I think it is fair enough. Difficult to have those sort of discussions in open plan ;)
I have worked in shared offices, and even had my own office, but to be honest I prefer my current open plan arrangement it suites my work very well, it's easy to chat with my friends, I have space around me rather than being shoved in a tiny office and I don't have to put up with the person I shared the office with's music taste ;)
If you ever drop your keys into a river of molten lava, let'em go, because, man, they're gone.
It's interesting enough, and it'd be great to hear of everyone's funny Dilbertesque experiences.
Just wanted to point out:
Moral: Of or concerned with the judgment of the goodness or badness of human action and character: moral scrutiny; a moral quandary.
Morale: The state of the spirits of a person or group as exhibited by confidence, cheerfulness, discipline, and willingness to perform assigned tasks.
Don't mean to nit pick, but I had a hard time reading your message, as I had to keep mentally switching between the two.
I work in an open arrangement. The benefit is I can shout to whomever I want to ask a question. And I might get an answer but from someone else.
So you *liked* working in an environment where one person would interrupt and destroty the concentration of the whole group to ask a question? And you think that's productive?
However in the move the executives were now on their own floor. They were more isolated.
Having individual (or paired) offices for people doesn't mean that you can't have everyone accessible. The point of having offices is that a few people can have a conversation without disturbing everyone in the area.
And no company can sustain "4-digit growth". It's simply not possible.
As we speak, I'm in the process of packing up and moving from an office to a cube. It's a really nice office too -- windows, great view, lots of room, thick walls. The cube is a cramped, dark, inconvenient little thing. I'm gonna really miss the absence of background noise, the ravens that hang out outside my window, the ability to close the door and crank up Glenn Gould, yada yada.
That being said, I think this move is a good thing. To understand my logic, you need some backstory.
A couple of boom-bust cycles ago, my company was founded by A Leading Software Visionary. After a few initial successes, ALSV found he had more cash than he knew what to do with. So he decided he was going to build Software Development Nirvana. SDN would be a towering, innovative building with lots of unusual features. The chief among these would be the layout. There would be three floors. The first two would be your standard mixture of offices (only a few with windows) and cube farms. But the third floor, that was special.
Most of the third floor was set aside for the R&D folk. All of these people would have large window offices. (To create so many window offices, ALSV came up with this convoluted, space-inefficent design.) These were the creative people, right? They needed to be pampered, so they could go off and Create Value.
Didn't work out, of course. ALSV was fired soon after the SDN was finished. Partly because SDN cost way too much to build and maintain, but mainly because the developers never Created as much Value as was hoped. The big problem was a severe lack of teamwork. People just went off and did what they thought was important. That meant a lot of Cool Features. But it also meant messy codebases, and changes that were introduced without thought to their effect on the rest of the product, never mind QA, Integration, or Documentation impact. And of course, a lot of things important things just fell through the cracks, because nobody was interested in working on them.
The fancy offices were only part of the problem, of course. Indeed, they might not have been a problem at all if management had been at all competent. I've worked at other companies with private offices (not as nice as these, but as private, or nearly so) that didn't have these problems. Mainly because management knew how manage.
Thing is, we no longer have bad management. A lot of my coworkers would disagree. They're totally disgruntled at novel concepts, like planning their work in advance, or ignoring their personal priorities in favor of shared project goals. But an objective outsider would have to agree that current management is doing what needs to be done.
Except that management can't seem to break the Rugged Individualist model of development that still haunts us. We have meetings where people are told, "this is how we need to do things now." Sometimes they object, but most often they say nothing, and go back to their offices, close the doors, and do things the way they've always done them.
My department is no exception. (We're not an R&D team, and before I was hired, the department had cubes downstairs. But as the company shrank, there were lots of extra offices, and so other departemts found excuses to move upstairs.) We're not badly run. In fact the current manager is the best I've ever worked with. (God, I hope she doesn't read this.) But there's no cohesion. Everybody has their own idea of how things should be done, and total contempt for any alternatives.
Some weeks back, we had a department meeting where we were supposed to discuss and plan changes to procedures and technology. A major issue -- past neglect has left things get hopelessly out of date. It was a fiasco -- al evel of social interaction that wouldn't be tolerated in a kindergarten. I went on a bathroom break and never returned, because the alternative was a severe loss of temper. Afterwards I told my boss, "I've always hated cubes. But maybe a little less privacy is the only way to make these people see they're part of a team."
Well, I got my wish. Not because of what I said. But the company's growing again, and half the building's now rented out. So back downstairs we go. Should be interesting.
Maybe it was the cubes we had (ugly blue fuzzy fabric, over 6 feet tall) but everyone became depressed. It was a lot harder to talk to each other and we all felt kind of seperated. I don't think work really suffered but nobody liked them.
Near the end of that company (it was a dotcom), 3 of the other people in the cubes were let go and with only 2 people and 5 desks we took down the cubes and had an open area again. I personally liked having 2-3 desks I could work at (one for my development, one for mac development, then a multimedia machine i could queue to run something and sit back and let it do its thing)...
When that company died I started work at a new company sharing a small office. I was really a guest, seeing that it was the company's owner's office and a private office was being built for me upstairs. Although annoying at times (people would come in to shred papers, ask questions, lots of phone calls) it was very productive and I was somewhat happy. I was looking forward to my own personal office though...
I moved into my office over a month ago. The privacy is great and I can turn off the lights (like all programmers want to do) without bothering anyone. The strange thing is, I feel sort of seperated and de-motivated to work. I notice myself spending a lot more time surfing slashdot when I know there's no way anyone will see me not actively working. :p
My suggestion would be to have small offices big enough for 2 people and to pair you developers up in them. Face them opposite of each other so they can't look at the other person's screen for privacy reasons.
I've worked in an envirnoment where I've experienced both the shared space and the cubicle setup. I personally prefer some level of privacy when I work, to allow for better focus on work. Part of the problem with an shared office is the numerous distractions:
- Noise from other works: russling about / conversations & phone calls
- Visual changes: things moving about from others
- Personal space: people like a level of isolation when they work.
- Personal hygiene: THIS I MUST EMPHASIZED. I've had a few workers, both visa and local workers, who at times may have a smell about themselves. Had one person who had such a smell that it would make me twitch.
I would recommend a shared office/space because it allows for better and faster communication, but definitely use some level of partitions, so that it is a combination of a cube and a shared envirnoment. Air fresheners are highly recommended, in this setup as well.
I have worked in a variety of office configuations over the years, and have found that while an office to myself was generally preferable, when working with a team on a reasonably important and/or difficult project, having ready access to other members of my team is of vital importance. At my last employer I managed to convince management that it would be best to hijack one of the meeting rooms for one of the projects I was working on. The entire development team (4 developers, one BA and (unfortunately 8^) ) the project manager) were in the one room. We were able to get an incredible amount of work done in a very short time as we did not have to try to find the right people to answer our questions. We were all able to join in discussions related to any issues that arose and we could easily send the PM and/or BA off to talk to the client to get any business rule requirements clarified.
Having headphones certainly helped to reduce any distractions from other conversations happening in the room, yet you could still catch someones attention easily enough if you needed to. Had we been out in the main area (not really cubicles - more open-plannish) there would have been more distractions and we would have been scattered throughout the building.
This worked well for our small-ish project, and when we had got through the bulk of the work, we were able to go back to our regular desks. If anyone wanted to use a private office, there were a couple of small meeting rooms (that could fit 4 people around a table) which were generally available.
Most studies of information flow seem to suggest that open-plan environments facilitate the free flow of information - it is easy to ask anyone a question, and someone walking by might be able to chip-in with some useful advice. Cubicles are generally ranked next, followed by shared offices then private offices. If private/shared offices are used, then an open-door policy should be urged.
I don't think there is any one ideal solution as it really depends on your office culture, the size of the projects and teams and the nature of the work you are doing. Being in a flexible environment certainly helps. If I was setting up a new office, I would go for mostly open-plan with a handful of private offices and a couple of larger meeting/project rooms. Team dynamics would dictate exactly how the office space was used at any one time.
However, having a single desk anywhere that you can call your own is far more preferable to hot-desking! If you are in a project room with a team, it is very nice to be able to go back to your desk and feel at home. That is unless someone steals your desk while you are sequestered away, as happened to me 8^(
I get to listen to every single conversation that occurs between two developers. I also know when somebody calls, and who it is, because all calls to the farm default to speakerphone. I'm not bothered by pesky natural light. Whenever I want to communicate with my coworkers, all I have to do is raise my voice and call over the partitions. I know when people are coming and going. I have absolutely no privacy to speak with my family and loved ones, keeping me more focused on the task at hand. Yes, cubicles are the way to go.
Now excuse me while I head off to the bathroom and smash my head into the mirror there. It's theraputic.
The middle mind speaks!
Joel Spolsky argues that offices are essential for developers because it's the only way to get into "the zone." Without a door to close, cubicles invite interruption. Somebody innocently asks a question and bang! all of the variables, procedures, and methods drop out of your head. Takes a good 5, 10, 15 minutes or more to get back to find your place. Considering how much programmers are paid, that adds up to serious money.
0 68.html
Or, like I just did, you might just start reading Slashdot. I gotta get back to work...
http://www.joelonsoftware.com/articles/fog0000000
I work for a large (70,000+ employee) electronics firm, and having to house that many people over quite a few campuses leaves only one options: cubes. But, EVERYONE is in a cube, from our CEO and chairman of the board to our brand new interns. Yes, sometimes its annoying when you're on a phone meeting and there are people outside your cube talking. But you get used to being able to focus on what you need to. The nice thing is that there is quite a bit of open communication - if you have a question, everyone is accessible and you know immediately if they are available. Personal calls are usually kept relatively brief - yes, I know things about some of my neighbors that I probably don't want to, but who cares, we're a team, and we're all friends, and you get past it. Sometimes offices, while nice, are just not feasible.
By Yourdin (sp?)
Had a very intersting table listing the "features" that top 10 percent programmers had vs bottom 10% programmers. His disclaimer was that he didn't know if the features made programmers better, or if better programmers demanded the features and got them due to talent. Very interesting things on the list including the ability to put DND on the phone, office, office space, etc.
Worth a look, even if it didn't pan out
I think the company lost a whole lot when we couldn't share office anymore, and I think that organizing people after department isn't the best thing you can do. My personal belief is that it's better to mix people from different departments around products or projects, because you ease communication between people who really need to communicate, like marketing and r&d.
As for privacy, all you really need is some secluded areas where people can have private phonecalls etctera and of course a open-minded policy that trusts employees to do what they're supposed to and not care too much about when people takes breaks.
In our office you could see people sitting reading magazines, drinking coffee going off to the healthclub anytime they wanted to. In the end they were happy and pulled their weight, with good margins too.
That's just my 2 cents.
So you *liked* working in an environment where one person would interrupt and destroty the concentration of the whole group to ask a question? And you think that's productive?
It sounds counterintuitive, but it can work very well. Studies of pair programming, for example, show substantial gains in quality.
Personally, I love open office arrangements, except when I hate them utterly. What's the difference? For me, it's whether everybody in the room is involved in the same project.
If the people around me are all working on the same thing, then their conversations aren't a distraction any more than my teammates in a basketball game. The number of times an overheard comment has saved me hours of work are beyond counting. Errors, like weeds, grow quickly once they take root; best to kill them as early as possible.
On the other hand, if people around me are talking about things irrelevant to the work I'm doing, it's like having random people wandering through the basketball court. It makes me crazy, and I have to put on headphones to get anything done.
My recommendatation: project rooms (aka war rooms). But managers should be aware that this isn't the cheap way out; to reap the high-communication benefits of open offices, you must provide meeting rooms and private places for making personal calls, checking email, and any activities not related to the project!
Sometimes when I needed quiet to figure something out, I'd go find an empty conference room and hide there with listings and work out the problem. That helped a lot. If no one knew where I was, they couldn't bug me. Even a private office doesn't do that for you.
Generally I've found open-plan to be intolerable because of the noise level. Cubes can be ok. 2-3 person shared offices are fine. I agree with the comments that in a private office you can lose contact with the rest of your team, but other than that, they're great.
The 2-3 person shared office is probably the best compromise in high-space-cost areas.
Don't get me wrong, I fully understand why they wanted us to be moved with the other developers (which they moved us all to the 21st floor). However, mu cubicle is now in a high traffic area with low walls in front of the break room, with the nearest window being a good 50 feet away. I ended up snatching a bunch of foam core board from our GIS department and building walls, then going out and spening about 100 bucks on a set of noise-cancelling Sony digital headphones. Even then, I get interrupted at least 10-15 times a day for questions like, "Where'd you get those headphones?" and "Isn't my fish cool!" and blah blah blah.
Our web teams morale dropped quite a bit, and I also find myself going in about 6am to get any work done at all. My advice would be do whatever is necessary for the company, but also look at what moving the workers is going to do to their unspoken side like morale, etc.
Random Musings
I remember reading somewhere about the advantages of a war room style layout for engineers. The idea was that all people working on a certain project would be placed in the same room. Each engineer would have their own desk as well as a communal area in the center for ad hoc meetings and room for any one engineer to temporarily "spread out" as needed. It was based on the war room mentality in the military, the people in the room would be focused on a single defined task (a battle), and the people could easily and quickly convey information if they are within arms reach.
I co-oped for a company that seemed to have a similar view on how to layout work areas. The majority of engineers were in large cubicles with two or more engineers each. The more senior engineers would be given an office with a door, even then it was rare for them to have the room solo. Their were a number of small conference rooms that were on hand for weekly meeting or to have a quick one-to-one over drawings, code, whatever. Larger conference rooms could be reserved that had a computer for electronic presentations, and a speaker phone for conference calls. In older parts of the complex the offices were large and people were given a large desk, a computer stand (could not be considered a desk since there was only room for the keyboard) and white boards on the walls and a large communal table were common. While conversation often deviated from work related everyone was productive. It was common for people to have headphones plugged into the computer CD-player or a portable radio for music and noise reduction. I would often play music quitely from my computer speakers and had no complaints. I liked it there, if I had trouble with a problem help was available and usually offered before I even asked. I would often have a calculation and/or drawing on the white board behind my desk, people passing by would ask what I was working on, and/or point out something I may have missed. I felt productive, connected and happy.
At another job I had the engineers were given a cubicle to themselves, the higher-ups had walled offices with doors, communal areas were rare and spread about. I hated it. The cubicles were fine for one person but if you wanted to have another person review your code there was barely room for them to sit, if you wanted to let a third person in on the deal they would be forced to stand behind you looking over your shoulder. Hallway meetings and talking over the cubicle walls were common. We could have as many as a dozen engineers conversing over a design problem or the latest episode of "Survivor" all leaning against the cubicle walls, sitting in their chairs that they rolled in the hallway, or standing behind the wall in their cube with their chin on top of the wall (granted they had to be a bit taller than average). Meeting rooms were scarce and spread out, myself and a handful of engineers would go on treks trying to find an empty office or conference room for a meeting on short notice. People would "disappear" for days even though they'd be only feet away. The layout looked great on paper, all the cubicles were in nice straight rows with cutely named "streets" and "avenues" and the name of the occupant nicely typed within. Works great for a prison but not for a place of productive work.
Then there is the issues of lighting and ventilation, where I co-oped this didn't seem to be much of an issue. The rooms were large and fairly unobstructed so proper airflow and temperature control was easy. There were some people disagreeing over the temp, some thought 70 degrees Farenhiet was too cold, others too hot. This was largely solved with sweaters and fans distributed as needed. If enough people agreed on the too hot/cold debate the custodians got a call and ususally responded quickly. Lighting also didn't seem to be much of a problem, most people could agree on a bright diffuse light. The CAD and layout people were in there own sections where the area would be kept generally dim with bright task lighting as needed.
At my second place of employ the lighting and ventilation was a constant battle. We had CAD engineers and coders in close proximity and the lights would shine equally upon them. If neighbors could agree to dim the lighting a custodian would come by to remove bulbs from an overhead light. Getting task lighting was problematic as well, since the custodial staff were slow to respond to installing of desk lights and usually got the install wrong (remove vs. install, and location of the cube in question). The ventilation ducts were overhead and blew straight down. Those directly beneath them would always be cold in the summer and hot in the winter. The application of duct tape to the vents was common. (Imagine that, duct tape used on ducts!) Too much use of duct tape in an area would cause all kinds of trouble as people tried to work out a compromise.
My post came out much longer than I planned but should serve as an example of do's and don'ts.
They combine the worst of both worlds. The isolation of the office and the noise/distraction of open spaces without any of the benefits. When you have a office you can always close the door for privacy, and open spaces makes it easy to communicate with your group members...
Just my experience and not so HO.
the beancounters will stick you in the cheapest office imaginable; while they get plush offices.
wait and see
-- www.globaltics.net
Political discussion for a new world
Case in point: Management told us when the moved to cubes that they had a vision of everyone in cubes, including them. So grand re-desings were done, and engineeing moved to someplace else while all the old walls were tore down (this needed to be done, the walls were horridly placed for getting anything done. (We now have 75 cubes where there used to be 10 offices of the same size, connected by a maze of halls. I don't know how that happened, but it was horribal) Nothing was spared, they very best cubes, chairs, and the like was bought, and it is one of the nicest cube farms I've worked in. the next section was similear, but the budget was smaller, so not quite as much was bought... And next thing we know, new management is in, and surprize, they are the only ones not in cubes, and they don't want to change that.
I've been around the block, as they say, a few times. I've worked in open offices, cubes, and private offices. So permit me to address this issue from the perspective of experience...
First: The art of programming. This is a strong mental activity. Try this example: Count out loud from 100 down by 3's. After you get to 91, have somebody else start calling out random numbers. So far, I've only met one person who could keep going. He was a math professor with 20 years of experience working in a noisy environment.
Writing code is a lot more complex than merely counting down from 100 by 3's. I can easily spend 20 or 30 minutes constructing a mathematical model of the program in my mind.
It may seem like a good idea for folks to be able to easily talk. But the same circuits in my brain that process intelligible sounds, regardless of whether I can speak the language, are also used when I'm coding. Or debugging. Or writing english for that matter...
Audible (spoken) communication effectively kills my productivity. I lose concentration, the last half hour of my work is destroyed, new bugs are created that cost even more time, etc.
Visual: The human eye is are geared towards detecting changes in the surroundings visually. Ever see one of those snakes that has "protective camouflage coloration"? It's nearly invisible until it moves. Then you can see it instantly. Coupled with the wide field-of-view of the human eye's peripheral vision, you have a major source for interruptions.
Tactile: Humans, at least in our culture, don't touch except under very special circumstances. Check it out sometime. Even in the most crowded elevator, or a crowded bus, there is absolutely no physical contact. If there is physical contact, folks become distressed very quickly.
If the office is small enough that folks bump into one another... Well, that's the worst of all possible worlds...
So, Cubes vs Offices:
Open office: The worst of all worlds: Audible, Visual, and possibly Tactile distractions. However, it is the cheapest arrangement. And clueless managers like to be able to watch everyone...
Cubes: A GOOD cubical arrangement will block out Visual and Tactile distractions. A lousy cubical arrangement is basically a more expensive open office.
Cubes are sound-transparent, but provide the illusion of sound-opaqueness, so Audible distractions are *MUCH* worse.
They are relatively cheap. Easily modifiable. Easily altered. Favored by clueless managers who like to be able to walk around and verify that everyone is at least "trying" to work.
Private Offices: Depends on the walls. Could be no better than cubes. Could be the holy grail of work environments. Windows are best avoided, they provide a visual distraction and a source of glare on monitors. (Though some folks dislike caves.)
Semi-private offices: You either have Visual distractions, or you jump three feet in the air when you suddenly realize you're no longer alone. Possibly Tactile distractions. Probable Audible distractions. Could be almost as good as a Private Office. Could be as bad as an Open Office. All depends on your officemates.
Personal Experiences:
Open office: Got nothing done during the day. Got everything done at night, after everyone had left. Sometimes worked until after 3AM. Still got fired in the end...
Hardwall cubes, chest high: Good Visual/Tactical blockage. Heard every sound in the facility. Cheered when the guy who insisted on using the speakerphone for all his many calls was fired.
Softwall cubes, 6ft: Good Visual/Tactical blockage. Completely sound transparent. Had aisle cube, next to main elevators/stairs for the floor, across aisle from kitchenette where everyone went to take their breaks. Though they had to talk quite loudly to be heard over the copier that was also located there. Shared other cube wall with a fellow who was trying to transition to being a sports agent -- and on the phone constantly. Next cubical bay over was the sales team.
Productivity fell to zero. This was when I acquired a "background" noise source -- one of those ocean / brook / crickets noise sources -- which allowed to at least get some work done... I got a lot more work done on the weekends than I ever did during the week. Even though they turned the AC off on weekends, and I had triple-digit temperatures to work in...
For those who think that encouraging communications is a "good" thing, I would like to point out that sports-agent-wanabee-guy wrote the threading code that I took over. When I asked him where the mutexes were, he told me he had tried it without the mutexes, found it worked just fine, so he left them out. Suffice to say, the language I used while re-writing his code, and getting yelled at by my boss for wasting precious time, did not encourage teamwork...
Semi-private office: Had two officemates who were managing different projects. They were constantly in meetings in the office, or on the phone. Productivity: Zero.
Telecommuting: Private office. Absolutely NO Audible, Visual, or Tactile distractions. No hardware/software changes without my knowledge. Vastly superior hardware. Paradise.
However, long-term lack of social contact does degrade performance. It becomes too easy not to go out. Humans are, fundamentally, social animals. Total isolation does not become us.
Suggestions: Private office. Encourage group lunches. Encourage group activities outside of work, even if it's just a foosball table in the break room at the end of the day.
Curiously, this is remarkably similar to what Microsoft does. For all I might knock their despicable business practices, they do know how to maximize the productivity of their programmers...
The reference is: Teasley, S.D., Covi, L., Krishnan, M.S., & Olson, J.S. (2000). How does radical collocation help a team succeed? In Proceedings of CSCW 2000 (pp. 339-346). New York: ACM Press.
Contact me or the authors and we can send you a pdf. See also the technical reports link from the CREW web page at crew.umich.edu
Democracy is the worst form of government ever devised, except for all the others. -Winston Churchill
You need to read a book called Peopleware. (Don't have the stats in front of me). It has EXACTLY the data you are looking for, even down to a percentage of increase of effectiveness attributable to square feet of office space.
This book is best described as an 'anti-dilbert manifesto'.
The above sounds very reasonable to my mind. Let me add that what I consider the most annoying source of interruption is telephone calls. No, not my own, but by officemates.
I'm currently in an office with three others who are on the same project team as I am. I find it incredibly distracting when someone else is talking on the phone to our customer -- part of my brain always wants to listen or is trying to analyse and understand the words that my ear hears. I get distracted and can't concentrate on my programming. (The effect is similar with face-to-face conversations but they're a fair bit less frequent than phone calls -- at least in the office.) It makes me want to have a private office.
The argument that's usually cited (let's ignore the fact that my workplace doesn't have private offices, except for the top two managers) is that having a group together in one room improves communication; it also lets you pick up things by chance that you happen to hear which you might not have thought to ask about otherwise. Well, maybe. But I still find it distracting when others speak.
Maybe it's just the way my brain works; I can't work when I'm listening to music with lyrics, either; instrumental music, on the other hand, is fine since my brain isn't constantly trying to process the sound to understand the words.
So for me, I'd probably go with private offices or small group offices (for those who can deal with that). I also really like your suggestiong of group lunches; it's a good way of being social and swapping some gossip -- and also finding out little things about how other projects or the whole company is going. (I've found that smokers often know more about how the company is going since they'll also chat during their cigarette breaks -- and since the boss smokes, he sometimes shares some information during such times as well. That still doesn't make me want to hang out with them, though ;)
Esli epei etot cumprenan, shris soa Sfaha.
Check out Microsoft Press Rapid Development (Steve McConnell), ISBN 1-55615-900-5. They have a reference to a study performed by IBM regarding cube vs. offices and how much $$$ was saved by allocating specific amount of office space, etc.
Yeah, right.