Software may be eating the world, but it hasn’t eaten the office—yet.
With the growing popularity of collaboration tools like Slack, Hangouts, Asana, Trello and Google Docs, location might seem less important than it used to be, especially for software developers, who can conjure bits and bytes anywhere on the planet.
But for many—I would guess most—Agile developers, the office is still a daily reality. And as anyone who has worked in one knows, some offices are better than others. Everything from where you sit to who you sit with to the space where you meet can affect your productivity. A good environment gives you a boost. A bad one drags you down.
Of course, what’s good for one style of work might be bad for another. Waterfall and Agile are good examples. As a waterfall developer you’re often 100% responsible for a single feature, which means you tend to be more isolated, both in terms of responsibility and space. In one of my previous jobs, where waterfall was the rule, I might have started the week by talking to my subject matter expert and my manager, and then gone back to my cubicle and worked alone for a couple days. I might have talked to four people the whole week. I could have been seated in a bunker, and it would have been fine.
But Agile is all about iteration, flexibility and collaboration. Unlike waterfall, in Agile, everyone is responsible for the entire project. As a developer, you might spend two days completing a story. Then you’ll pick up the next one on the priority list. It might be related to the last story, it might not. You might need to collaborate with different people, from quality engineers to UX designers to business owners. You’ll meet with the whole team every day during daily standup, and be doing product demonstrations probably a few times a month.
So what does that mean for office space?
First, an Agile office needs to make movement easy. In my experience, Agile developers move desks at least three times a year – sometimes more often, as they rotate to different projects. Although most developers tend to travel pretty light, a rolling file cabinet is a simple way to facilitate this.
The ability to rearrange physical seating is important too—just make sure everyone has a way to plug in. Agile teams often sit in clusters of six, with developers on similar tasks sitting next to each other. But teams of eight or more are common as well, and – at least in a workspace like ours, with electrified sit/stand desks -- they all rely on the underappreciated power pole. The more power poles in your space, the more freedom you’ll have to configure desks the way you like. If you’re designing for Agile, don’t skimp on power.
Another truism of the Agile workspace is that you can never have enough whiteboards. Agile developers collaborate, and often need to discuss endpoints, user flows and architecture. Whiteboards are always in demand, especially in offices with lots of glass and open space. Even better than white boards are mobile white boards, which in a pinch can be wheeled around as ad hoc space separators. (Of course digital white boards are popular too, especially for remote collaboration, but I like the tactile quality of a physical board.)
You also need somewhere to hold your standups. Any room will do, but I find the smaller the better. A successful standup should be brief and to the point. If you bring a team into a full conference room, they’re just going to sit down, or worse, pull out their laptops. Conference rooms for fine for planning, story grooming and retrospectives, but a great Agile workspace will have huddle rooms mixed in.
There there’s the open-plan office. While open plan is great for communication, some find it distracting when it comes time to go heads-down and code. A considerate culture can help keep cross-talk to a minimum, but don’t underestimate the value of a good white-noise generator. It’s almost shocking how much white noise can reduce ambient noise without increasing distractions. Especially in offices that tend to bounce sound, a generator can make the difference between slipping into the zone and constantly having to tune out conversations on the other side of the office.
Any workspace comes with trade-offs, but I’ve found the best ones for Agile are those that encourage interactions between people and teams. That doesn’t mean an unbridled flow of communication (we all know what it’s like to hear a bit too muchat the office), but a balance tilted toward the exchange of ideas and the flow of information. We often use “silo” as a metaphor, but it can also be a concrete reminder that the shape of a space can have real-world effects -- for good and bad -- even when you’re building a product out of electrons.
Keith Skronek is a principal technologist at Nexient, leading the delivery team to establish, document, educate and enforce coding best practices. He has been writing code for 40 years and delivering enterprise software for 20. He writes the Pragmatic Agilist column for InfoWorld.