Many in the Agile world see co-location as a necessary condition to work in an Agile way.
I understand where they’re coming from.
Locating your team within earshot of each other makes communication much better. It promotes trust and respect between team members. It makes the work easier to manage. In many cases it lowers operational costs too.
The problem is: sometimes it’s just not possible to have your team located in a single place.
The Hidden Costs of Agile in the Real World
When you read books about Agile, they rarely cover the changes an entire company will have to make when its engineering team adopts Agile.
Sometimes your management might give support for Agile without fully understanding the cost or the implications for the rest of the company.
Co-location is one of those costs your management team might not see coming.
A $200,000 Problem with Co-location
In one company I worked at, we ran into this problem in a big way.
We were adopting Scrum, and we had the support of our company leaders for the change. As part of that, we went to the facilities department and asked if they’d help us re-architect the space we were working in.
We asked to relocate everyone’s cubes and reconfigure the layout so we could sit together and communicate with each other easier. We asked for a Scrum room for our planning meetings and stand-ups. We asked for boards where we could hang up all our post-it notes and keep track of everything.
The facilities team looked at what we wanted to do and added up the cost of everything they’d have to change for us.
They told us the cost would easily be over $200,000.
Despite their earlier support for Agile, the company’s management didn’t support spending $200,000 to help us re-configure our work areas.
We got a few things changed, but not before making a lot of adjustments to the plan.
We commandeered a conference room that we shared among multiple teams. We weren’t able to reconfigure cubes, but we did try to move people around to be less disruptive.
We also used teleconferencing where we could.
It was good to see people visually and communicate better with teams not in our same location. But still, it wasn’t the same.
If You Can’t Be Co-located, Can You Still Be Agile?
When you implement Agile in a real-world environment, it’s going to look different than it does in all the books you’ve read.
Those books describe the ideal way to set up an Agile team. If it’s possible to set up your team exactly the way described in the books, by all means, follow their model to the letter.
Personally, I’ve never seen an Agile team that didn’t make significant adjustments to the “book version” of Agile.
Co-location is one of those things many teams simply can’t do in their companies.
That’s especially true today as more and more teams deal with remote employees or teams from different locations.
I have a colleague who uses Scrum with a globally distributed network of engineering teams, including teams in India, the United States, and Canada.
Their process doesn’t follow the book version of Scrum, but if you look at how they work, it’s still a very Agile way of doing things. And they’ve learned how to be very effective at what they do.
Can you be “Agile” even if you don’t have a co-located team?
I say the answer is yes. Unequivocally yes.
5 Tips for When Co-location Isn’t An Option
If you find yourself unable to co-locate your team, it’s not the end of the the world. Here are a few things you can do instead:
1. Commit to Finding Creative Solutions
As engineers and developers, we’re problem solvers. We face challenges every day that require creative, innovative thinking.
Step one of implementing an Agile process is to adopt a mindset that brings that same problem-solving approach to the way you work, in addition to what you’re making every day.
2. Commandeer a Conference Room
If your facilities team can’t make you a dedicated space, try to claim an existing one. If at all possible, use the meeting room that’s closest to the highest number of your teammates.
3. Use Skype, Google Hangouts, or Other Video Conferencing Applications
Technology has come a long way in recent years. If you have team members in other locations, seeing them via video will help help your team members build trust with each other.
If your company has a video-conferencing solution, use it. And if not, Skype and Google Hangouts are effective. Plus you can use them for free in most cases.
4. Consider an Online Scrum Board (And Project It on the Wall if Possible)
This can be a great solution if you have virtual team members or teams in different locations around the world.
Got a projector? You can even project your scrum board up on the wall in each of your team’s locations.
5. Daily Stand-ups Via Email
Daily stand-ups are sacred to many in the Agile community. I agree meeting in person (or at least by phone or video conference) is the best way to have a stand-up.
But maybe you have workers in different time zones or on different shifts. In some cases, a true daily standup isn’t practical.
If so, remember the point is to keep communication open between team members. If you can’t meet in person, have everyone check-in every day via email or an application like Slack.
It’s not as good as an in-person meeting, but it can still help you keep everyone on the same page and moving in the same direction.
If you want to use Agile in the real world, it’s likely you’ll have to adjust the “rules” to make them fit your specific situations.
Adjusting the Agile guidelines does not mean your team isn’t work in an Agile way. It just means you’re being creative about how you’re getting your work done every day.
And isn’t that the point of Agile in the first place?