Team Workspace Reflections
Date Published: 08 February 2012
We’ve been fans of team rooms and collaborative work environments at NimblePros for some time. In building out our new building, we took care to create several large open spaces to be used as team rooms, with plenty of room in the middle for workstations (configured for pair programming) and lots of open wall space around the outside for whiteboards and information radiators. You can see one of our team workspaces, before the furniture and whiteboards went in, on the right. The idea was to follow the Caves and Commons approach first recommended by Extreme Programming, and it’s worked very well. We gave some of our senior staff their own office spaces and we set up a group “cave” with several desks in it where folks could go to take a phone call or work individually on a task, but almost a year after our move, some of the senior staff’s offices have been emptied out as they now spend their days in one of the team rooms, and the one “cave” room very rarely sees use (but it is nice to have when it is needed, so we consider it worthwhile space).
Today there’s been a great thread on the Extreme Programming mailing list on this topic, and I thought a few of the quotes were worth sharing here:
When I created my software R&D space some years ago, I ensured that every programmer had a private office with a window. When we did some of our really difficult projects, we created a "war room" to work in. It went better.
_When XP was invented, we worked with everyone in a big room. No one on the team wanted to go back: we were all certain that it was the most productive and enjoyable project we had ever been on.
I have worked with many teams since then, and the results have been the same. Except for a very few individuals -- who have never been considered to be key team members anyway -- teams have been more productive by their own measure, in a team room.
_I don't know what kind of rooms or projects these articles refer to, but I would never do a software project without the team in its own common space if I had any choice at all. Ron Jeffries www.XProgramming.com
This has been my experience as well. Team rooms are simply more fun, more productive, and more energizing, provided everybody is working on the same project and is motivated. As with anything, there can be problems, such as off-topic conversations distracting the team, but generally the team is able to self-police such things, at least in my experience. Another quote from this thread, in response to Ron’s above:
My experience has been basically the same. Everyone wanted their private office until they tried the common space. Then they voted to give the offices to someone else. They had more fun, got more done, and in my opinion came up with far more creative answers...
Now, if you’ve read Peopleware, it suggests that one of the biggest barriers to productivity is distracting sound, and that the best way to lower the amount of noise each worker has to put up with is to provide more space (and ideally, separate offices with doors) to each employee. I’ve worked in organizations who had open floorplans larger than football fields filled with rows and rows of cubicles, and it’s precisely this arrangement that comes to mind when I think about the advice in Peopleware. But I think there is a difference between legions of workers in cubicles working individually and small teams working collaboratively on a specific project. When you’re pairing with someone in a team room, you’re able to focus on your work and what your partner is saying to the exclusion of the rest of the room. However, you’re still half-listening to the conversation, so when someone else in the room says your name, or wonders why such-and-such class that you just checked in yesterday isn’t working, you hear it. You can share vital information, instantly, that might otherwise have blocked your teammate until the next stand-up meeting (assuming you hold them).
Last year, at one of the Hudson Software Craftsmanship group meetings, we had a discussion in which we talked about moving a team to agile. To kick off that discussion, I asked the group to describe what an agile team would look like to an observer. One of the first things that was mentioned was that they were working in a team room. Now, I don’t think team rooms are strictly necessary in order for an agile team to be successful, but I do think they’re certainly helpful.
Have you had the opportunity to work on a project in a team room? Do you agree with the ideas expressed above, or has your experience been different? I’d love to hear from some people who have had negative experiences working in team rooms. Please leave a comment if you have some experience to share.
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.