Stupid Human Programming
Talk on software development.








Subscribe to "Stupid Human Programming" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


Wednesday, May 04, 2005
 

The Ultimate Software Development Office Layout

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 varieties, but it comes down to cubes most of the time.

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 a objectively correct answer, so there is plenty of room for disagreement, but it may prove interesting in your research.

This is a bullet list of my 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.
  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. The initial idea is to use 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.
  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 know wish to be disturbed.
  20. Lots of power outlets.
  21. 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.
Here's the full proposal: http://www.possibility.com/Cpp/SoftDevOfficeLayout.html


comment[]

4:53:06 PM    



Click here to visit the Radio UserLand website. © Copyright 2006 todd hoff.
Last update: 7/11/2006; 12:49:59 PM.
May 2005
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Apr   Jun