Slashdot Mirror


Best Seating Arrangement For a Team of Developers?

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?"

106 of 520 comments (clear)

  1. can we tag the article flamebait ? by Anonymous Coward · · Score: 4, Insightful

    can we tag the article flamebait ?

    1. Re:can we tag the article flamebait ? by ModernGeek · · Score: 2, Insightful

      No, it's a good question. I think that a U shaped desk with everyone facing the wall and a big desk in the middle would be great. That way people can see each others screens and talk to each other. I do recommend that developers have a chance to get away and be by themselves though. People need privacy, and while collaborating in the open is great, they also need freedom to walk away and go somewhere else. The idea that someone has to be in a certain area for a designated amount of time is madness. People should be able to go where they want as they see fit, without being hounded. This is why I love working for myself, I feel free and happy, and would never go back.

      I was expecting to see ASCII art of desk arrangements and floor plans.

      --
      Sig: I stole this sig.
    2. Re:can we tag the article flamebait ? by Schmodus · · Score: 2, Interesting

      OMG. I hate this setup. It's like a computer lab at a university, but if the walls are all windows then it could work.

    3. Re:can we tag the article flamebait ? by ModernGeek · · Score: 2, Interesting

      Personally, I like my back to the wall, but when it comes to collaboration, being next to someone is the best. At my old office, I had one long desk that me and another manager shared so that we could talk and see each others screens. We both had our backs to the window, and faced the door. It was a second story window, so I wasn't so scared of getting my back stabbed :-)

      --
      Sig: I stole this sig.
    4. Re:can we tag the article flamebait ? by plover · · Score: 4, Funny

      It was a second story window, so I wasn't so scared of getting my back stabbed :-)

      I'm far more worried about my boss doing the back-stabbing than a stranger through a window.

      --
      John
    5. Re:can we tag the article flamebait ? by JWSmythe · · Score: 5, Interesting

          The last gig I did, I sat opposite the other developer who I needed frequent contact with. Everyone else got me by email, and I would initiate return phone calls. This avoided unnecessary interruptions in my workflow, and I could queue their requests to allow me to optimize my time.

          In the past I've used similar setups. Do all the developers need almost constant face time with each other? Probably not. Then why stuff them in the same room?

          At one company, everyone in the same office suite had their own office. That was maybe 1/3 of the development and systems staff. The rest were around the world. Communications were generally by email, except when live interaction was required. This kind of setup worked very well for me, so I could be at home, the office, or the datacenter, and there was no interruption to my workflow, except when I was traveling. It all worked out very well. It didn't matter what timezone someone was sitting in, the communications flow worked fluidly. That was a situation where all of the members of the crew were very good at their tasks, and didn't have to ask for help for stuff very much. Communications were limited to status updates and functionality interaction statements. Well, we'd BS sometimes, which was good for morale and to get to know each other better. I worked with a developer in Russia for probably two years before I ever heard his voice, and never did see him in person. I did know his work was accomplished properly, and his requests to me were usually "I need this functionality on these servers." I may ask for clarification, but since he knew what he was talking about his request were usually very clear.

          I guess if you have a team who are going to have lots of questions because they aren't totally clear on what they're doing, stuffing them all in a room is a good idea. A well thought out and documented project plan would alleviate a lot of those problems though. I can imagine a room with 10 developers who can shout questions to each other would create an amazingly high amount of unwanted distractions. Verbal communications also reduce the paper trail. If everything is done via email, no one can say "I asked you for ..." and it wasn't done because it hadn't actually been asked for. The simple "You requested X at 3:30 and I responded it was completed at 5:00" is amazingly useful down the line. It completely eliminates mistakes in memory where we thought something was asked.

          I've annoyed a few people before where I've told them to always email the requests to me. When they've failed to do so, but insist that they did ask for it, I can usually recite the conversation verbatim, and then they'll remember that they had only intended to ask for it, and never actually said to do it. That's usually enough to initiate the email papertrail so the same mistake doesn't happen again.

      --
      Serious? Seriousness is well above my pay grade.
    6. Re:can we tag the article flamebait ? by Cylix · · Score: 3, Funny

      Good man. Keep your enemies close.

      --
      "You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
    7. Re:can we tag the article flamebait ? by ModernGeek · · Score: 3, Funny

      Yeah, but my boss is a ninja.

      --
      Sig: I stole this sig.
  2. Why not by toxygen01 · · Score: 5, Insightful

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

    1. Re:Why not by caffeinemessiah · · Score: 4, Insightful

      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.

      --
      An old-timer with old-timey ideas.
    2. Re:Why not by pclminion · · Score: 5, Insightful

      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.

    3. Re:Why not by AuMatar · · Score: 5, Insightful

      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.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    4. Re:Why not by eonlabs · · Score: 5, Interesting

      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.

      --
      I wouldn't consider the mad hatter mad. Just reality impaired. He sure can make a mean cup of tea.
    5. Re:Why not by Grishnakh · · Score: 5, Insightful

      I work under these conditions, and I'm looking for a new job. Unlike the other freaks on here, I do NOT like a work environment where I have zero privacy, where I get distracted every time someone walks by or a big crowd gathers around a neighboring engineer and has a loud conversation, and where I can't have a private phone conversation without everyone in my group hearing every word I say. Worse, this company has very few conference rooms, so it's frequently hard to find a private place to talk on the phone during breaks, and I end up in the hallway half the time (as do many other people).

      Generally, the work I do is individual, though sometimes engineers will ask each other questions. I've worked in offices with standard cubicles before, and that arrangement is FAR preferable. It's not hard to stand up and go to someone else's cubicle if you have a quick question, and is good for your body too. Having a bit more privacy and quiet helps productivity immensely in people who are quiet and introverted by nature.

      Generally, it's the stupid loud-mouth extroverted bosses who come up with these stupid seating plans, and think it's wonderful for productivity, yet they themselves have their own walled offices. Can you say "hypocrite"?

    6. Re:Why not by BikeHelmet · · Score: 4, Insightful

      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.

      Or maybe they are the best developers. Look up Asperger's syndrome.

      And yes, ask them. Also, be prepared to possibly replace the desk(s) if it doesn't work out.

    7. Re:Why not by Odinlake · · Score: 4, Interesting

      I've been in all sorts of offices. I actually prefer sharing a larger room over having my own tiny one or a cubicle, but of course there shouldn't bee too many peopl or there will just be constant chatter. So given that, a medium room with a handfull of pepople, I strongly dislike having my desk face a wall and my back to the room - it has only disadvantages. Mostly it's unnerving to have people moving around behind you. On the other hand facing the room has only advantages for me - it's more social, no one sneaks up on you and at least personally I'm not the least distracted by seeing things move around. It's the sounds that may be bothersome, but seeing what makes the sounds actually ameliorates the issue a bit.

    8. Re:Why not by Bob_Geldof · · Score: 3, Interesting

      I guess that works if you enjoy working in a panopticon. One of the most aggravating things is to have your back to everyone else in the group, headphones blasting to drone out the ambient noise (three programmers in a room with 14 servers/workstations and A/C), and then get surprised from behind by someone like the boss. Never sit with your back to the door. Isn't that how James Butler Hickok went out?

      --
      887321 = 337*2633
    9. Re:Why not by WRX+SKy · · Score: 2, Insightful

      Spot on sir. Different strokes for different folks. What we did (and it works wonderfully), is give everyone laptops and set up several areas with docking stations. Some are round tables, some are cubes, some are open work areas... then just let the employee choose their seat as the current project demands.

    10. Re:Why not by Blakey+Rat · · Score: 4, Funny

      Use a staged plan:

      Week 1: Set each developer across from a failed 80s comedian. Yakov Smirnoff, Carrottop, Gilbert Gottfried.

      Week 2: Remove the comedian.

      Note that regardless of your seating arrangement, you'll get an unimaginable boost in productivity during week two.

    11. Re:Why not by Anonymous Coward · · Score: 2, Informative

      I work under these conditions, and I'm looking for a new job. Unlike the other freaks on here, I do NOT like a work environment where I have zero privacy, where I get distracted every time someone walks by or a big crowd gathers around a neighboring engineer and has a loud conversation, and where I can't have a private phone conversation without everyone in my group hearing every word I say. Worse, this company has very few conference rooms, so it's frequently hard to find a private place to talk on the phone during breaks, and I end up in the hallway half the time (as do many other people).

      This exactly. We have these "desks" that are arranged like this: one low, straight wall down the middle (you can peer over it while seated, it's that low) with desk space on both sides. There are two or three people on either side of the desk per row. You have exactly zero privacy, you can hear everything, and there's no cover or protection from someone sneaking up behind you (you may laugh, but it's really hard to focus when you know that someone might come up behind you at any moment)

      So far, the turnover for our programming division has been nearly 100% over six months or so (the only guy who hasn't left is the guy who's up high enough to have an office). In fact, the company is currently hiring some contractors, just because they can't find programmers willing to work in these conditions. I'm not sure who made the decision to install those horrible desks, but I have suspicions it was one of those aforementioned extroverted bosses.

      The thing is, it does work for other people. The various divisions have loud arguments over the fine points of their respective specialities, people shoot each other with Nerf darts, people toss fake footballs. I'm even fine with it because I'm currently on-site tech support, so it's my job to be interrupted all the time. The corporate culture doesn't really care if you watch a bit of South Park or YouTube or read Slashdot, so privacy for those things isn't an issue.

      The problem is that the good programmers will see this floor plan, and go somewhere else. I'm not sure anyone realizes this.

    12. Re:Why not by CliffLandin · · Score: 2

      I think you should ask the developers, as well. I was in this situation a couple years back and I pushed for the 4 desk quad with the low ( 1 foot ) wall dividing desks. We didn't find it to be a distraction, rather we felt that it made collaboration much easier.

      --
      When in doubt, go flat out!
    13. Re:Why not by uncqual · · Score: 4, Insightful

      It's so sad that our industry has gotten to this point where the discussion is not over "offices vs. cubicles" but over "bullpen layout A vs. bullpen layout B". Most of development work is actually solitary and productivity and quality (in the terms of correctness) benefits from the ability to concentrate, which in turn is much easier when there are fewer distractions.

      Much (probably most) of my career I've had a private office and, compared to those times I was in a cubicle bay, I got more work and better quality work done in the office environment. Although, that may be not entirely due to the office vs. cubicle difference as the companies that gave offices to developers were also understood more about what developers needed to be productive - less PHB MBA crap and heavy handed IT rules etc.

      The need for continuous collaboration suggests that interfaces are not well documented or perhaps even well defined and/or the system/feature architecture is not well thought out. It also suggests that too much information is "in people's heads" -- and hence the company will incur unnecessary expense if one or more people get hit (very hard) by a bus (or, I suppose, a buss) or leaves the company. This isn't to say some collaboration isn't necessary (certainly for brainstorming about design issues and for the occasional "WTF is this code trying to do and why?") - indeed, if no ad hoc collaboration is needed, I suspect that too much effort has been expended on design and documentation. There's a happy medium.

      So, the answer to the original question is "Yes, every workspace needs to be surrounded by floor to ceiling walls except for a door that closes! I once worked at a company which was locating to new facilities which were being built out for us. The facilities folks decided that cubicles for all was the answer. The developers pretty much stood up and said "over our dead bodies" and in the end all developers had private offices except for very junior ones (this actually made some sense because the less experienced one is, I think the more likely one is to learn from "random chatter" vs. be distracted by it - the first discussion you overhear about cache coherency models is much more valuable than the 30th one). Funny thing was, I noticed that even the facilities folks mostly had their own offices in the end - even though they were the ones arguing that wasn't necessary and citing studies that cubicles were more productive!

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    14. Re:Why not by uncqual · · Score: 2, Insightful

      How do you get your reptile brain to turn down the fight or flight response?

      You don't - you just invoke the fight response and shoot the people behind you - problem solved.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    15. Re:Why not by Lakitu · · Score: 2, Funny

      Generally, it's the stupid loud-mouth extroverted bosses who come up with these stupid seating plans, and think it's wonderful for productivity, yet they themselves have their own walled offices. Can you say "hypocrite"?

      not if other people are in the room

    16. Re:Why not by farmkid · · Score: 2, Insightful

      ..."Unlike the other freaks on here, I do NOT like a work environment where I have zero privacy, where I get distracted every time someone walks by or a big crowd gathers around a neighboring engineer and has a loud conversation, and where I can't have a private phone conversation without everyone in my group hearing every word I say."

      I generally agree -- over several decades, most of my projects were implemented by small groups, where personal space is important. Much to my surprise, however, I found that a group room worked very well on one large project. Mind you, the reason it worked may have been project specific, but for what it's worth:

      It was a big integration project, with both infrastructure and application people needing immediate problem resolution -- about 30 developers total. We set up a LARGE conference room with a U of tables around three sides. There were a couple of tables in the front for meeting leaders (for the infrequent meetings and conference calls) and, just as importantly, extra stragglers.

      The groups arranged themselves informally around the U, with related team members close to each other for quick-over-the-shoulder consultation, and with the other groups in easy reach for cross-disciplinary issues. There was little management 'interference' (though, of course, they checked in), 'cause they trusted the teams to work out the details.

      Through many previous (and smaller) projects, I've preferred to work alone, and I was surprised at how well this worked out. We spent about three months at 10-12 hours a day (yes, five days a week, so we could decompress), and much to my eremitic amazement, even I felt that this arrangement worked very well for a project that was complex and reaching deadline.

      Thoughts on arrangement: First, no close face-to-face stuff. We had about 20 feet between opposing sides of the U, so this was a non-issue. Secondly: no back-to-back (classroom style). This not only leads to looking-over-your-shoulder syndrome, but also a reduced face-to-face invitation for collaboration.

    17. Re:Why not by hobo+sapiens · · Score: 5, Funny

      We're the developers of the round table
      we code when we're able
      we eat pizza with cheese
      work when we please
      and we don't act real stable

      on second thought...this is a silly post. Let's not go there.

      --
      blah blah blah
  3. What's an office? by toastar · · Score: 5, Funny

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

    1. Re:What's an office? by Locke2005 · · Score: 3, Funny

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

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    2. Re:What's an office? by Anonymous Coward · · Score: 2, Funny

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

    3. Re:What's an office? by TheKidWho · · Score: 2, Insightful

      They're usually less clothed at the beach.

    4. Re:What's an office? by AuMatar · · Score: 2, Insightful

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

      --
      I still have more fans than freaks. WTF is wrong with you people?
    5. Re:What's an office? by BobPaul · · Score: 4, Funny

      I dunno. Strip joint sounds like an awful long way to go for porn. Don't they have internet at work?

      If it's good enough for SEC Lawyers, it should be good enough for engineers...

  4. Isolation Doesn't Increase Productivity by Jhyrryl · · Score: 2, Insightful

    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.

    --
    Jhyrryl
  5. Sierpinski carpet by nacturation · · Score: 5, Funny

    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.

    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    1. Re:Sierpinski carpet by Anonymous Coward · · Score: 2, Funny

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

    2. Re:Sierpinski carpet by Dahamma · · Score: 4, Funny

      Or get desks of different dimensions...

      Yeah, and if you use 4 dimensions, they could all occupy the same space!

  6. Non sense by AthleteMusicianNerd · · Score: 5, Informative

    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.

    1. Re:Non sense by AuMatar · · Score: 3, Insightful

      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.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    2. Re:Non sense by Symbha · · Score: 3, Informative

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

    3. Re:Non sense by JT+The+Geek · · Score: 2, Interesting

      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.

    4. Re:Non sense by AthleteMusicianNerd · · Score: 2, Insightful

      Developers need a quiet place to go if they need to concentrate and get something done. I work in a lobby right now, and I'm disrupted constantly. Fortunately, my job is a joke and I can get stuff done well ahead of schedule. If I had more interesting work to do that required concentration and I got a lot of pressure to get stuff done, I'd walk right out of this office and find a new job. If you have developers that will screw off with an office, you should consider firing them and finding decent ones.

      If you have newbs that are learning to program, then they need interaction. Other than that, interaction with other programmers should be extremely brief...say 5 minutes. Your code should communicate what it's doing.

    5. Re:Non sense by Protocol16 · · Score: 4, Interesting

      There is a happy medium: http://www.joelonsoftware.com/items/2008/12/29.html Part office, but not all the way.

      --
      Don't click here...
    6. Re:Non sense by Darinbob · · Score: 2, Interesting

      You get to know and interact with people in meetings. You don't need to interact with them when you're trying to work.

      Best environment I was ever in was when everyone had their own office (literally, the only people with cubes were sales or out-of-town prof services). When you wanted a meeting you didn't need to find a conference room since you could get 2 or 3 into an office and shut the door and have a discussion. If you wanted privacy you shut the door; if you didn't you kept the door open. There was a lot of collaboration under this scheme, everyone knew each other, and everyone interacted with each other.

    7. Re:Non sense by uncqual · · Score: 2, Insightful

      Umm... that "sales and all the other riffraff" probably actually have a clue about how customers are using your product and/or why prospects are/are not buying it and/or why it is/is not meeting their needs. Yep, you need to keep the price of entry a little high, but I'd much rather talk to a good SE, support or sales person about the product than be distracted by some developer bragging about his clever (NOT) solution for problem X or pontificating about some non-work related topic (I expect some non-work related chatter, it's just that two people chattering for a few minutes in one of their private offices gives them both a break but if they do it in a room of ten people, it distracts eight other people)

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    8. Re:Non sense by Jane+Q.+Public · · Score: 2, Interesting

      It depends entirely on your programming situation. I have worked in Agile shops, where pair programming is put to very good use. If done properly, it is quite a bit MORE productive than two independent programmers. (Truth. I am not going to go look up the studies but there have been some, and that's what they show. And my own experience confirms it.)

      But the key words are "if done properly". Just stuffing two programmers on the same desk is, as you say, a good way to not get stuff done.

    9. Re:Non sense by Tridus · · Score: 2, Insightful

      "Having separate offices does not in anyway cut down of non-work related conversations. "

      It does cut down on person A's chat with person B interrupting and annoying person C. The problem with groups of people together is that any two talking are interrupting the entire group.

      I could never get anything done in a setup like that, you can have my office door when you pry it from my cold, dead hand.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  7. Scientific Evidence by Anonymous Coward · · Score: 5, Interesting

    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.

    1. Re:Scientific Evidence by e9th · · Score: 2, Interesting

      The door becomes a useful indicator of your willingness to be disturbed.

      Closed: Go away unless the situation is dire. I'm doing a performance review, interviewing an applicant, etc.
      Ajar: I'm concentrating, but if it's important, I'm available.
      Open: Let's talk.

  8. Best seating for 4 developer productivity? by Locke2005 · · Score: 4, Insightful

    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.

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
    1. Re:Best seating for 4 developer productivity? by dubbreak · · Score: 5, Informative

      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.

      --
      "If you are going through hell, keep going." - Winston Churchill
  9. Wha? by raddan · · Score: 5, Insightful

    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.

    1. Re:Wha? by andr00oo · · Score: 5, Funny

      Fuck your bosses.

      Well, that's one way to get ahead....

    2. Re:Wha? by crazyvas · · Score: 2, Funny

      Fuck your bosses.

      Well, that's one way to get ahead....

      Well, that's one way for your boss to get head...

  10. Use a square and face outward by bradford3454 · · Score: 5, Insightful

    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.)

    1. Re:Use a square and face outward by ducomputergeek · · Score: 2, Insightful

      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.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    2. Re:Use a square and face outward by KoshClassic · · Score: 2, Insightful

      Agree completely - I've sat in all sorts of office situations - shared a "private" office with other developers, individual cubes with high walls, low walls, etc. The best arrangement is the bullpen - 4 developers with their backs to one another but a circular table in between them. Its a great balance between privacy and being able to collaborate when they want to.

      --
      Understanding is a three edged sword. - Ambassador Kosh Naranek, Babylon 5
  11. Cubicles by Anrego · · Score: 2, Insightful

    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...

  12. Shared offices by xenoc_1 · · Score: 3, Insightful

    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.

  13. Sickness by toolo · · Score: 4, Interesting

    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.

  14. An office by 19thNervousBreakdown · · Score: 4, Insightful

    Jesus God stop trying stupid shit just leave me in peace you fucks.

    --
    <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    1. Re:An office by raddan · · Score: 4, Funny

      Wow, talk about having an appropriate username. What happens when you hit 20?

    2. Re:An office by Fnkmaster · · Score: 4, Insightful

      What the fuck is with these moronic companies that hire all these software engineers and then cheap out when it comes to physical plant? I mean, you must pay these guys 60-80k a year each, plus benefits. Figure 4 of them cost you 400k a year total, when you include cost of benefits.

      Why in the hell would you want to cram them all into 100 square feet of bullpen shit cube space and waste at least a hundred thousand bucks a year worth of productivity? Lease expense for even the finest of office space is what, 30 bucks a square foot a year, so to give them 400 square feet of space (four 100 square foot offices) costs you at most an extra $9000 a year for the whole team in question.

      That's about 2% of what you are spending on these 4 developers each year. It's a fricking rounding error. Shit, if it makes them happy and gets them to be even 5% more productive, it's well worth it. In reality, the difference between a non-productive, noisy office environment and a productive, happy quiet one is more like 50%-100% from my personal experience.

  15. Re:It all depends... by girlgeek54 · · Score: 3, Informative

    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.

  16. Aspergers much? by kosmonot · · Score: 3, Insightful

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

  17. Backs to each other, table in center by Eponymous+Bastard · · Score: 3, Insightful

    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.

    Pros:
    - It was easy to talk to each other.
    Cons:
    - 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 :) )

  18. Good plan by TiggertheMad · · Score: 4, Interesting

    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.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:Good plan by nschubach · · Score: 5, Interesting

      The current situation I'm in: (Yes, it's a rant...)

      I sit in a half cubicle (where the wall only wraps the desk and no more and it's short enough to peek over without standing) and right next to me is my boss. Everyone else on our team is in different states. My desk also happens to be right next to the break room where people religiously burn popcorn, microwave fish, and speak to each other as if they are in a stadium because the television is turned up loud enough to drown out said people. There is someone about 12 feet behind me in a similar such cube whom I constantly hear sucking on one of those water bottles and randomly taking a bite out of an apple or other similar food product. I get a whole 5 minutes a day to do something that's not "work related" because someone thought it would be a great idea to take our Scrum process and turn it into a timesheet detailing what we did the previous day and if we don't account for at least 6 hours of work, who knows what will happen. But we are asked on our Scrum meetings to justify at least 6 hours of work.

      My only solitude is late at night when most of the people have gone home, and that's when I get the most work done.

      We used to be able to work from home, but some idiot decided it would be best to move to a VPN system that requires system validation to determine if you are on a work Laptop before granting you access to RDP to your own PC and I am not in a line of work that "requires a laptop." Said VPN system limits me to only browsing web pages. Big waste of time and resources since they are paying for my RSA token and account access that I can no longer use.

      My suggestion for the OP... ask your developers. If you have the chance to give your developers a choice, DO IT! Then ask them again in 6 months to see if the situation is working. Above all, give them a chance to find a quiet place and don't force them into an open arena where people are constantly looking over their shoulder.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    2. Re:Good plan by buchner.johannes · · Score: 5, Insightful

      There is some group goofing off that occurs, but no more so than any other work arrangement I have seen.

      Best arrangement I have seen:
        - 2, maximal 3 people per room
        - large desks, large monitors
        - keep it quiet, put some plants there
        - make it easy to collaborate without interrupting people (e.g. Instant messages*)
        - Block Youtube et. al., they eat your time

      * Instant messengers allow you to signal when you want to be left alone, and the program postpones showing you incoming messages.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    3. Re:Good plan by safetyinnumbers · · Score: 3, Funny

      My desk also happens to be right next to the break room where people religiously burn popcorn, microwave fish,

      There could be another reason for that: http://www.dilbert.com/strips/comic/2008-11-02/

    4. Re:Good plan by MikeFM · · Score: 3, Insightful

      I just got into our network gear and routed an external IP to an internal system of my choice with my own VPN software installed. Who the heck uses the network access their boss decides they need? Are we geeks or not!?

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    5. Re:Good plan by Abcd1234 · · Score: 2, Interesting

      Best arrangement I have seen:
          - 2, maximal 3 people per room
          - large desks, large monitors
          - keep it quiet, put some plants there
          - make it easy to collaborate without interrupting people (e.g. Instant messages*)
          - Block Youtube et. al., they eat your time

      I was with you up until that last one. Eliminating the ability for developers to take mental breaks is a great way to just piss people off. If your developers aren't disciplined enough to control their Youtube watching, such that it impacts project deadlines, you have far bigger problems. You shouldn't need to babysit your people.

    6. Re:Good plan by GigaplexNZ · · Score: 2, Insightful

      Regarding instant messaging, you're quite right. We've established a few habits of when to try to be online, but in practice, most people have so many problems with random unwanted messages from random stalkers that they set themselves to invisible if the client allows it. Instant messaging benefits a lot from a fine-grained access model - 'I'd like my family to be able to see that I'm online except for the hours between 9 and 5; I'd like my co-workers to see me as online between 9 and 12 and 3 and 5; I'd like that creepy woman who nonetheless happens to be an important customer of ours to be unable to detect that I am online at all, unless I specifically have to be online for a meeting with her.'

      Or, you know, have a separate account specifically for work.

    7. Re:Good plan by Bob+Cat+-+NYMPHS · · Score: 2, Informative

      You might want to reconsider doing such things - you could end up in prison.

      http://www.lightlink.com/spacenka/fors/

      "In late July 1995, a trial jury convicted Schwartz of three felony counts under Oregon's Computer Crime Law. The charges related to his activities while working as a consultant at an Intel Corporation facility in Beaverton, Oregon."

    8. Re:Good plan by mwvdlee · · Score: 3, Funny

      Like in prison, but more regularly.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    9. Re:Good plan by stephanruby · · Score: 2, Informative

      - Block Youtube et. al., they eat your time

      Don't block YouTube/Google Videos/Vimeo, they might actually need those for their job. If your developers have a problem with YouTube, tell them to stop going on it. Do not rely on technology to solve a management/employee problem. A goof off will always find something to distract him, even if he doesn't have access to youtube.

    10. Re:Good plan by teg · · Score: 2, Informative

      My desk also happens to be right next to the break room where people religiously burn popcorn, microwave fish, and speak to each other as if they are in a stadium because the television is turned up loud enough to drown out said people. There is someone about 12 feet behind me in a similar such cube whom I constantly hear sucking on one of those water bottles and randomly taking a bite out of an apple or other similar food product

      Try some noise canceling head phones - I recommend Bose QuietComfort 15, and most background noise just disappear. I've had noise canceling headsets before, but this one was leagues ahead of my old ones (in price too... but it was worth it).

      You don't have to play music for them to be useful, I often just turn them on to blank out noise. It won't protect you from emails constantly arriving, or co-workers approaching you, but it will help with noise not targeted at you.

    11. Re:Good plan by c-reus · · Score: 2, Informative

      - 2, maximal 3 people per room

      4 or 5 is ok, too, IMO but only if all of them are in the same team (QA in one section of the office, office IT in another, etc). After all, the reason why the people are organized into different rooms is to encourage them to work better as a team.

      - large desks, large monitors

      The desks should be arranged so that one person can't see other person's screen. Everyone facing towards the center of the room, for example.

      - keep it quiet, put some plants there

      Provide the employees good headphones or encourage them to buy those themselves. Have soundproof conference rooms that people can use for phone conferences or even regular phone calls. Having to listen business people talk on the phone 8 hours per day is quite horrible.

      - make it easy to collaborate without interrupting people (e.g. Instant messages*)

      This is a must. Get everyone a jabber account (set up a local server for that) or if you're into Microsoft software, use Office Communicator. Make sure every employee can contact any other employee via the instant messenger. Make sure that private contacts cannot be added, thus enforcing the "use this only for work related stuff" mentality.

      - Block Youtube et. al., they eat your time

      I disagree with this for a few reasons.
      Firstly, watching some instructional Youtube video may actually help if the employee is stuck with some problem (granted, this is not a common case but realistic nonetheless).

      Secondly, you can't force people to work 8 or more consecutive hours. Unless you handcuff me to a chair, I will take a few minute breaks every now and then either to rest my eyes from staring at the screen or get my mind off the task I'm working on. I can read the news in Slashdot or the dead-tree newspaper near the coffee machine - is there a principial difference? Punishing me for doing this is unfair and makes me question the manager's sanity.

      Thirdly, there are better ways to raise the efficiency of an employee. Have regular status update meetings (at most 20 minutes long per team) where every team member has to explain what tasks has he/she completed after the previous meeting. Constantly reporting simplistic tasks like deploying new version of some piece of software in local development environment means that either you have serious problems with the environment or you aren't trying hard enough. Either way, the manager should then go to the employees desk to see what exactly the problem is.

      Having to improvise on those meetings (inventing tasks that haven't been done for example) and sounding believable at the same time is quite difficult.It is much easier to talk about the things that have actually been done.

      If you find out that an employee is watching Youtube or reading Slashdot all day long, have a strongly worded chat with him and if that doesn't work, fire the person. By blocking various sites, you're effectively saying that you don't trust the employees to be able to manage their working time. A successful working relationship is built on mutual trust. Unless you really lock down the computers (no software installations, no browser configuration of any kind), there are ways around the block.

    12. Re:Good plan by springbox · · Score: 2, Informative

      Yes, being in an open office can be a bit noisy and distracting. This is exactly why I have these jammed in my ears all day. Of course, having a workspace with better isolation (aka an office) would be even better.

  19. Private Offices by schnablebg · · Score: 3, Insightful

    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.

  20. Themed Arrangements by Jeff+Archambeault · · Score: 2, Funny

    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.

    Whee!

    --

    Plus ca change, plus c'est les memes choses.

  21. In order of preference by Crash+McBang · · Score: 3, Insightful

    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.

    --
    To put a witty saying into 120 characters, jst rmv ll th vwls.
    1. Re:In order of preference by Darinbob · · Score: 2, Insightful

      Yeah, every company should have a slot for work time - say no-meeting Fridays, or no meetings between 10 and 2, etc. I really feel sorry for some managers who are in meetings all day, then at 5 or 6 they start doing their actual daily work load (and inevitably take it home with them so you see the late night emails).

  22. Pair coding by SimonInOz · · Score: 2, Interesting

    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?)

    --
    "Cats like plain crisps"
    1. Re:Pair coding by Darinbob · · Score: 2, Interesting

      Problem is, I write code maybe 2-4% of the time I am at the terminal. Other times I'm reading the code, and I don't need someone talking while I'm doing that, though it is nice to ask questions on occasion. Most of the time I'm doing other stuff; meetings, responding to the emergency email thread of the day, mailing people my status, mailing answers to questions, sifting through data, scrounging up tools and parts, etc.

      Also with two people at the terminal, doesn't that means you've got twice as many people doing the same job as other companies? Ie, if I've got 20 engineers all with their own areas of expertise or at least their own features/bugs to fix, I'd have to have 35-40 engineers to get them paired up this way. Seems wasteful. What does the one person put on their resume, that they spend their time watching someone else type?

      Sure, I'd love to have someone to collaborate when and where I want (and leave me alone when I don't), but who's going to pay for it?

      Also, people need to have their own computers, not shared computers in a quiet room. Then they can use their own tools, settings, etc. Doing everything from shared drives or over vnc can really slow thing down.

  23. DO NOT USE A ROUND TABLE!!! by Mr.+Freeman · · Score: 3, Interesting

    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.

    --
    -1 disagree is not a modifier for a reason. -1 troll, flaimbait, redundant, overrated are NOT acceptable substitutes.
  24. Smells like Management Fad to me by dpbsmith · · Score: 2, Informative

    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.

  25. Peopleware by QuietLagoon · · Score: 3, Informative

    If you want to be productive, buy and read the book. Better buy two copies and give one to your manager to read.

  26. Collaboration vs Privacy by michael_cain · · Score: 2, Informative

    In 25 years, with experience being both the developer who had seating arrangements dictated, and the manager of a group who had to dictate seating, I have never heard a developer complain over the long haul that individual offices on the same short hall were causing too little collaboration and cooperation between the people on the team. OTOH, there were numerous complaints that being jammed all together created large impediments to ever finding a quiet time without interruptions to think through a complex problem.

    Ask your experienced people which they prefer; someone who is six months out of school is not qualified to have an opinion.

  27. Work from home? by ChunderDownunder · · Score: 2, Insightful

    Unless your boss is big on pair programming, hire competent people and save on a building.

    As the comments re: blocking out background noise via headphones attest, frequent interruptions from co-workers do stress people out and destroy productivity. Skype/Jabber can substitute for brief chats. VNC can substitute for showing a problem on someone else's machine. Record incidents by screencast for bug reporting - Often far more productive being summoned to a co-worker's machine to view a problem that is then mysteriously not reproducible at that precise moment.

    Having worked on a project with staff in multiple timezones I can relate that 'the process' is more important than cramming as many people into a physical location.

    Oh, and commuting sucks. Flexible hours from home fit in better with modern family life than worker bees who leave home at 8am and return at 6pm. I for one would prefer the Spanish model of a mid-afternoon recharge...

  28. Re:Distraction is healthy by DaMattster · · Score: 2, Insightful

    Honestly, what is wrong with letting your software engineers/developers work from home? Collaboration tools are omnipresent with online meetings and VOIP that the office is almost an anachcronism. Unless, your egineers double as desktop support, working in an office is almost superfluous.

  29. Bull pens and War rooms? Stink 'em out! by Wansu · · Score: 2

    Oh yeah, been there done that. It's distracting. It's designed to intimidate people so they don't goof off.

    The way to stop this is load up on beans, mexican and indian food. Cut farts that peel the paint off the wall. Maybe get a contest going with a likeminded coworker. It's biological warfare.

    --
    Wansu, th' chinese sailor
  30. Join the My Work program by nanospook · · Score: 2, Insightful

    The best seating arrangement is for each developer to work at home!

    --
    Have you fscked your local propeller head today?
  31. getting in the Zone by v1 · · Score: 2, Interesting

    Most coders perform best when they are "in the zone", free of distractions, free to concentrate on what they are doing. Focus is important. Coders don't need all day to collaborate, distractions throughout the day are highly destructive to productivity. There NEEDS to be collaboration, but not while you're trying to code. That's what morning meetings are for. Get your communications out of the way, discuss what the goal for the day/week/month is and what's the progress, and then split up and get it done.

    If people have an easy opportunity to knock my out of my Zone every 10 minutes to ask a question or bounce an idea off my, I won't get anything done. And what I DO get done will be lower quality. When someone DOES do that to me, I drop what I am doing, completely. I give them whatever interaction they want, and make it crystal clear to them that they have COMPLETELY stopped my work while I interact with them. Trying to multitask a discussion requiring any amount of thinking breeds bugs faster than a bowl of Alpo on a cockroach farm. After they're done, I take a deep breath, try to remember where I was, and work my way back into my Zone and pray Susy doesn't wander back in 20 minutes with some followup questions. Most people quickly come to understand that the work I do is not compatible with multitasking and interruptions, and are more careful about when they interrupt my work. All of the managers I have had understand how this works, and will politely suggest to the coworker "couldn't this have waited until tomorrow morning?", when they'll find I'm MUCH more social.

    Or maybe you're one of those rare few that can carry on a conversation and code flawlessly at the same time. Not me, not many of us. Face it, limited autism is conducive to good code. ;)

    --
    I work for the Department of Redundancy Department.
  32. Spartan is best to focus the mind by symbolset · · Score: 5, Insightful

    I think the ideal arrangement is a C3000 max config blade cluster tower driving 8 40" LCD displays. Preferably seating would be a motorized recliner with six degrees of freedom. There should be sufficient audio facilities to provide a pleasant working environment for the programmer. This setup should be arranged on a well lit patio next to a heated indoor pool. There should be plenty of staff to bring refreshments, fresh towels, and printouts. For ad-hoc diagrams some "sidewalk chalk" can be handy.

    --
    Help stamp out iliturcy.
    1. Re:Spartan is best to focus the mind by ijakings · · Score: 3, Funny

      Imagine a beowulf cluster of these

  33. An easy choice for me by chriswei · · Score: 3, Informative

    I've worked in quite a few different situations over the years, both as a developer and developer/manager:

    a) a shared trestle table with 6 programmers facing across each other in pairs

    b) a private office in a group of 8 offices surrounding a common area with couches and floor-to-ceiling whiteboards

    c) a low bench in the back of a semi-trailer on a folding chair (luckily only for a week of 14-hour days)

    d) a shared office with one other person

    e) a regular private office

    f) a shared office with three other people

    g) a standard 6' high cubicle farm with your back to the 'door' on busy aisles, next to the creative department with 'open plan' tables, 4 to a 'pod' all facing the center

    By FAR the best situation was b). The doors and half the wall facing the common area were glass with blinds. You could leave the door open and blinds up if you felt like being 'part of the community', or you could close the blinds and the door and turn on some music - without headphones - to focus for as long as you wanted. Discussions were held in someone's office or taken out to the common area for more of a group discussion.

    The shared offices weren't bad, as you'd establish a rapport with your office mate(s) and come to some understanding of how your mate(s) worked.

    The worst is the situation I'm in now - the cubicle farm next to the 'open-plan' teams. There's random noise all day, people having meetings in their cubicles or on the phone all day with customers. The only way to focus is to put on studio headphones and crank up the volume, and then you end up with people standing behind you in the cubicle talking at you for five minutes before you realize they're even there.

    And since it's all open, everyone feels free to shout questions to each other over the cubicle walls instead of sending an IM, walking over to ask a question quietly, or take the discussion to a meeting room. And having a conversation with one of your direct reports means scheduling a meeting room or standing out in the hall outside the office.

    Needless to say, I get at least twice as much done in a given period when I work at home. The dev team is always coming up with new excuses to work from home. And, of course, senior management, who all have nice window offices, can't understand how it could be difficult to work in that environment.

  34. Peopleware by magical+liopleurodon · · Score: 2, Informative

    To answer the question: read peopleware!! http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439

    It deals with this specifically. The conclusion that the author came to is basically that people should have offices. Cubes and "open workspaces" are too noisy and distracting. This whole thing with open workspaces came out of the 70s -- I think you had to be on drugs to think it was a good idea tbh. Education/academia found out the hard way that it didn't work, but businesses haven't figured it out yet -- all businesses look at is "if I cram this many more people into a tight workspace, I save so much more money vs renting more space" without a care to productivity. Productivity is a hard thing to measure after all, but a good effort is made in peopleware and IBM did a study as well. IBM and Microsoft give their workers offices, the reasons are inside the book.

  35. The best set-up, gauranteed by GameMaster · · Score: 3, Funny

    That's easy, the best seating arrangement is in a ring around my desk with their backs turned towards me so I can watch their monitors, at all times, and make sure they aren't doing anything other than coding. The best seats are backless stools with only one or two legs so they can't relax/loose focus without falling over.

    WHAT!? My employees love me!

    --

    Rules of Conduct:
    #1 - The DM is always right.
    #2 - If the DM is wrong, see rule #1
  36. Visual Audio isolation a must by jwhitener · · Score: 4, Interesting

    Having gone through many office arrangement fads in the last 15 years, the one thing that consistently works, when management is good, is pretty much standard cubes or offices.

    Collaboration without thought is simply placing people next to each other. Collaboration that is well thought out, is a good design process, good tools, and consistent clear management directives.

    Another thing I've found useful is to not be stingy with tools (computers, software, extra monitors, etc...) and allowing people to have multiple of whatever they want. Let programmers have their own space or office (office is ideal), with 2 computers in each. If a couple folks want to team up for an afternoon, they can work in the same office. But come the next day, when they need to go back and focus on individual areas, zero distraction is what works. Computers are cheap in comparison to the salaries you're paying.

    And lastly, the rest factor. If someone hits a wall, and just wants to zone out for 10 minutes browsing, say, slashdot:) for a while, doing so guilt-free because others can't see them is very beneficial. If instead there is pressure to work constantly, the quality of the work is going to go downhill. It has been estimated in various studies that people only do real work 5-6 hours out of an 8 hour shift.

    That occurs for various reasons. But if people are pressured/forced to work longer than that national average, you'll still end up with people only working 5-6 hours out of an 8 hour shift, wasting 2-3 hours interrupting other people or zoning out pretending to work. And zoning out on nothing is boring, and de-stimulates the mind, making getting back into work slower/harder. If instead, a person is allowed to 'zone out' on something engaging (youtube video, phone call to friend, etc..) their mind will both be rested and still turned on when they return to work.

  37. You are retarded. by iplayfast · · Score: 3, Interesting

    At first I thought you were being sarcastic, and it was modded insightful as further sillyness.

    Then I realized you were serious.

    You sound just like a PHB who has no understanding of the beauty of code.

    A programmer taking pride in his work can create much better code then an "unhappy programmer working 9 to 5 and constantly afraid of losing his job".

    I've worked in unhappy environments, and also happy ones. Guess which one I was more productive in.

    I don't know what type of sweat shop you are running but I don't think I would last there 5 minutes. I'd be gone as soon as you said assembly line. And for your information, a workhorse can't read specs, and a programmer without passion for his job will not follow them.

  38. Ask your team by Brain-Fu · · Score: 5, Insightful

    You want to know how to arrange your developers? Why in the world don't you just ask them? Why are you asking slashdot?

    Your developers know their preferences and corporate culture better than a bunch of strangers on a web forum. And they will happily tell you what they think would be optimal and why.

    I don't understand why it is so popular for managers to think that they can maximize the productivity of their team by ignoring input from the team. It is utterly ridiculous. What...are you hiring children? Bums off the street, perhaps? Retards? Or are you hiring intelligent, professional, problem-solving specialists who are predisposed to have an interest in effeciency?

    Sheesh.

    1. Re:Ask your team by Opportunist · · Score: 3, Funny

      Depends on the size of the company, in my experience. The bigger the corp, the higher the chance that they mostly hire bums that try their best to just goof off instead of doing any sensible work.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  39. Circular Tables are Bad... by paploo · · Score: 2, Insightful

    I have been working with a team of 3-6 developers for quite some time. Recently we moved offices and ended up sitting around a big round table; and our productivity went to hell as a result. It didn't take very long before the team scattered, with many people working from coffee shops or home, and the remaining devs claiming vacant desks.

    The problem is that development is done in two phases: You work with others to develop a plan, and then run off and get into "the zone" and get stuff done. The problem with "the zone" is that it is very fragile, and so all it takes is hearing two devs laughing about something through your headphones and now you aren't working either.

    In other words, putting all the devs tightly packed together all day means that every time one dev is distracted for any little reason, suddenly they all become distracted.

    If your dev team is important to your company's product and/or revenue, do everyone a favor and give them each an office with a window, as well as a common room to "hang out" in when they need to collaborate.

  40. Cubicles ripped apart by Dr.+Hok · · Score: 2, Interesting

    We (a team of 5) moved into new office space a month ago. We were put into 5 adjacent cubicles in a very large room. Which sucks: you are close enough to annoy each other by noise, e.g. phone calls, but not close enough to cooperate (which requires line of sight).

    After a few days we removed the walls separating 4 of our cubicles, which took us a good hour and created a space of roughly 4x6 meters. The walls of the resulting big cubicle are lined with small tables, which we use when we want to work separately. In the middle, we have a table, which we use when we meet. When someone calls in a meeting, everybody just swings his chair around, and viola, the meeting starts within seconds.

    On the central table sits a computer with two screens (sometimes facing opposite directions, showing same contents, sometimes side by side with different windows), two keyboards and two mice, so each of us can easily grab a device to point, write, etc. This computer has a complete IDE, and all documentation is in a wiki, the code is in SVN etc., so it has basically the same configuration as the others and everybody is familiar with it. Our meetings sometimes escalate when all of us compete for control of the mouse cursor, but generally discipline is high enough.

    We found that this arrangement is the ideal balance between single and group workplace:

    You want to work alone, turn your back to the others, face the wall. It gives you just about the privacy you need. You can listen to the discussions in the middle, but you don't have to.

    You want to co-work (pair programming, discuss, etc.) turn around and face the middle.

    We will definitely keep this arrangement, because we all find it very convenient, and we think that our productivity has increased a lot through it.

    Of course, it might require more tables or computers than you have, but Ikea is around the corner, and you probably have a few unused PCs around your place anyway.

    --
    Say out loud: I'm an Aspie and I'm somewhat proud, I guess. Uh. Can I write an email in all caps instead? Hm...
  41. Offices for developers, shared areas managers! by jgeada · · Score: 2, Informative

    Development requires utter concentration. As far as I am concerned, the optimum arrangement for developers is one enclosed office each with plenty of bookshelves to stash away reference books and surfaces put up enough monitors. A nearby conference room with lots of whiteboards and chairs for the occasional brainstorming meeting would also be very helpful. However, management, as I've been told, relies on communicating with people. Maybe they should be the ones put around that circular table in the middle of the room that is now available ... :-)

  42. The tally so far by presidenteloco · · Score: 2, Informative

    I counted the preferences in this whole discussion to about 3/4 of the way down to this post.
    Here's how it pans out, give or take one or two that I misinterpreted, and not counting wafflers and OTs:

    Private Office:  77 (62%)
    Cube Farm:       14 (11%)
    Open Area:       33 (27%)

    The "privacy and peace required" advocates are in the clear majority.

    --

    Where are we going and why are we in a handbasket?