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?
Either have offices (quiet and private) or a true open plan office (no partitions)
Cubes are the worst of both with no benefits.
0xB
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.
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'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
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
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
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.