Designing an Office to Nurture Innovative Agile Development Teams
When a friend shared a report that Apple employees are unhappy with the open office plan in their new building, it led to a discussion about the merits of various types of seating arrangements and the suitability of each for software development work. While many of those in the conversation asserted that open plans make it hard to work effectively, others said they preferred open offices.
It led to a talk about the collaborative nature of software development. The question may not be whether to have open office plans, but rather how and when to have them.
At the center of the open plan debate is whether the people who share floor space are actually engaged in collaborative work and can benefit from collaborating with each other. A key complaint about open plans is that people either feel distracted by others or are concerned that they may be annoying others with their interactions.
In my experience, open plans work well when the people in the space are working toward a common goal—in effect, when they’re on the same team. The challenge is that it’s hard to predict who can benefit from collaboration, and in many cases, it’s the unexpected collaborations that lead to innovation.
If innovation is the goal, there are various space design factors that can influence and foster collaboration across disciplines. A mix of areas and flexibility, with a tendency toward open spaces, facilitates serendipitous encounters and encourages interaction, particularly when there are common spaces that people will naturally gravitate to.
If we acknowledge that software development, especially agile software development, is a collaborative activity, then we also must acknowledge that the space where these teams work can affect productivity. The ability to have frequent, high-bandwidth communication among team members allows for rapid feedback and the timely removal of roadblocks.
But there isn’t a single arrangement that works. Even remote workers can be effective on agile teams. It is simply important that the workplace solution fits with the understanding and expectation of the team members.
The best advice is to create spaces—both physical and virtual—that allow for frequent, incidental collaboration. Ideally, consult with those who will be working in the space to learn their ideas and preferences. Use this information to decide on working arrangements so that people can find the right balance between collaboration, incidental interaction, and heads-down work.
Software development is a collaborative activity in many ways, but it also requires quiet time. Do your best to create an environment that can ensure solitude when people need it but still allows them to communicate easily when they choose to—and, sometimes, to bump into each other naturally and interact with others they wouldn’t normally collaborate with. Office spaces designed with the goals of the team in mind have a better chance of being effective. If workplaces are designed thoughtfully, you’ll see that the space can nurture productivity and innovation.