creating an agile engineering work space at digg

user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 1373 in /var/www/drupal/includes/database.mysql.inc on line 172.

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.

design objectives

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

the implementation

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.

positive results

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.

concusions

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.

appendix - the layout

I think productivity will

I think productivity will definitely be increased if you put people in the right office space. Unfortunately, for everyone the right office space is different. I, for one, like offices. Office helps me focus, cuts off outside noise and reduces interruption (you can close the door if you want to stay alone and think and people will bother you less). Open office layout invites interruption, it invites collaboration too, but before you can collaborate you need thought to share. Thoughts that get induced by reflecting on your and ideas of other people in a quite environment.

Another thing that goes against open office layout is reduced ability to focus on your monitor. Have you noticed that if there is nothing behind your monitor or a computer, it's a lot harder to keep your eyes' focus on a screen? A monitor is good when there is a wall or desk behind it. Preferably dark coloured making it easier on the eyes.

Higher ceilings have a lot to do with productivity, lower ceilings are no good for humans. Ceilings like in the oder churches will do best.

And last but not least, for the one layout to work for everyone you'll need to have everyone subscribe to that layout, and inevitably some will disagree. So, may be, a mixed layout will do best where people can still go into the offices when they need to, even if temporarily there sometimes a need to stay by yourself. There is a lot to gain from solitude.

post new comment

the content of this field is kept private and will not be shown publicly.
  • web page addresses and e-mail addresses turn into links automatically.
  • allowed html tags: <h2> <h3> <h4> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • lines and paragraphs break automatically.
  • you may post code using <code>...</code> (generic) or <?php ... ?> (highlighted php) tags.

more information about formatting options

captcha
are you human? we hope so.
copy the characters (respecting upper/lower case) from the image.