VersionOne moved offices a couple of years ago, and we spent a lot of time thinking about our requirements for the office. Besides making sure that everyone had their own stapler, we had a few other interesting ideas. The two ideas that I spent the most time thinking about are:
- As an agile developer, I’d like to be able to work outside, so I can enjoy the work more.
- As a scrum master, I’d like the configuration to promote collaboration, so my team can communicate effectively.
Wow, you have a great tan. Are you a lifeguard? No, actually I’m an agile software developer.
It’s mid-March and the high for Atlanta today is 76. The sun is shining. The birds are chirping. A gentle breeze is coming out of the South at 3 mph. What is it going to take for us to work outside?
Let’s look at the building first. The team needs a grassy patch of considerable size because no one wants to go outside and then hang out in a parking lot on a slab of hot concrete. Ideally, the team should be located on the ground floor as well. A ground floor office suite would allow the transition time for moving outside to be much lower and annoy your neighbors less. Imagine someone sitting on the ground floor working inside, while you were working outside right next to them. Talk about rubbing it in! If your neighbors are on higher floors, at least they can tell themselves that the only reason you’ve been able to make it happen is because you’re on the ground floor. The last important building requirement is access to power. The building will need to have a power outlet on the outside, or a seldom used door through which you can run extension cord(s).
The last major hurdle is making sure the team can be just as effective once they get outside. Although getting a grill and throwing a couple of shrimps on the bar-b isn’t a bad idea, our goal is to work outside. We need an Agile Desktop.
An agile desktop is a self contained workstation that has everything necessary for a development team member and can be easily moved by a single person. A sturdy desk on casters is an essential element to an agile desktop. I scoured the internet looking desks that had casters and dimensions around 60” by 30”. Personally, I’d feel cramped on anything smaller, and anything bigger would be too cumbersome to move. The link above is the only desk I was found that fit those requirements, so there appears to be a large opportunity for a furniture maker if agile desktops gain widespread acceptance. Here are some other features that should be included in an agile desktop:
- A UPS so the desktop can be moved while not connected to power without having to reboot.
- An integrated power strip with a generous supply of outlets.
- A way to secure a desktop computer.
- A way to secure the UPS.
- An unattached rolling file cabinet so a team member has a place to store their TPS reports.
The agile desktop will need to have connections to power, the network, and telecommunications. The power connection obviously requires a cord, but the other connections may not. A wireless network provides the capability to still be connected to the office network. In most cases, the only significant performance degradation from wireless occurs when transferring data within the LAN. Phones in the work place are on the road to extinction. Skype can provide for most of a development team member’s telecommunications needs and costs much less than a traditional phone system.
Does anyone out there know of the best office configuration for an agile software team? Searching the web, I was unable to find helpful diagrams of agile office configurations except for a couple of references to the XP caves and commons configuration. Alistair Cockburn does provide some excellent guiding principals in Agile Software Development, but I’d love to see a more practical guide on configuring environments for different sizes of agile development teams.
With the absence of clear best practices for desk configurations, the Agile Desktop comes to the rescue once again. Instead of doing all of the office planning up front, when you have the least amount of information, create an environment that the team can easily adapt to fit its needs. Using an Agile Desktop, the team can experiment with different configurations and determine what works best. Also, the team can easily incorporate new members or members who are usually remote, but come into the office for short periods.
Did I mention that the Agile Desktop makes it easier to move the whole team outside too? Okay. I admit it. I’ve spent most of my time thinking about working outside and how I can sell it to management. The agile desktop promotes collaboration and allows the team to setup up work environments that meet its needs. We all need some natural Vitamin D every once in a while!