When I blogged about the office environment, I contrasted private offices with cubicles. Whatever their relative advantages, the latter suffered from noise, distraction and lack of privacy. Not long afterward, a colleague pointed me to Martin Fowler's article on team rooms that took these disadvantages and multiplied them:
Guess what this made me think of?
Why do we do this to ourselves? Look at that picture. People are practically on top of each other. You can barely stretch out without getting your elbow in someone's lunch or knocking over somebody's coffee. And speaking of lunch, if you are seated between someone having a tuna sandwich and another having curry, the resulting matter-antimatter reaction in your stomach will be rather interesting. Come flu season, expect the whole room to call in sick as soon as somebody sneezes. There isn't room for a second monitor, let alone any personal items like photos or books.
To be fair to team rooms, you can find more (and less) pleasant variations if you follow the links in that article. But I find this picture significant because Martin Fowler chose to use it as his lead picture for the article, meaning he finds it an appropriate representation of the team room concept that he advocates. I think it suggests a problematic mindset behind this trend towards cattle offices. The first issue I have is with the lead sentence Fowler uses to justify this arrangement:
"Software development is an intense exercise in collaboration"
Collaboration. It is the same justification originally used to get workers out of offices and into cubicles. And it is equally unsupported by data. I can't help but notice that there is no talk about flow, focus or concentration. Team rooms are all about "collaboration", not about getting work done. There is no evidence that this environment actually enhances productivity. Contrast this with Peopleware by DeMarco and Lister, which quantitatively demonstrated the correlation between quiet, privacy, office space and productivity. I think of Fowler as the software industry's Frederick Taylor, but without the science. Still, such opinions will no doubt be attractive because they give a hip excuse to pack as many warm bodies as possible into a given square footage of office space. You can attach fancy names to spending the entire workday in a meeting, but don't mistake this for productivity. On the contrary, noisy open-plan offices reduce productivity by 66%.
Productivity aside, my second and primary problem with this picture is that it seems to demonstrate a disregard for the human needs of the workers. We know the buzzword adjectives used for the methodology of the day: collaborative, productive, extreme, agile etc. One adjective I never hear is "humane". The workplace is where we are going to spend a large part of our lives. Shouldn't it at least be somewhat livable? There should be storage and space for personal belongings (like books). There should be personal space, privacy, opportunity to concentrate and even to relax. Being humane is not just to serve some altruistic warm fuzzy ideal. Rather, a humane work environment ensures that those valuable people -- not interchangeable slabs of beef -- will stay and sustain productive work performance.
With apologies to Fred Brooks, there is no silver bullet. You can't force artificially high levels of performance on a sustainable basis. Maybe you have heard of Tracy Kidder's classic "Soul of a New Machine", which chronicled Data General's triumphant Eagle Project. The Eagle Project was a tremendous achievement under pressure, but the romance was spoilt for me when Peopleware pointed out that the entire development team quit when the project completed. And it's not just the hero projects: under the day-to-day stress that some methodologies impose, people do burn out and quit.
My take is that developers should be trusted to collaborate at the level they need. Imposing collaboration by herding workers into these cattle offices shows a lack respect of our own initiative. Alternatively, you can achieve sustainable productivity gains by removing obstacles to productivity: noise, interruptions, distraction, lack of space etc. Is it merely a happy coincidence that such productivity measures also result in a more humane work environment?