The Ultimate Software Development Office Layout

[email protected] / More Programmer's Stuff

  1. Introduction
  2. Office Layout Recommendation
  3. Discussion
  4. Addressing the Downside of the War Room
  5. Example Team Rooms
  6. Resources

Introduction

How do you layout your office space to optimize software development? It's a question I don't think has been seriously considered at very many places I have worked. Mostly it's just cubes farms of one variety or another. Certainly there are hybrid layouts, but it comes down to cubes most of the time.

Recently I had the opportunity to seriously consider and create my ideal office layout for a software development team. I read lots of different papers and talked to lots of different people. Here's what I came up with. It's a subject without an objectively correct answer, so there is plenty of room for disagreement, but this paper may prove interesting in your own research. I have included my recommendations and links to reference material to help you form your own conclusions.


Office Layout Recommendation

Here is a list of all the office layout recommendations:
  1. Organize software developers in a war room that is dedicated to the software group.
  2. Separate phone heavy groups like marketing and admin from developers. All "distractions" in an area should be project related.
  3. Create offices and conference rooms for privacy and larger meetings.
  4. Make space for those people who represent the customer to the team.
  5. Have the hardware group in the next room. This allows close communication between the software and hardware teams when necessary, but allows the teams to operate independently as well.
  6. Arrange desktops so people are not looking directly at each other.
  7. Pay close attention to is the traffic pattern. Do not arrange desktops around the edge of the room, by bathrooms, by the kitchen, by noisy groups, etc.
  8. Consider using wireless development machines so people can move around easily if they wish.
  9. The desk layout should leave enough room to support pair programming; it should have lots of horizontal space for documents, monitors, and books.
  10. Have the QA group in the next room or the same room depending on the size of the team.
  11. Keep the team to 12 or fewer people if possible.
  12. Keep the hardware being developed on in the same room as the developers. This saves an immense amount of overhead. If this isn't possible automate the control of the hardware as much as possible.
  13. Purchase good headphones for engineers.
  14. Cell phones need to be on vibrator mode.
  15. Phone calls must to be handled in one of the private areas, not in the war room. No speaker phones.
  16. Use IM so developers can converse quitely in many situations.
  17. The room should have many whiteboards and flipcharts.
  18. Have the coffee and food room located separately so as to encourage inter-group interactions.
  19. A signal system (cone of silence) should be developed so developers can indicate they are in a flow state and do not wish to be disturbed.
  20. Provide lots of power outlets.
  21. Provide natural light if possible.
  22. Keep discussions generally on-topic in the development area. If you need to have a potentially distracting discussion and no alternate space available, then go for a walking meeting.

An example layout, rendered in gorgeous ascii realism, might be be:

+---------------------------------------------+
| white boards & flip charts     .....        |
|                                           . |
| equip    +------+                         . |
| ment     | desk |                 projector |
|          +------+------+  .....             |
|                 | desk |                    |
|                 +------+           table    |
|                                             |
| conference rooms and offices                |
+---------------------------------------------+

Discussion

There are several research papers under section
Resources, comparing war rooms, offices, and cubicles. Please take the time to look at the papers as the recommendations are primarily based on these documents.

The decision on how to layout an office is a difficult one, largely because there are no obvious choices and there are a lot of strong personal preferences.

The basic office layout options are offices, cubes, or war room.

For the purposes of this document, the groups of interest in the software develop processes are: software, hardware, QA, equipment room, customer (in the Agile sense) representitives.

The decision really can't be one of personal preference. The decision has to be made on what will get you to your delivery goal. Certainly a nice work place must be provided no matter what choice is made.

Most people when asked will opt for offices.

Are offices affordable for your team? You'll have to talk with your architect to get a realistic estimate for an office build out. Offices can range from just a little bit more expensive than cubes to a lot more expensive.

More importantly, offices are are probably not the best layout for a startup. Software is a team sport. Rapid communication between team members is the key to quality and productivity.

This implies that the war room should be the organization for software.

Research shows that war rooms are up to twice as productive as other organizations. This is too big a factor to ignore, especially when scheadules will be very tight.

Cubes are the worst of all worlds. They provide little privacy and at the same time they make communication more difficult.


Addressing the Downside of the War Room

The war room organization has a couple of important downsides:
  • Lack of privacy
  • Noise
  • Meeting Room Depletion
These issues can be addressed and minimized, but the issues can't be made to go away. Most people report being able to get used to the environment, even though they have initial reservations.

For lack of privacy:

  • Arrange desktops so people are not looking directly at each other. One arrangement is to have people offset so when they look ahead directly they don't see each other, but could see each other by turning either direction.
  • Have temporary offices and conference rooms where people can handle their personal business and take phone calls and conduct larger meetings.
For noise:
  • Use headphones.
  • Separate phone heavy groups like marketing and admin from developers.
  • Cell phones on vibrator mode.
  • Phone calls can not be handled in the war room.
  • Use IM so developers can talk silently. IM seems a little strange when people are next to each other, but developers report that it works.
Meeting Room Depletion:

