Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Best Seating Arrangement For a Team of Developers?

timothy posted more than 3 years ago | from the corner-office-round-table dept.

Programming 520

TekNullOG writes "I was given the job to prepare the logistics involved with moving our office. At the same time my bosses asked me to look into buying new desks for a small team of four developers and to consider if it could benefit the team to sit at a round table. In many offices and departments it increases productivity and makes collaboration easy. However, I am concerned that putting developers around a table could potentially be distracting consequently diminishing productivity by increasing coding errors. What are your thoughts?"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered


can we tag the article flamebait ? (4, Insightful)

Anonymous Coward | more than 3 years ago | (#31962668)

can we tag the article flamebait ?

Both (0)

Anonymous Coward | more than 3 years ago | (#31962680)

Where I worked, a lot of groups camped out in conference rooms, but they always needed their own space when they were doing something especially tedious/frustrating.

Why not (5, Insightful)

toxygen01 (901511) | more than 3 years ago | (#31962682)

ask them, what they feel like would work for them?

Re:Why not (4, Insightful)

caffeinemessiah (918089) | more than 3 years ago | (#31962716)

However, I am concerned that putting developers around a table could potentially be distracting consequently diminishing productivity by increasing coding errors.

I agree with parent, and have you considered that developers whose code quality is affected by seating arrangements relative to other developers might not be...um, the best developers? Otherwise, I'd say you might be overthinking the issue.

Re:Why not (5, Insightful)

pclminion (145572) | more than 3 years ago | (#31962760)

I agree with parent, and have you considered that developers whose code quality is affected by seating arrangements relative to other developers might not be...um, the best developers?

That's pretty dumb. Of course having face-to-face exposure to other people will have definite effects on productivity, some of them positive, some negative. Being in close proximity to other people, being able to hear them sighing, muttering, seeing the expressions on their faces, this is going to have some kind of impact. We're geeks, not fucking aliens.

Good plan (4, Interesting)

TiggertheMad (556308) | more than 3 years ago | (#31963002)

I am a developer, and I work under these exact conditions. We have two banks of desks grouped together in the middle of a open room. It is very conducive to collaboration, and it can get noisy when people get going. There is some group goofing off that occurs, but no more so than any other work arrangement I have seen. Most of us have some headphones, and so getting some quiet to focus inst really a problem.

Re:Why not (-1, Redundant)

Anonymous Coward | more than 3 years ago | (#31963160)

We're geeks, not fucking aliens.

Although sometimes some of us wish we were [google.com] fucking aliens. Rowr!

Re:Why not (5, Insightful)

AuMatar (183847) | more than 3 years ago | (#31962802)

No, you're underthinking it and ignoring the human element. Different people have different needs and react better to different environments. Some people hate noise. Others blare music in headphones. Some people multitask and deal with distractions well. Others can't. Some people like human interaction throughout the day. Others hate it.

It also depends on the task their doing. If the stuff they work on is closely interrelated, ease of communication may help improve productivity. If they aren't, increased distraction will likely reduce it- its pretty hard to concentrate on your work when 2 or 3 people around you are discussing something, code related or not.

The best situation I ever had was my last job- I had an office with an actual door I could close when I wanted privacy, next to a bunch of cubes where friends worked, so I could leave the door open and interact when I didn't (said interaction may or may not be code related).

Personally I would hate the round table idea though. Everyone needs some space to themselves for papers, books, pictures of the kids, etc and a round table just doesn't do that.

Re:Why not (0)

Anonymous Coward | more than 3 years ago | (#31963142)

Round table is the only way. You don't put poker players in cubicles, do you? No no, make 'em face each other down, guns on the table, both hands on the keyboard, This [youtube.com] should be playing in the background..just to kinda let them know the project better finish on schedule.

Re:Why not (5, Interesting)

eonlabs (921625) | more than 3 years ago | (#31963024)

I don't know, it may not be something they're immediately aware of.
A seating arrangement I've found works well is on the inside of a ring.
Have the desks setup with dividers so if someone needs to buckle down
and focus, they can, but if they need to confer, they can turn around.

I've tried cubes, offices, labs, and that setup, and I'd have to say,
for small groups, it seems to work out the nicest.

Re:Why not (1)

webishop (1709812) | more than 3 years ago | (#31963256)

As a designer, I have worked in several environments. Working in the eye of a ring, I found, was probably the most intensive, productive, and enjoyable way of working.

Re:Why not (1, Interesting)

Anonymous Coward | more than 3 years ago | (#31962950)

Managers never ask. If they ask they're not managing, right? Honestly, sometimes you just don't think.

What's an office? (5, Funny)

toastar (573882) | more than 3 years ago | (#31962706)

I bet your programmers would be most efficient with a laptop on the beach, I bet they would even volunteer to work late.

Re:What's an office? (3, Funny)

Locke2005 (849178) | more than 3 years ago | (#31962738)

Actually, I bet that would be their second choice, after a laptop at Hooters.

Re:What's an office? (2, Funny)

Anonymous Coward | more than 3 years ago | (#31962882)

You forget. These are software developers, not sales people.

Re:What's an office? (2, Insightful)

AuMatar (183847) | more than 3 years ago | (#31962930)

Why hooters? If you want live porn, go to a strip joint. If you want food, go to a better restaurant.

Re:What's an office? (1, Informative)

Anonymous Coward | more than 3 years ago | (#31963102)

What if you want delicious chicken wings? I'll grant you that Hooters, as a "regular" restaurant, is unimpressive. But, as a wing shack... it's tough to beat!

What works for us (0)

Anonymous Coward | more than 3 years ago | (#31962728)

All desks pointing to the wall. No cubicles, no pointy-haired bosses watching you every movement.

And remember: A happy coder is an efficient coder!

why cant i post here as non anonymous ? (-1, Offtopic)

Anonymous Coward | more than 3 years ago | (#31962734)

this has become a problem today. some articles are making my account as not logged in and asking me to log in. whats going on ?

Isolation Doesn't Increase Productivity (2, Insightful)

Jhyrryl (208418) | more than 3 years ago | (#31962736)

It's extremely helpful when programming to ask a colleague to borrow their eyes from time to time, or to help work out a tech design on a nearby whiteboard. Around a circular table keeps the side-by-side, where they can easily wheel over to a neighbor's station to help out.

Sierpinski carpet (5, Funny)

nacturation (646836) | more than 3 years ago | (#31962740)

The best arrangement is to lay them out as a fractal a la Sierpinski carpet. Produces a decent tight packing and ensures that you are able to maximize your space. Other options that came to mind are if you have curved desks you could arrange them in a 69 fashion. Or get desks of different dimensions... some square, some straight, a few L-shaped ones. Then you could make the developers arrange their desks daily in a game of office Tetris.

Re:Sierpinski carpet (2, Funny)

Anonymous Coward | more than 3 years ago | (#31962880)

Just make sure you don't arrange the desks in a perfect line going from one end of the room to the other.

Re:Sierpinski carpet (0)

martin-boundary (547041) | more than 3 years ago | (#31963226)

Another good tip for maximizing space is to alternate between hiring big fat programmers and small thin developers. Just make sure to seat the big fat ones down first, then you can fill in the remaining spaces. Never start by seating the small thin ones first, or you'll have to use duct tape to keep the big fat ones from sliding around.

Non sense (5, Informative)

AthleteMusicianNerd (1633805) | more than 3 years ago | (#31962748)

This is an awful idea. I've been in that situation, not quite a round table, but 5 guys in the same room. It's a great way to not get shit done, and have a lot of conversations about the latest MMO. At that time it was Everquest. I guess it'd be Starcraft now.

In addition, the foul odors emitted in that room were quite offensive. The farting, sweating, lack of showering...etc.... The best configuration for programmers is individual offices.

Re:Non sense (3, Insightful)

AuMatar (183847) | more than 3 years ago | (#31962848)

I'm actually working somewhere right now where evryone has their own office. I loved having an office myself, but with everyone having their own its just too quiet. No interaction, no way to get to know anyone. There has to be a happy medium between that and the cube farm.

Re:Non sense (3, Informative)

Symbha (679466) | more than 3 years ago | (#31962868)

Agreed. I've worked in a shared space, a cube, and an office.
The office is the best.

Re:Non sense (0)

Anonymous Coward | more than 3 years ago | (#31963048)

Double agreed. I've worked in an office most of my career. For just a few months I had the misfortune to work in a cubicle. Much too distracting. People waking by who deem fit to stick their head over the wall and talk, the next door neighbor having a phone conversation, or discussing some technical matter with a colleague, general office noise, etc. - all a chore to have to tune out. It's much better to have an office to get things done. When the door is closed, then do-not-disturb because it's crunch time.

There still was lots of time to interact with colleagues, but it was by choice not inclusion by default because there was no walls/door.


Pair coding (2, Interesting)

SimonInOz (579741) | more than 3 years ago | (#31963190)

Pair coding can be surprisingly effective - it sounds a ridiculous idea, have one person code, and another just sit there and watch. But it works pretty well - the second person acts a check on the first, and the error rate drops. There will be interaction, humans are like that, and it's all to the good.
Also, you will have two people familiar with the code, not just one, so some pressure is reduced - holidays become easier to organise, for example.

I have worked in an office (now), a cube farm, a shared room, and from home. Each has advantages and disadvantages. (I like the sound of the laptop and the beach, but I'd definitely miss my second screen).

One thing that does definitely work is to have a "quiet room". You have a limited number of desks/computers there. If you choose to work there for a bit there are no phones, emails, nor conversation. Can be great for a good straightforward bit of code bashing. But not all the time.

Oh yes, and a second screen is a proven, cheap, productivity improver. Big screens are pretty cheap. Do it!

Simon (yeah, I've been doing this a long time. First line of code must have been, oh, 1970 in Fortran IV I think, and I'm still at it. Damn, where's my Ferrari?)

Re:Non sense (1, Insightful)

Anonymous Coward | more than 3 years ago | (#31962942)

I second this, from experience. The only thing worse than having your team spread all across the building on different floors/areas (due to "lack of space"), is to have them all within one small area, constantly intruding on each others personal space and breaking each others concentration.

The team needs to sit close enough for small communication and ad-hoc meetings to happen easily, but the team members need to be separated enough from the surrounding distractions to be able to concentrate. I've seen a very good arrangement at IBM, where the cubicle walls were higher than human height, and had sliding doors. The worst arrangement is wall-less round-table or inverse round-table.

Re:Non sense (0)

xero314 (722674) | more than 3 years ago | (#31963140)

The best configuration for programmers is individual offices.

I knew someone would make this suggestion, and it is these worst possible suggest. Having separate offices does not in anyway cut down of non-work related conversations. The Developers will either use instant messaging, which takes more effort than talking, or they will get up and walk to each others offices. The real bad problem is when they actually have to work together, which is nearly constantly on any reasonably sized project. Then they have to use less efficient forms of communication or again have to spend time walking to each others offices.

Secluding Developers form the rest of he business is a good idea as it cuts down on the distractions that really do pull people away from their work. But secluding them from each other is just down right dumb.

My suggestion would be up to five developers in a single room with individual desks facing out of the center of the room with a single large conference table in the middle. Give then each a laptop with at least one additional monitor. Also encourage the use of head phones when a developer wants to seclude themselves of the rest of the group. This gives developers their own working space if they want it (you could add cube walls but I would not suggest it) and also a communal space to work together. The best part is it keeps sales and all the other riffraff out.

Re:Non sense (0, Interesting)

Anonymous Coward | more than 3 years ago | (#31963144)

I agree. Last time I was in a room with 5 other dudes, all we did was circle up and jack off onto a girl. Seemed kind of gay to me, I mean, take away the chick and it's just a bunch of guys circle jerking (gay). Hell, she kept her clothes on so she may as well have been a shemale, tranny or lady boy. Definitely gay. Especially afterwards when we all hit the showers and the soap kept dropping.

Re:Non sense (2, Interesting)

JT The Geek (1121759) | more than 3 years ago | (#31963148)

You need to have a culture set of getting shit done. We have a team of about 8 coders with another 3 html/css + 2 qa people sharing a roughly 40x40 foot room, and it's freaking awesome. All of our desks are pretty large, we all wear headphones when we want to get work done, and we don't when we want to talk to each other and take breaks. Our 2 team leaders set this culture, and everyone else follows and kicks ass. It's been working great for us, but it comes down to the team leader(s) to set the norms.

trireme (1)

smoothnorman (1670542) | more than 3 years ago | (#31962752)

...and if you don't code >X lines/day you're lower man on burrito madness day

Re:trireme (0)

Anonymous Coward | more than 3 years ago | (#31963266)

I used to work at a place like that. I thought they said "snort > X lines/day". hahaha, nobody seemed to find it as amusing but fuck them. good times, good times.

How about (1)

FShort (91112) | more than 3 years ago | (#31962768)

[insert "3rd world impoverished country willing to do the work for 1/5th the price" of your choice here]?

Scientific Evidence (5, Interesting)

Anonymous Coward | more than 3 years ago | (#31962772)

There are scientific studies that show significantly increased productivity by giving each developer their own office with a door they can close. Interruptions and distractions can torpedo productivity. These are mentioned, for example, in Steve McConnell's book, Rapid Development.

The agile crowd claims that having all the developers together increases productivity because you might overhear a conversation and be able to contribute something of use. In support of this they cite only personal impressions and anecdotal evidence. I know of not a single scientific study that supports their claim.

Re:Scientific Evidence (0)

Anonymous Coward | more than 3 years ago | (#31963038)

The place I work at now pretty much breaks every rule in that book although, I doubt I'm in the minority on this.

Best seating for 4 developer productivity? (4, Insightful)

Locke2005 (849178) | more than 3 years ago | (#31962776)

4 windowless offices with 4 closed doors, all adjacent to each other. If they need to discuss, they can email or walk next door. Most of the "eXtreme Programming" techniques are things that good developers have been doing forever (like refactoring), but team programing is bullshit -- and if you really need to do that, you have a guest chair in every office.

Re:Best seating for 4 developer productivity? (1)

archer, the (887288) | more than 3 years ago | (#31962892)

This gets my vote. If one of the developers is talking (phone, another developer, boss, whoever), the other developers must filter out that extra noise to concentrate on their work. Some people do well at this. Some people will have a productivity hit.

Re:Best seating for 4 developer productivity? (5, Informative)

dubbreak (623656) | more than 3 years ago | (#31962954)

I strongly agree that developers need their own office with a door. There are times as a dev when you need to close the door and have no distractions for a few hours straight. A personal office allows that.

At my work R&D has offices in a circle around a shared bench area. If you want to collaborate you can go to the center area or use someone's office. If you want to listen in you just have to leave your door open. If you need some privacy and no distractions you can close your door. Best of all worlds.

Re:Best seating for 4 developer productivity? (1)

John Hasler (414242) | more than 3 years ago | (#31963086)

> There are times as a dev when you need to close the door and have no
> distractions for a few hours straight.

Yes. It's really hard to get a good nap in a cube farm.

Get them private spaces. (0)

Anonymous Coward | more than 3 years ago | (#31962780)

Imagine you're writing some code and I come in to ask a "real quick" question. "hey may, where the API key for project X stored?" Off the top of your head you might have an answer - but in that 3 second response you've stopped focusing on your project, I've broken your flow, etc. etc. etc.

In a scenario where I can just look up and shout I'm farm more likely to interrupt you than I am to try a quick search through my inbox: you're right there so it's easy.
If you're sitting 2 cubicles over then I have to get up and walk: the whole process might take me 15 seconds which puts the cost slightly higher than doing the search myself.
If I'm in an office now you've got to get up, walk over, knock on the door, maybe two or three times (because I've got headphones on trying not to be disturbed).

For your typical programmer type in a shared work space the giant DJ-style headphones often serve as a polite "do not disturb" sign but there are many who simply don't get the message (management, secretaries, project managers, clients touring the office, etc).

You don't want to increase face-to-face communication between your developers all the time because programming is a solitary activity. You want to minimize the contact your developers have with the outside world when they don't want it, and make it as easy as possible for them to interact with one-another when they absolutely need it.

Wha? (5, Insightful)

raddan (519638) | more than 3 years ago | (#31962798)

Fuck your bosses. People do code better in teams-- they just plain think better in teams. But you're going to burn them out if you force them to sit in circles.

My suggestion is: encourage people to work in a central common area. Put a conference table there. Whiteboard. Snacks. Some stupid toy from ThinkGeek. But also give them a "home base" where they can check their email, make phone calls, have a little privacy. They need a place to recharge.

"Coding errors" are not the problem-- those are easy to fix, because they're mostly typos. "Thinking errors" are the real problem. So make sure that their thinking environment is conducive to correct thinking. Shit-- if more developers used their brains before they touched a keyboard, the world would be a better place. When they're done thinking, they can go back to their desks and hammer out the code, because that's what coding should be: brainless hammering.

Use a square and face outward (5, Insightful)

bradford3454 (1063452) | more than 3 years ago | (#31962808)

Had this exact situation. Use a square bull pen arrangement with work surfaces around the inside of the square. Put a single round table in the middle for collaborative meeting/discussions. Put the workstations in the 4 corners of the square facing outwards. The programmers get their privacy but are still working in a group. (entrance to the area is through an opening in one side of the square.)

Re:Use a square and face outward (1, Informative)

Anonymous Coward | more than 3 years ago | (#31963136)

The bullpen can work pretty well. I was most comfortable in one, at my previous job. We basically had a bunch of cubicle walls up, separating "our" space from a big hallway (it was originally meant to be some kind of foyer). We had three desks up, on different sides of the pen. But the nicest two things: we were far away from our "team leader" (who was very nice, and quite capable, but loved to interrupt us to shoot the shit -- though when he did visit, he would shoot the shit for about an hour), and we had much better control of our lighting than in any other space we used. We kept the fluorescent lights off and used halogen desk lamps if we wanted some task lighting. It was also pretty quiet there. We got more done in that hacker den than anywhere else in the building. We were ostensibly an XP team, but the dynamic changed for the better when I got there and made my mark.

So, of course, our manager decided to move us to a brightly lit, loud, poorly laid out, shared space (shared with non-developers, who constantly jabbered about American Idol and other such crap).

Re:Use a square and face outward (2, Insightful)

ducomputergeek (595742) | more than 3 years ago | (#31963178)

This is basically our set up only we have 4 L-shaped desks in the middle of each wall since one of our corners is occupied by the door. It works out nicely. They get room for their two monitors and a bit of privacy, but if they need something, it's roll over to the guy you need to talk to and figure it out.

That being said, if you look at the code commits they do just as much from home from 10PM - 2AM as they do in the office from 11AM - 4PM.

Cubicles (2, Insightful)

Anrego (830717) | more than 3 years ago | (#31962810)

Seriously.. a well designed cube farm is pretty nice..

Monitors should be positioned such that someone walking by can't see what's on the screen..

As a programmer.. I hate all this "open concept" stuff. If I want to talk to someone.. I can get up and go visit them. Little pow wows around someones cubicle are insanely common where I work.. and very effective. Anything bigger than 3 or 4 people.. go find an empty room somewhere...

Re:Cubicles (1)

ztransform (929641) | more than 3 years ago | (#31962944)

I second cubicles. I need walls. So I can do whatever I need to do without thinking my monitor is on show for the world to see. If I want to spend short (sub minute) breaks browsing this or that, catching up with my personal life, then so be it. But if I feel forced to always "look like I'm working" I can guarantee you I will be unhappy. And when I'm unhappy I code very poorly.

You have to have a level of trust in your developers. Development is not like laying bricks, it is a creative process. Emotional well being is extremely important in fostering creativity. Ever think you'd write a good wedding speech when you're unhappy or feeling like you're being constantly watched?

Open plan is just wrong for developers.

At a minimum have half height walls that make it difficult for neighbours to peer over. Plus they double as noticeboards that diagrams and notices can be pinned to.

Re:Cubicles (1)

funkatron (912521) | more than 3 years ago | (#31963030)

Walls or no walls (I'm into no walls), I wouldn't spend too long working in an environment where I felt I couldn't have a break for slashdot/xkcd/facebook. Taking a break isn't something you should have to hide.

Re:Cubicles (1)

CaroKann (795685) | more than 3 years ago | (#31963010)

Yes, believe it or not, cubicles work well. If they are high walled, make sure they are big enough to fit more than one person for small meetings. If they are low walled, then arrange the workspaces so that all four developers share the same hall and are facing away from one another while working on their computers. If there is room, you might try placing a meeting table in the hall, with a large portable whiteboard nearby. If one developer needs to talk to another, they just turn their chair and talk. I think this is a good compromise between privacy and collaboration.

Re:Cubicles (1)

ztransform (929641) | more than 3 years ago | (#31963070)

facing away from one another while working on their computers

I've worked with lower walls where the developers faced each other and found that fine, you could bob your head up and say hi over the wall, and your monitors weren't in full view of each other (as they would be if you were in a square arrangement facing away from each other).

Re:Cubicles (0)

Anonymous Coward | more than 3 years ago | (#31963282)

I had cubicles a while back...

Cubicles are opaque. A win. But they're sound transparent!

When you can't see the people you are hurting, or the work you are destroying, there's no incentive to stop. (Even when you can, there are far too many sadistic Dilbert-ecse types out there who enjoy psychologically harming you.)

As I say, I had cubicles a while back. As the most recent hire on that team, I received the cubicle next to the main corridor, about 20 feet from the elevators where everyone coming to the floor traveled. (3 floor building, about 1000 feet long. Lots of traffic!)

On the other side of that main corridor, rough 8 feet away, was the kitchenette. Everyone went there to prepare their lunch, coffee, and snacks. They'd chat amongst themselves while doing so. Loudly. They had to talk loudly. That's were the floor's photocopier was located. A big, massive, noisy thing. With the collator attachment, of course.

On the other side of my cubical wall was another programmer who really wanted a career change. (Having seen his code, that was a smart move.) Unfortunately, he wanted to be a sports agent. So he spent all day, every day, taking personal calls on the phone. I heard every word.

In the next set of cubicles down the corridor was the purchasing department. They were also on the phone a lot!

Adjacent to me sat yet another programmer. This fellow was the worst member of the team, unable to handle even a "for" loop. He had a lot of questions. When the answer didn't mesh with what his code did, he ask it again. And repeat until something changed. (Naturally, this did not involve him writing new code.)

Did I mention the part where management turned the air conditioning off after hours to save money? (Thereby cooking the computers and any staff working overtime?)

My productivity dropped substantially in cubicles...

However, I was young, I needed experience, and they paid handsomely per hour. Not enough to keep me in the long run, but enough to pay off my college debts and put a down-payment on a house.

Give me a cube. (0)

Anonymous Coward | more than 3 years ago | (#31962816)

I've been working at this place programming exclusively for a few years now, and I don't like the open floorplan.

The computer builders across the room dropping a case, asking about overclock settings don't bother me. The tech support talking, loosely separated by short cube walls, doesn't bother me. But my obnoxious coworker that drums on the desk, his earphones that are so loud I can make out everything he listens to, his extended and loud complaining when something doesn't go quite right, all constantly break my concentration. Add onto that the openness feeling and I don't have a cozy spot to call just my own.

Combine that with the _too_ casual, cooperative stance and he asks me questions on stupid syntax errors he could fix in a few seconds and what I think about how he's doing something. While good, they're excessive, and having cube walls to walk around as opposed to talking at his monitor seeking my attention might prevent some of the more menial stuff. Though maybe some of the less menial stuff, too.

In general, I find it _very_ hard to work without my own cube, and my "zone time" is drastically reduced compared to my internship years ago where I had my own cubicle.

Open floor plan for those that need to concentrate deeply is a NO GO for me. The round table is out. What happens when someone needs to talk to someone two people over? Will they get up? or will the two people talk into alternating ears of the poor sob in between them? That wreaks hell on my brain.

Personal space, too. I use about half arm's reach -- cups, chips, box of dry cereal, cell phones, netbook, books, tea set, hard drives, barcode scanner, switches, KVM, .... how much room are you going to allow to sprawl out? Is absolutely everyone able to control, or OK with, encroachment?

It all depends... (1)

TomXP411 (860000) | more than 3 years ago | (#31962820)

...on the people in question. My favorite setup is individual offices for day to day work, but with space for collaboration when the situation calls for it. (For example, we had a push to get a bunch of items fixed before a big release, so 3 of us got together in one big office and worked down the list.) Good, dedicated coders will do the job anywhere, but having an arrangement that facilitates communication can help. For it to work, though, you need guys (or ladies) who can get along well together and will focus on work, rather than random chat. That same arrangement makes it easier to goof off, too, and you could well find that instead of sharing code, they're sharing the latest YouTube videos. It also eliminates privacy, so if any of them have to take phone calls on a regular basis, you need to consider equipping them with laptops and making a "break-in" room available for calls and teleconferences. It can also be rough on concentration, since some people can't tolerate chatter when trying to focus. Whatever you do, don't create an environment where the boss is constantly looking over everyone's shoulder. That just raises the stress level, which will definitely increase errors.

Re:It all depends... (3, Informative)

girlgeek54 (806824) | more than 3 years ago | (#31962934)

Completely agree. Need private office with a collaboration area or lab. In 27 years of sw engineering, that was the best, most productive setup. The team would congregate in the lab every day for an hour or two, but when we really needed to buckle down and seriously code, the private office was great.

Shared offices (3, Insightful)

xenoc_1 (140817) | more than 3 years ago | (#31962822)

Offices with doors that close. Big whiteboard in each office. Couple of guest chairs. Two developers to each office. Desks on opposite sides of room so they aren't stuck elbow to elbow, but still can swivel and wheel over to the other.

I worked at one company that did this in their LA branch office. I was in NYC but flew out there a few times a year. Most productive setup I've seen. Physical layout offers quiet, respect for technologists, room for collaboration whether pair programming, "other set of eyes", or effective (as in small =5 people) meetings, prevention of "mismanagement by walking around".

Nobody will do it nowadays. Those offices are given to clueless middle managers instead.

Re:Shared offices (1)

ubergeek09 (1412177) | more than 3 years ago | (#31962940)

I actually know of a tech company that does this. I'm only a student so I don't know much about this, but I had a tour of a company's headquarters outside Madison, Wi and it wasn't bad at all. They took the approach that to get the most out of every developer each developer needed his/her own office (with a door that closes)...and they didn't have a dress code either.

NO. Creative work requires some feng shui (1, Insightful)

Anonymous Coward | more than 3 years ago | (#31962828)

as in, not placing people's backs facing empty spaces, doors, windows etc. these all disturb the psyche in a subconscious level because they will feel unsafe little by little, even if they dont feel it. (ie remnant of human species' instincts while we were living in wild - defense against predators)

facing someone else, seeing someone else's face also distracts. leave aside the potential annoyance they can create with their movements, mimics, music and whatnot.

you should pick the most comfortable and ergonomic chairs and monitor-desk setup, so that they can work longer without getting tired. research on computer usage ergonomy a bit on the net.

there is no need for 'face to face' collaboration. you will have either instant messengers, or some kind of intranet messenger already handy. or a chat environment. its easier to attend a chat conference than having to listen to other people. while 3 people is doing a live conference, 1 talks, the rest listen, not able to do anything else. but with chat or im, all can drop their opinion, respond to others' and multitask their work in the meantime. you do not need to wait someone else to vocalize a thought by long sentences.

blah blah blah.

Sickness (4, Interesting)

toolo (142169) | more than 3 years ago | (#31962838)

Yes the fad are Agile teams that all sit next to one another... but people tend to forget you will be down 1 FTE regularly because you all sneeze and cough on each other. Sickness runs rampant in those rooms... particularly if you have someone who is not hygienic in the group.

Sounds cramped (1)

funkatron (912521) | more than 3 years ago | (#31962866)

Sitting everyone round a table sounds like it could get a bit cramped. Development tends to generate loads of notebooks, post-its, design scribbles etc. Put those on a round table and you're going to get people running into each others mess.

Personally, I like to be in an open-ish (not too big, definitely not a cube) space with an area that's clearly identifiable as my desk. A nice cask nearby also helps but I havent been able to sell the idea to management.

A cross with medium height partitions (1)

Zocalo (252965) | more than 3 years ago | (#31962886)

Four L-shaped desks arranged to form a cross with modest height dividers (about eye level when seated) that can double as pinboards along the joins. The height of the dividers needs to be tall enough that someone can get their head down and not be distracted when they need to, but low enough so they can look over to talk without having to stand up. Optionally provide a shelf that clips onto the dividers for additional surface space and/or a small magnetic whiteboard that will also hang from the dividers on a person by person basis.

Re:A cross with medium height partitions (1)

Rockenreno (573442) | more than 3 years ago | (#31962978)

We do basically this, except that we use our monitors as the walls. Dual 26 inchers do the trick nicely, though adding a few more wouldn't hurt!

Re:A cross with medium height partitions (1)

bguiz (1627491) | more than 3 years ago | (#31963236)

Yup - that is exactly what I have got at work as well. I think the half-height walls are great cos they give you your own private area where you can zone out just code - but you still have the options of standing up to have a chat with anyone else on the team.

The only problem I have with it are the L-shaped desks. These are problematic when two or more developers are looking at the same screen - which I find happens quite often, especially when making architectural decisions about the software, and when one dev is showing another dev how to do ${programmingTask}. What tends to happen is we push the chair out of the corner of the L, and both of us sit on the table, which is not ideal.

I think the best desk configuration would be a cross shape, with half height walls, and straight (not L-shaped) desks.

Oh, and throw in one pair of noise-cancelling headphones for each dev. Those are worth their weight in gold in increasing productivity.

Save your asses (1)

CaptSaltyJack (1275472) | more than 3 years ago | (#31962904)

Not quite related to layout, but this is rather about the desk setup: do everyone a favor and get adjustable height desks that allow you to use traditionally (seated), or raise up and use standing up. Developers sit all day, and as a result, their glutes sustain a lot of damage and atrophy. Basically they're in a static stretch all day long, which is not good. Standing workstations are great, but sometimes people will want to sit, so I think adjustable height is the way to go. Better for your backs, and you'll save your asses. Literally.

Pod farms (0)

Anonymous Coward | more than 3 years ago | (#31962932)

I never understood why developers, which mostly do a job that requires a great deal of concentration, are usually stuck in the most distracting locations. While the excel/outlook jockey's are in offices.

Aspergers much? (3, Insightful)

kosmonot (243766) | more than 3 years ago | (#31962938)

Arthurian setup would suck for high functioning autistics. Sounds like a job for Temple Grandin.

Backs to each other, table in center (3, Insightful)

Eponymous Bastard (1143615) | more than 3 years ago | (#31962970)

I once worked in a somewhat similar arrangement. We had L-shaped desks in a cross arrangement. Each person sat in one of the inside corners of the cross.

- It was easy to talk to each other.
- It was harder to look at the person across from you over the monitors
- If you ever wanted to show each other your code, one of you had to walk around the desk or roll around it in your chair.

That last one was the dealbreaker. It might be easier on a round table (but then each would have very little room for their stuff), but you'd have the same problem to talk to someone who is not right next to you: you'd still have to walk around your neighbors.

I'm currently working in another department with the same desks, but arranged as the outside of the square. Takes up about the same space but it is much easier to roll over to someone's desk and work with them. You can take your laptop if you want (and wifi permitting).

And let's face it, it's just as easy to turn around to talk to someone behind you as to someone next to you. And if they are wearing headphones they won't hear you either way. Add rolling chairs and anything but carpet and it's just as easy to take something to show them too. Even without the corner desks, you can set them up in two rows back to back and it still works.

You could add a small central table for quick meetings, but I prefer the back to back arrangement any day.

(And people tend not to slack off as much because someone might be looking over their shoulder :) )

in offices (1)

Lehk228 (705449) | more than 3 years ago | (#31962972)

in their own offices. or if you don't have the resources for individual offices, individual cubicles with some "large"* informal meeting are nearby.

*big enough to hold the entire team, plus anyone they might be pulling in on something.

and for the love of god[des[es]|s] please give them a quality keyboard to type on, with quality being defined as whatever they want.

Group of 4, good, but concerned about tables... (1)

BobPaul (710574) | more than 3 years ago | (#31962974)

The best arrangement I've been in is with 4 devs in a group, but each dev has 3 tables. Front, left, and right. Cube wall blocks in group of four with back to each other, but it's easy to turn around and convers, plus we had a hell of a lot of room to spread our work out on. I suppose a desktop software developer could get by with less room, since having bench equipment (oscopes, signal generators, etc) at hand aren't really helpful, but I'm sure you could find a use for the space...

And having our backs to each other had the added effect of keeping us honest... you don't want your co-workers to see you're always on slashdot...

Jesus fuck, all managers are morons (1, Informative)

Anonymous Coward | more than 3 years ago | (#31962980)

There is a whole book, "Peopleware" by Tom DeMarco and some other guy, about shit like this. The most important thing developers need is peace and quiet.

This comment [slashdot.org] gives the answer pretty well. Put two people in each office. Not more. Not less. Any more than two in an office and the conversation and distractions kill productivity. One person in office = thumb twiddling and pr0n surfing. Zero people in office = empty room, nothing happens. You want exactly two. Heaven.

Sitting around a circle... (1)

ADRA (37398) | more than 3 years ago | (#31962984)

Means that when I want to look at the screen of my coworker across from me, I have to run around half the table to see it... Sitting in your typical square cubicle-type style means I can seem me peer's screen easily reducing potential wasted time. Plus it makes them less likely to surf for porn knowing there's potentially 3 people looking over their back =)

Not A Round Table (1)

b4upoo (166390) | more than 3 years ago | (#31963000)

There were some studies years ago about round rooms and employees going psychotic. Humans seem to need corners and barriers. I would suggest a large square or rectangular table. Also when you use a round table over weight employees tend to be pushed back as the position causes them to be stabbed in the gut. Perhaps a square with an opening in the center for cables to drop down and lines to feed in might be best.

Test a few before you move? (1)

jenllip (1796658) | more than 3 years ago | (#31963006)

If possible, why not test a few temporary configurations in your current space and see what they like best?

I resisted switching to a different desk for a while because I couldn't see how it would be any different, but after trying it, I realized it opened up a whole world of communication opportunities I was missing.

Suite format (1)

Overzeetop (214511) | more than 3 years ago | (#31963026)

Four fully enclosed offices with doors which open to a central conference area (just a 3x8 table and half a dozen chairs), which in turn opens onto the corridor accessing the rest of the office. Bonus points if you can parley a space for a sink, a mini-fridge, and a coffee machine on a small kitchenette at one end of the common area.

You should always be close, but there are times when you need to collaborate and times when you need to close the door and concentrate on what you're doing without distraction (coding, of course).

I have actually worked in an environment like this and it is pretty darned productive. We had 6 offices that opened onto a common area. No coffee mess, but life isn't perfect. I think we were much more in sync as a team than the folks who were lined up in offices along a corridor, and much less distracted than being in a cube farm (I've been in both of those environments, too).

Lousy idea (1)

g051051 (71145) | more than 3 years ago | (#31963052)

Ugh. I've been in various flavors of multi-developer work areas, and they've all been unmitigated disasters. The only thing that works is to have private offices. They don't need to be big or have views, just walls that go to the ceiling and a door to close when you need to work without distractions. It's tough to imagine an environmnet worse than sitting at a big round table with 3 other devlopers. Obviously the person that suggested it has never actually tried to write code.

Virtual meetings (1)

PPH (736903) | more than 3 years ago | (#31963100)

Hold virtual meetings. Everyone picks their own theme and avatars for their co-workers.

Zippy the Pinhead seems to be a pretty popular choice for the boss.

Offices, not cubicles. (1)

jcr (53032) | more than 3 years ago | (#31963108)

If you want them to get code written, don't treat them like cattle.


Peopleware / Backs to Walls (1)

tildeequals (1743774) | more than 3 years ago | (#31963116)

The famous Peopleware (by Demarco and Lister) has a chapter on this. It brings up a lot of good considerations. The gist of it is that they recommend asking the developers. That's a great place to start, but I've found that a lot of the developers I've worked with are either too young to have much of an opinion about this or too old to think of any solution other than the solutions they've seen in the past. Whenever I've done this in the past (for groups of 2 to 20 people, most of whom were usually developers), I've tried to give everybody his or her own desk but keep people's backs to the wall. I've found that, if nobody can sneak up on you or see your monitor, your working space feels more private. That sense of privacy helps folks concentrate a bit better. Also, if everybody's back is against the wall, it means that everybody's facing the middle of the room, which helps a bit with impromptu discussions. The downside of the backs-to-walls approach is that there's a lot less open space. You probably need about 100 square feet per developer to make it work well.

Private Offices (3, Insightful)

schnablebg (678930) | more than 3 years ago | (#31963122)

I'm with Joel Spolsky on this one. Private offices. If you can't swing that, *please* do not do the round table. Programmers need to concentrate! Some here here [joelonsoftware.com].

Get private offices (1)

drew_eckhardt (30709) | more than 3 years ago | (#31963134)

Private offices are far less expensive than the cost to productivity from open office environments.

1. IBM Research studied the problem, and found that engineers are 40% more productive in quiet private offices than open environments. At a fully burdened annual cost of $100-$200K per engineer open seating could cost you $120,000-$240,000 a year.

2. It can take fifteen minutes to enter a mental 'flow' state. Once you get a high enough interrupt rate it's difficult to get anything done until people go home for the day.

3. Open offices encourage unnecessary communication. Where people might find answers themselves they ask their co-workers because it's easy thus saving minutes for themselves at the cost of up to fifteen minutes from their co-workers.

Themed Arrangements (2, Funny)

Jeff Archambeault (41488) | more than 3 years ago | (#31963156)

The NORAD Command Center in "War Games" was always a favorite of mine, but Starfleet(tm) Bridge or Engineering could be fun too. Folks could have uniforms of differently colored company polo shirts.

A generic command post with visitor theater above it might be intriguing.

Replicating part of the cubical farm in The Matrix could just be an interesting "after-work" team-building project.


Re:Themed Arrangements (0)

Anonymous Coward | more than 3 years ago | (#31963320)

Starfleet(tm) Bridge or Engineering could be fun too -- as long as you are not the new generic crewman wearing a red uniform. The wiring on the bridge would fail UL/EC/CSA or any standards in the civilized world.

I would rather stay in sick bay as it seems to be the safest part of the ship and "Hello Nurse!"

What works for one (1)

Tjp($)pjT (266360) | more than 3 years ago | (#31963166)

What works for one may not work for others. Do they all work on the same projects, do their personalities mesh, do they work on independent projects, and how much of the time, does the company enforce strict working hours? You kind of get the point. Some companies value the creative aspects of developers, some bury that and just want coders. What is you have?

Given unlimited space and budget I'd create a warren for them four or five offices with closable doors surrounding a conference table that is used solely for the developers, not shared to other tasks, put up a white board or better technology that captures the scrawls too, and make sure the conference table area support the local variety of network, not a problem if WiFi is permitted, but security concerns may require a post of hardwired ethernet connections. There should be plenty of space around the conference table so developers not involved can easily exit and enter their offices. This gives space to collaborate with team members and privacy when the developers need it to be distraction free. Visually think of lining a room with the offices and having say 20 feet of clear space in the middle to place a small conference table in. Want the developers to work through lunch or late nights during crunch time, make space for a small refrigerator. Put a microwave on top and include a water cooler (with hot water as well) and keep a spare bottle of water next to it. If the company really supports developers with small perks include an honor snack box and free coffee and tea ... So, to recap. Provide privacy so they can think. Provide space for them to collaborate ... Contrary to some people's thoughts there are people and there are tasks where one person is the better solution.

And anyone looking for a CTO or looking to invest in a startup, let me know! I know how to get development done.

In order of preference (3, Insightful)

Crash McBang (551190) | more than 3 years ago | (#31963186)

1 - office w/door, see joel on software for an example
2 - cubicles w/entries facing a common area
3 - bullpen, desks in middle of room

Above all, have the team and management agree on a daily 2 to 3hr 'core time' when there are no conversations, pages, phones, meetings, or other distractions.

If everybody buys into core time, the cubes vs. offices, etc. will become a non-issue.

cul-de-sac offices with common area in center. (1)

emptybody (12341) | more than 3 years ago | (#31963198)

a cul-de-sac of offices with doors facing inwards and an open wide hallway down the center with a common workspace and large conference room style table for teamwork. each dev can go into their offices and close the door for heads down or pair programming. leave it open to passively participate as a group, work at the group table for team exercises.

at the ends of the cul-de-sac place bookshelves, white boards and a video screen for demo/group presentations. use rolling whiteboards, flip charts/postit charts.
add a remote video cam with audio and you can include folks from offsite.
put a conference phone in the center of the table.

Own office (1)

endrs (157462) | more than 3 years ago | (#31963218)

Do you want productivity? Let each coder have his own office, with a door. Joel on Software have more. I so totally subscribe to this view. What happens in any other environment is that people have to use load music on their earphones to block out the sound, to get into the "flow". You seriously want your coders in flow.

Facing each other with dividers (1)

mjensen (118105) | more than 3 years ago | (#31963224)

Put the desks facing each other, but with a wall at 5 to 6 feet high between each. They can have the privacy they may want, and to ask others opinions, they can call out or stand up.
Or ask them, but be prepared for 1 to say "Open" and another to say "Closed" and 2 to not care.

DO NOT USE A ROUND TABLE!!! (3, Interesting)

Mr. Freeman (933986) | more than 3 years ago | (#31963240)

This doesn't have to do with management or efficiency due to social interaction, but do NOT use a round table like you mentioned in the article. Have you ever worked at a table that's round? Try it. There's a reason desks are RECTANGULAR. Your arms can't be supported on a circular table because the section under your elbows is missing due to the geometry of a circle. It sucks and causes massive arm pain. I don't care how efficient it makes your developers, your productivity will drop like a fucking stone if they're constantly bothered by pain in their arms.

Use a RECTANGULAR table if you want to fit 4 or more people around a desk.

The bosses should try the roundtable arrangement (1)

melted (227442) | more than 3 years ago | (#31963274)

The bosses should try the roundtable arrangement. They do nothing but BS all day anyway, might as well choose a layout that's conducive to what they do.

Developers MUST have a door which they can close when they need to concentrate. Anything else is torture and a waste of perfectly good brains.

Bad, bad, bad idea. (0)

Anonymous Coward | more than 3 years ago | (#31963286)

It would totally stress me out. Just the thought that my blank stares when thinking about a problem would not hit an empty wall or a window, but someone's face... horror.

Reverse round table worked well (0)

Anonymous Coward | more than 3 years ago | (#31963304)

My favorite seating arrangement was in a room where each developer had a small partition to himself, facing the wall, with no "back" - so nothing blocking the view to the center of the room. The partitions on each side of a developer were just big enough to be like "blinders", where you couldn't see other people when working, but one could easily roll the chair back a few feet and have a view of everyone. The center of the room had several small tables that could be pushed together for a large conference, and one of the walls had several large whiteboards. Putting on some decent headphones made for good zoning in your own workspace, but you could still see and hear everything else if you wanted to.
As for productivity, it was quite high since all the monitors faced the center of the room, and so could be easily seen. People could easily show their screen off to get help, and couldn't easily hide their idle deeds from coworkers. Peer pressure is a good motivator.

Post's never coded in his life (1)

timmarhy (659436) | more than 3 years ago | (#31963316)

anyone who has spent 12 hours a day chained to a computer programming or problem solving, knows having your own office is by far the best.

you can shut out noise and distractions. if this round table idea is some management idea to stop goofing off, then forget it. something some managers just can't get, is that you CAN NOT stop people goofing off if they want to.

if own offices isn't possible go with cubicals, a round table in a meeting room, and buy them noise canceling headphones.

why the headphones you ask? firstly because it'll allow them to escape the guy beside them blowing his nose or whistling some annoying tune, but it'll also instill a sense in them that you actually care about their output, and when people feel that they'll work harder and not feel like your just milking them. for $500 it'd be a sound investment.

No one right answer (1)

QuestorTapes (663783) | more than 3 years ago | (#31963324)

I worked on a couple of different teams for one company, in different office situations.

In one, 8 of us were in one common room, and we worked well together. Originally, we were all facing the walls, but we all agreed and moved the desks so we were facing one another. It was great; close group, close spacing, got along, worked well together.

Later, in the same company, in a different group, just three of us in a larger room. One of the guys snagged a conference room for a week just to get some work done. One member of our group was a "social butterfly." Loud conversations, all day long. Impossible to concentrate. Very limited knowledge of technology, always undoing the good work done by others.

I work now with some folks who are productive later in the day; in the morning they socialize, loudly. I work best early. It's unbelievably difficult to concentrate sometimes. Sometimes people need closeness, other times they need space. Particularly if work and personal styles don't mesh.

It's not the "most productive arrangement" that matters. It's the most productive team. What's best for the individuals that make up your group? Talk to -them-.

Smells like Management Fad to me (2, Informative)

dpbsmith (263124) | more than 3 years ago | (#31963326)

The idea that the seating arrangement matters much smells to me like Management Fad.

You say "In many offices and departments it increases productivity and makes collaboration easy." Is there a shred of data to back that up?

In Peopleware, DeMarco and Lister concluded that there was only one variable that correlated with programmer productivity: number of square feet of office space per programmer. If so, then to the extent that seating people around a round table puts them closer together, it will reduce productivity.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account