Here’s another episode of using another blogger as an excuse to write about something I’m interested in. Dan Benjamin wrote about office layout, specifically the advantages of being by yourself for getting in the Zone.
Here at Pathfinder Central, most developers are in an open setting, in blocks of four desks placed with two facing the other two. Frankly, I thought I was going to hate it. Most of my previous experience has been in cube farms of various shapes and sizes, and I had many of Benjamin’s concerns about an open developer area.
I have to say that for the most part, my concerns haven’t been borne out — I like the layout, and I think that the overall effect of the setup on team productivity is positive.
Now, there are some things we do here that help that out. One is a strong sense that the open area should be kept quiet when possible. It’s not unusual to have more than a dozen people working in the open area and have it be absolutely silent. It also helps when there are a few places for people to go to have conversations without disturbing the open area.
Most of the time, I don’t find getting into “The Zone” to be much of an issue in this setup — or at least not any more of an issue then it was in a typical cubicle setup. Cubicles don’t really mask noise, and I actually find it less distracting when I can see the people making the noise then when it’s a disembodied voice coming from the cube down the hall. In that sense, cubicles are the worst of both worlds, the isolation of an office with the distractions of an open bullpen.
On the flip side, there are a lot of benefits to the open setup for working in teams. The most important is the ease of supporting pair programming. Most of the cube layouts I’ve been in made it very difficult to pair, generally because the either the desk space or the amount of chair space in the cube wasn’t conducive to having two people looking at the same screen. In our setup here, it’s trivial for two people to pair. The overall layout is more flexible — it’s easier for developers to move from desk to desk to support changing teams. It’s also easier for a small team to share knowledge and ask questions of each other.
In this setup, anything that makes it easier for developers to move around and work with each other is a good thing. Wireless networking, or at least multiple, easy to reach network plugs helps. Laptops with a lot of external monitors that are easy to plug in to helps. Desks that have enough open foot space to allow a second char to be pulled up. About half of my team (including me) works from home at least one day a week. My own experience is that there are some tasks that are easier at home (most notably, technical writing), it’s nice not to commute, but overall, I don’t find myself significantly more focused when at home. It’s a mixed bag.
Which isn’t to say that the setup is perfect. It’s still possible for arguments passionate discussion between two people to be heard and distract across our space. Ease of asking another team member questions can quickly become ease of distracting another team member with the lasted xkcd strip. Or so I’ve heard.
I don’t think there’s a perfect setup, but I’ve been surprised at how much benefit there has been to an open layout for my team.
