creating an agile engineering work space at digg
digg has been growing like crazy, creating space problems for our development department, resulting not only in excessive density, but in our team being spread across several floors. these space issues have caused significant challenges for our emerging agile development environment, stifling informal communication and making it difficult to organize teams into cohesive groups.
digg's new engineering space
recently an additional office space became available within literally a minute walk from digg’s main office, and we decided it to make this the development teams main home. our challenge was to create the best space possible to support digg's agile development style.
in addition to it’s proximity, the new space had some significant advantages for an agile office, including a large open-plan layout and great natural light. it also had one very big problem: no enclosed space that could be used for private meetings or phone calls. it also has somewhat of an unusual triangular floor plan.
our first design step was to research what others had said about creating an agile work space. there wasn’t much written on the subject but I did find a few helpful articles. we then took some basic ideas and presented them informally to the engineering team for feedback. the end result was the following set of design objectives. we wanted a workspace that would:
- support ad-hoc communication and pair programming
- be easily and iteratively reconfigured.
- provide quiet and secluded areas for focused work
- create a fun, comfortable and relaxed working environment
- provide enough additional capacity to allow extended working visits from employees from our other building
- provide a public development dashboard showing each project status
- be bike friendly, with inside storage for more than 10 bikes
- be dog friendly
now that we had a vision for the space we turned to sidemark, an interior design company, to help us pick furniture and help us implement our objectives. we worked closely with a project manager there, andrea harris. andrea was incredibly helpful and patient and helped us navigate through 6 iterations of the floor plan and furniture design, before we finally had one that we were comfortable with and that the team liked.
picking a space for our meeting area was particularly difficult, since we had no fully-enclosed spaces in the building. we settled on the semi-enclosed area at the far end of the building. it has worked reasonably well. noise has been a minor issue though.
andrea helped us pick furniture that supported our vision. all tables, chairs, cabinets were minimal and mobile, allowing easy and iterative reconfiguration of our workspaces. she picked out some interesting items like the rolling armchair with an attached work tray. digg has (mostly) standardized on apple laptops for all employees, including developers. laptops have proven to be key for a mobile and agile space, allowing everyone to work wherever suits them best.
digg has four development teams. the main development area was divided into team spaces, with supporting functions, such as management and build & release, sprinkled around these areas. (see the appendix for detail).
i was particularly worried about the open area being too disruptive for productive engineering work and about the difficulty of managing the delicate balance between good communication and an excessively distracting environment. to mitigate this concern, we took inspiration from the “caves and commons” pattern and installed a cave area, for developers to retreat to. the cave area consists of tall cubes pre-equipped with laptop power supplies, mice, monitors and keyboards. we also experimented with noise reducing headphones.
we’ve been our new space for a few months now, and overall the new layout has been a tremendous success. i’m convinced that our productivity is considerably higher than before, and employees have enjoyed the new space. ad-hoc meetings spontaneously occur to support current needs and crises. our developers also spend a surprising amount of time away from their 30" monitors, sitting on the sofas programming or meeting in small groups. we also get regular visitors on extended visits from our other office, arriving for scheduled and ad-hoc meetings.
not so positive results
not everything went perfectly to plan, our experiments with noise-reducing technology and caves were completely fruitless. we found the noise-reducing headphones to be largely ineffective at reducing the types of ambient noise in the building (mostly conversation), and furthermore, engineers didn’t take much interest in even trying them.
additionally, nobody used our caves. instead our engineers would deal with a distracting environment by simply listening to music on headphones. we’re in the process of dismantling the caves and returning the rented furniture.
we also didn't manage to accommodate as much "fun" stuff as we would have liked e.g. a rockband room or a ping pong table. we just couldn't see how that would work in an open working environment.
the shift to an open plan office has greatly increased the productivity of the team. taking the time to develop a solid space plan paid off. every company is different and existing patterns that i read about weren't all applicable to our group. additionally, our quirky physical space introduced other constraints that needed careful consideration.
like most agile undertakings, iteration and flexibly were our best friends and by taking an approach that embraced both, we can still consider our space plan to be a work-in-progress.
if you're going through a similar exercise, don't hesitate to contact me if you'd like to discuss your plans.