This is just an observation. A larger company moving to Scrum soon runs out of large meeting rooms as they all get permanently reserved with signs like "War Room for Group XXX Do Not Enter or Erase" pasted to the door. If you can create a real War Room for your group then this won't happen. But if you are trying to adapt to the traditional cube farm layout then the only place to put artifacts like burn down charts and story cards is a meeting room.


Example Team Rooms

If you need some inspiration, here are some example office layouts for you to consider:
  1. XP Team Room at Scissor - A nice example of and Extreme Programming team room.
  2. A Gallery of Team Rooms and Charts
  3. A software engineer's office - A nice detailed discussion of one office layout.
  4. Pair Programming and Office Environment - shows different Caves and Commons organizations.
  5. Think Box's New Bullpen
  6. Scrum and XP from the Trenches- Contains a section on team room layout.
  7. Google query on Agile Team Room, Agile Story Board, XP Team Room.


Resources

This section contains the research on which the recommendation was made.

How does radical collocation help a team succeed?

Doubles normal productivity. Our study of six teams that experienced radical collocation showed that in this setting they produced remarkable productivity improvements. Although the teammates were not looking forward to working in close quarters, over time they realized the benefits of having people at hand, both for coordination, problem solving and learning. They adapted to the distractions of radical collocation, both by removing themselves to nearby hotelling areas when they needed privacy, and by zoning out, made possible because of the distance between people in the larger rooms. Of the nine kinds of activities the team engaged in, only two were best done individually and separate from the rest of the team.

Communicating, Cooperating Teams by Alistair Cockburn

  • Saying that software development is a cooperative game of communication implies that a project's rate of progress is linked to how long it takes information to get from one person�s mind to another�s.
  • A programmer these days costs a company about $2.10 per minute, so that adding one minute to getting a question answered adds $2.10 to the cost of the project. Standing up and walking to another table can add that minute.
  • Suppose that people who program in pairs ask and get answers to 100 questions per week. Adding that minute's delay costs the project $210 per programmer per week. On a 12-person team, this is about $2,500 per week for the team, which adds up to $50,000 for a 20-week project.

Extreme Collaboration

For engineers comfortable with the noise and distraction of working closely together, a technology �war room� at the Jet Propulsion Laboratory is the perfect environment for speeding delivery of space mission design proposals.

Rapid Software Development through Team Collocation

In a field study conducted at a leading Fortune 100 company, we examined how having development teams reside in their own large room (an arrangement called radical collocation) affected system development. The collocated projects had significantly higher productivity and shorter schedules than both the industry benchmarks and the performance of past similar projects within the firm. The teams reported high satisfaction about their process and both customers and project sponsors were similarly highly satisfied. The analysis of questionnaire, interview, and observational data from these teams showed that being "at hand," both visible and available, helped them coordinate their work better and learn from each other. Radical collocation seems to be one of the factors leading to high productivity in these teams.

A Room of Your Own: What Do We Learn about Support of Teamwork from Assessing Teams in Dedicated Project Rooms?

To inform the design of groupware technologies such as those for cooperative buildings, we investigated the work habits of teams that collaborate in dedicated project rooms. We conducted field work that included interviews of teams in 9 U.S. companies who had dedicated project rooms and a 6 week observation of one site. In our study, team members using dedicated project rooms reported clear advantages: increased learning, motivation, and coordination. Our findings suggest that cooperative buildings need to support important features of collocated teamwork such as flexible shared visual displays and awareness of team members� activities.

Peopleware - Productive Projects and Teams

Says use offices because developers need quiet to get into the flow. This is the classic book on workspace quality as well as management practices for software developers. A quote: "As long as workers are crowded into noisy, sterile, disruptive space, it's not worth improving anything but the workspace."

Cube or office...What do you have?

Interesting thread from Joel on Software. A lot of people both for and against war rooms. General take away is that people like offices but realize that the war room is more productive.

Another related JOS thread.

The Downside of Noise

A humanistic approach to space - office designs - includes related articles

Companies need to adopt a "caves and common areas" approach. This provides employees small, quiet places to work, as well as their own team areas for spontaneous collaboration, Sims says.

IBM's Santa Teresa Laboratory�Architectural design for program development

Their design consisted of individual offices of about 100 square feet arranged in a pattern that allowed most to have an outside wall with a window.

The Skunk Works

Lockheed's "skunk works" was one of the most sucessful engineering teams of all time. This team achieved fame for its rapid development of a series of radical new airplane designs in the second half of the 20th century, under the guidance of Jim Kelly and his successor, Ben Rich. Ben Rich wrote about their experiences in the book Skunk Works (Rich 1994).

