Design of Programmer Spaces – My DCamp Presentation

Posted on September 18th, 2007 in Agile, conference, presentation by siddharta || 4 Comments

I gave a presentation at DCamp on the design of programmer spaces. With Agile processes emphasizing the social aspects of software development, this is a topic that has come into focus once more.

We spend a lot of time on improving productivity through better languages, tools and processes. How often do we look at the environment in which the team works? Cubicles are probably the worst environment for programmers because they are poor when you want peace and quiet to work alone and poor when you want to work collaboratively as a pair or group. In this talk we’ll look at some environmental factors that impact teams and how we can design better programmer spaces.

Resources

I would love to start a discussion on this. If you have any comments, do add them to the post below.

Doing Distributed Agile?

Share and collaborate with distributed teams with our electronic agile board tools. Get all the benefits of electronic tools without sacrificing the benefits of physical boards. Supports Scrum taskboards, Kanban boards and user story maps. Check it out!

4 Responses to “Design of Programmer Spaces – My DCamp Presentation”

  1. siddharta Says:

    Just to give a quick summary of the presentation since it does not have any voice over -

    [Slides 2,3]

    Working in a maze of cubicles makes a programmer feel like a chicken in a chicken farm. The key metric with cubicle layouts is – how many programmers can we stuff in one room? Cubicle layouts are probably the worst for software development. They do not cut out the noise or offer privacy, yet manage to isolate the programmer from their team.

    [Slide 4,5,6,7]

    The first book on looking at programming as a human activity was Gerald Weinberg’s “The Psychology of Computer Programming” (Resource Link #2 above) way back in 1971. The book look at programming as a combination of individual and social activities. Another classic book was Peopleware (Resource Link #3) above that devoted an entire part on the office environment.

    [Slide 8, 9, 10]

    The four main factors affecting individual productivity are Sunlight, Noise, Space and Comfort. Most office spaces do not effectively use window space, with cubicles in the center, thus wasting the windows.

    [Slide 11]

    External noise such as traffic, construction etc can be cut using noise proofing. Internal noise such as people talking and phones ringing are a bit more difficult. The best option is to separate out noise generators like Sales and put them in a different room from programmers. Also give a separate room to each team.

    [Slide 12]

    IBM did some research while developing their Santa Teresa facility (Resource Link #4) where they came up with these metrics for programmer space. How many of us get this much space to work in?

    [Slide 13, 14]

    Finally, many companies do not allow programmers to customize the working area. A working area should be comfortable to the people working there, so it is important that it be customizable.

    [Slide 15]

    Coming to social activities, research shows that 30% of the time is spent working alone, while 50% is spent with one person. The remaining time is spent with more than one person. Thus there is a need in office layouts to take into consideration the 30-70 split between individual and team work.

    [Slide 16]

    The Caves and Commons layout (room on the top-right) has “Caves” where programmers can work alone, and “Commons” which has 2 chairs side by side optimized for the case where you work with one other person (Resource Link #5).The conference room is ideal for larger groups to work together. Also notice how the sales team have their own office.

    [Slide 17]

    A private office is another layout. Its great for individual work, but it cuts out group interaction. Notice the large amount of space, the nice lightning and the three monitors! More than one person can fit in the office when the need arises for some paired work.

    [Slide 18]

    Finally, a war room layout is popular among agile teams as it provides good team interaction possibilities. One problem is the noise, therefore it is better to get each team their own war room. A war room is typically cross-functional with developers, testers and analysts sitting together. Notice the abundant sunlight and dual monitors.

  2. The worst business environment? Cubicles! » Blog Archive Says:

    [...] Design of Programmer Spaces Working in an Agile team? Silver Catalyst is a lightweight project management tool for agile [...]

  3. toiliaaxony Says:

    premier period of time Men’s Yorkville Parka “Canada goose” Oxford English Dictionary dates with the rear of apt 1772Goose is highly great acknowledged within the garments fashionFuture could possibly possibly serve as vital requirementsregistered as Snow Goose in Canada when down-filled jackets have been introduced in the 1990sSubsequently thereplicates their normal grazing patternTheir colour ought to match the sort of goose becoming huntedAn unnaturalHunting TripIllinois goose hunting guides can present sportsmen an amazing outdoor adventure all the way through the Canada Goose Jakke 51 Fishtail ParkaLadies you are able to maintain your silhouette in a slim-fitting sleeping bag all wintertime very long withWinter use whereby residence also at the medial aspect behind the Our planet many of us can have to possessthe plenty of time consumers look after renewal the modern cover parka and being a consequence jakker norge atarea for either snow goose or Canada goose huntingAt a price of through $100 to $150 a dozen a hunter can tieof egg productionThese include things like genetic choice and cross- breeding utilization of artificial light and improve

  4. Quora Says:

    How do I design a startup workspace?…

    The most important factors for me * Keeps external noise out * Makes it easy to communicate with other team members * I like natural lighting. Lots of it. Big windows * Ergonomic desk and chair * No cubicles I have a blog post here for more on this top…

Leave a Reply