I've written before about the power of the office environment when it comes to running…
2014 update : this continues to interest me and I was lucky enough to hear a talk by Rosemary Kirkby. I wrote about that here.
This may not be news to long-time office dwellers, but the way your work environment looks and operates is really important. Our office has a history with another, very traditional company and the layout really reflects that. It’s nominally open plan (as in, there are no separate offices), but the lines of sight and communication are really closed off. Apart from the pillars and obstructions (a huge compactus which no-one on our floor uses, for example), the partitions between working areas are of a sufficient height to mandate meerkatting if you want to speak to anyone else. The desks all face away from each other and there’s loads of wasted space because of little corner returns on each desk.
When we launched our first pilot Agile project, we found a suitable area, ripped out half the desks and plonked a big, functional table in the middle. Pairing workstations were put on the table and everyone crowded around and started coding. After some initial misgivings about losing personal workspace, the team soon got to enjoy the environment we’d created and it now seems like a natural use of the space.
Soon after, we adopted Kanban work practices for our maintenance and support team; pairing was “encouraged but not mandatory”. Some brave souls had a go, but the desks just aren’t conducive to effective pair programming. They really lend themselves to a “I’m doing some coding, you’re just watching me” behaviour.
So, on launching a second Agile project, I was concerned that getting the pair-programming right was going to be an obstacle to really adopting the rest of the practices. I scouted the office looking for suitable areas where we could put in a central table, but we’d already used our one option for that on the first project. We finally settled on a row of desks at one end of the office that I refer to as the plague pit (although the team have adopted the slightly less doom-laden “play pen” instead). One Friday afternoon, the screwdrivers came out and the pointless corner returns on each of the desks came off. The change from that small action was dramatic – not just in the feeling of space in that part of the office, but also in the ability to line up pairing machines along the desk and have people instantly in an environment where pair-programming seems the natural choice.
Our next step is to do a piecewise refactor of the office environment. The architects have been engaged and we’ve got some cool desk layouts planned for the original Agile area. Our longer term plans also include plenty of whiteboards and spaces for putting up big visible project artifacts. It’ll be great to have a space that was designed with Agile in mind, but we’ve also shown that an office can be moulded into a workable environment with a bit of creativity, some screwdrivers and an investment of time.