I’ve helped shape the configuration of software engineering facilities lately, and reviewed literature around this area seeking to maximize productivity. You may be interested in my findings.
One of the most influential papers in agile development discusses an experiment using six 8-person software teams in an automobile company [Teasley 2002]. They compared cubicle-based teams (each engineer had a cubicle) with warroom-based teams (a single room with 6-8 engineers and no separating walls). The outcome was dramatic.
- Warroom-based teams doubled productivity over cubicle-based teams in function-points produced,
- Warroom-based teams tripled productivity in time to market.
- Engineers surveyed prior to trying warrooms expressed a preference for cubicles. Engineers surveyed after trying warrooms expressed a preference for warrooms.
- Researchers used some mechanisms to reduce sample bias, and these dramatic results were confirmed.
An early work [DeMarco 1985] shows that the highest productivity is achieved with programmers have an average of 78 square feet of dedicated floor space (the average in their study was 63 square feet), and that controlling interruptions was essential to their productivity. Given that this study was pre-agile, it has an inherent bias toward private offices.
There are other opinions online, but I haven’t identified any other comparative research articles that provide clear guidance. (And most of the opinion articles merely admonish us to use warroom structures and control interruptions.)
Since I continue to be involved with facilities issues, I would appreciate reader comments pointing to additional comparative research studies.
References
[DeMarco 1985] T DeMarco and T Lister, “Programmer Productivity and the Effect of the Workplace,” Proceedings of the 8th international conference on Software engineering, London, pp 268 – 272 (1985).
[Teasley 2002] Stephanie D. Teasley, Lisa A. Covi, M.S. Krishnan, Judith S. Olson, “Rapid Software Development through Team Collocation,” IEEE Transactions on Software Engineering, vol. 28, no. 7, pp. 671-683, July, 2002.