Rich highlights that, among the rules of the group, Kelly insisted on people taking accountability for decisions from design through testing, and on their sitting close together. The following quotation is from that book: "Kelly kept those of us working on his airplane jammed together in one corner of our building... My three-man thermodynamics and propulsion group now shared space with the performance and stability-control people. Through a connecting door was the eight-man structures group. ... Henry and I could have reached through the doorway and shaken hands. "... I was separated by a connecting doorway from the office of four structures guys, who configured the strength, loads, and weight of the airplane from preliminary design sketches. ... the aerodynamics group in my office began talking through the open door to the structures bunch about calculations on the center of pressures on the fuselage, when suddenly I got the idea of unhinging the door between us, laying the door between a couple of desks, tacking onto it a long sheet of paper, and having all of us join in designing the optimum final design. ... It took us a day and a half. ..." "All that mattered to him was our proximity to the production floor: A stone`s throw was too far away; he wanted us only steps away from the shop workers, to make quick structural or parts changes or answer any of their questions."

Advanced Collaboration Environments and Scientific Workplaces of the Future

Suggested productivity gains:
  • 2x-10x depending on task
  • Higher quality output
  • Fewer changes overtime
  • Better and faster decisions
Radical Collaction Recently used to:
  • Annotate new genome data at Celera
  • Design NASA space missions at JPL
  • Evaluate fusion reactor designs at Snowmass

Can absence make a team grow stronger?

Makes the point that virtual teams can often work better than face-to-face teams, especially when the team is made up of diverse experts.

They don't seem to be comparing to radically colacted teams, so i am not sure how the comparison would work then.

And i don't think this conclusion is valid for software development itself in the same way that everyone on a soccer team couldn't play on different fields effecively, though parts of project can be done elsewhere under the right circumstances.

Some projects have such diverse requirements that they need a variety of specialists to work on them. But often the best-qualified specialists are scattered around the globe, perhaps at several companies. Remarkably, an extensive benchmarking study reveals, it isn't necessary to bring team members together to get their best work. In fact, they can be even more productive if they stay separated and do all their collaborating virtually. The scores of successful virtual teams the authors examined didn't have many of the psychological and practical obstacles that plagued their more traditional, face-to-face counterparts. Team members felt freer to contribute--especially outside their established areas of expertise. The fact that such groups could not assemble easily actually made their projects go faster, as people did not wait for meetings to make decisions, and individuals, in the comfort of their own offices, had full access to their files and the complementary knowledge of their local colleagues. Reaping those advantages, though, demanded shrewd management of a virtual team's work processes and social dynamics. Rather than depend on videoconferencing or e-mail, which could be unwieldy or exclusionary, successful virtual teams made extensive use of sophisticated online team rooms, where everyone could easily see the state of the work in progress, talk about the work in ongoing threaded discussions, and be reminded of decisions, rationales, and commitments. Differences were most effectively hashed out in teleconferences, which team leaders also used to foster group identity and solidarity.

Unlocking the Brain for Better Architecture & Design

�The Academy�s work, including how the mind processes experiences, has many implications for the creation of effective work environments � offices, healthcare facilities, colleges and universities, research laboratories, etc. We recognized early on the importance of ANFA�s pioneering work and are pleased to be the exclusive participant from within the office furniture industry,� says Joyce Bromberg, Steelcase�s director of Workplace Futures- Explorations. �By partnering in this venture, we anticipate gaining a wealth of new knowledge to apply to our ongoing research and development efforts.�

This article is short on useable advice. The larger point is that your office does matter. How it matters is still an interesting question.

Sharing Knowledge

This document has a good section on workspace design, as well as being generally interesting.

Cubicles: The great mistake

Even the designer of the cubicle thinks they were maybe a bad idea, as millions of 'Dilberts' would agree.

Changing Attitudes

A recent study by Knoll of 850 white-collar workers found that 40 percent of Generation Y workers, ages 18 to 29, preferred open work spaces without panels.

Google's Design Philosophy

They want to create an "urban" environment with many different experiences.

Malcolm Gladwell Designs For Working

Why your bosses want to turn your new office into Greenwich Village.

10 Seriously Cool Work Places

Sometimes science doesn't matter and we just drool for cool.

Want success? Change the smell of your workplace!

The reality is that you walk into a sales office, factory, head office and in the first fifteen to twenty minutes, you will get a smell. You will a get a smell in the quality of the hum. You will get a smell in the looks in people's eyes. You will get a smell in how they walk about. That is the smell I am talking about -- in most manufacturing facilities, not just in India.

The True Costs of Cubicles

Although cubicles do provide facility cost savings compared with walled offices, they do so at the price of product development delays and increased product development costs. Decisions of facilities planners can have dramatic project schedule impact.

Workplace Strategies for Dynamic Organizations

Our research does not show that open type offices have no disruptions. It underscores the importance of distinguishing between individual and team performance, and of understanding the relationship between the two. As individuals, we typically focus in on what we produce in any given unit of time. Open office environments, especially cubicles, reduce individual performance or productivity in a given unit of time. Individual performance, and that of the team, benefit over the life of the project in more team-oriented environments. In other words, this minute's interruption can be annoying, but over the life of the project such "interruptions" contribute to faster decisions, more timely feedback, stronger social relationships, greater trust, and a better sense of what is going on outside of one's own group.

Lean Office Reorganization

Cube News

The funnyiest thing you'll see today.