Toronto is a big city. It’s not huge compared to New York or Hong Kong or Moscow, but it’s definitely too big to commute across. You know it by how much people talk about the traffic in this city and how emotional they get. If you ever find yourself at a dull party, just strike up conversation about public transit, traffic, road closures (I’m looking at you, King Street Pilot Project), construction, suburb vs downtown living, or people’s driving skills. I dare you to find someone who enjoys commuting in this city. There is not a shred of fun in driving or taking transit to and from work, and yet thousands of people continue to do it every day.
“But I must get to work to feed my family!”
Let’s be clear: I am aware that not everyone works in IT and that there are many jobs that have to be done by people being at a particular place at a particular time. At the same time, there are many jobs that can be done online or on the phone from home or a remote office, and yet people doing those jobs are still expected or even required to be in the office every day. In this post I want to talk a bit about my own experience working with remote team members.
Team co-location used to be all the rage in the Agile community. You couldn’t take a step without walking into a discussion of virtues of teams that work together in the same, preferably open, space every day. Mentioning that your team had remote members or that people worked from home a few days a week guaranteed some serious frowning from other Agilists. I know because I did the frowning on more than one occasion. It’s not surprising, since one of the principles behind the Agile Manifesto is daily face to face communication. This is so common sense that one wonders why this ever needed to be stated explicitly, but of course it did because for ages the norm has been anything but face to face conversation. In siloed corporate environments with layers upon layers of hierarchy, emails, memos, letters and scheduled meetings have long ago replaced simple conversations.
For a while I was certain that co-location was necessary and anything else was second best. The benefits of co-location were obvious: as a developer I could easily turn around to the PM and ask a business question or show story progress, I found out right away when QA’s ran into issues (sometimes before they even said anything – their faces were dead giveaways), and I could easily talk code to another dev. In my view working from home was ok occasionally, but really subpar, and I scoffed at any suggestions of remote team members (it sounded too much like outsourcing).
But the times… they were a-changing. One fine day I was faced with the prospect of working with remote team members located all over the world (and contractors at that). Don’t think I gave up without a fight. Oh no, I kicked and screamed all the way to the first planning meeting. Change is hard even for the most Agile of us.
People on my team were from Toronto, all over the US, from Poland and India. I had to figure out a stand up time that would work for everyone, but people were very accommodating and it all worked out alright. We all had to get used to each other’s accents, but that’s often the case at any workplace anyway. The company brought everyone together on site every few weeks – that helped a LOT to get us to trust each other and communicate better. Pretty soon it was a fine melting pot and we started getting some good work done together.
I made a startling discovery: remote contractors were human too. They lived, they breathed, they were shy or outspoken, they laughed at jokes, they talked about the weather and weekend plans, they asked questions, they made decisions, occasionally they made mistakes. Most importantly, though, they did good work and they were interested, curious and driven; they wanted to succeed and learn.
On the other hand, I also became acutely aware of the fact that some of the people in the organization, people who were co-located, who came to the office every day and had 100% face to face communication, were detached and uninterested in their work. They showed up in body, but not in mind or spirit . Working with them was brain numbing and I’m sure they felt the same way too. This was a huge lesson for me. I realized that I would much rather have remote people on my team who were motivated and excited about the work than have co-located people who didn’t care.
Once I let go of the idea that co-location was required for good team work, I was free to solve the actual problems that do arise when people need to get stuff done together across distances, time zones and cultural divides. These problems were not of some insurmountable metaphysical category. They were common problems of human interaction and communication. And while they definitely were amplified by distances and time differences, the approaches to helping a remote team solve them were similar to those for a co-located team.
For example, just like for a co-located team, good team work is impossible without trust. Building it takes time and patience. Transparency, open communication, celebrating success and pitching in to overcome hurdles together, all with a sprinkle of good humour, go a long way. Bringing our distributed team together in a physical location for a week or two once in a while was an awesome way to boost trust.
Cooperation and common understanding decay quickly if there is no ongoing free communication. It’s harder to communicate over phones, emails, messengers and teleconferences. But a remote team is also more aware that communication needs more TLC. As a Scrum Master for a remote team I used to spend a lot of time making sure that people connect, talk things over, get to a common understanding and decide how to move forward.
Just like co-located teams, remote ones must continuously improve the process through retrospectives, because just like for a co-located team, that’s the key to becoming a great team. And while it’s definitely easier to run retros for co-located teams, there are many great online collaboration tools that can be used to run remote retros. I used Google docs as a very low maintenance and low setup solution. Scrumblr (http://scrumblr.ca/) was also a fun little alternative. There is a ton of others. It’s probably better to keep the retro format simple for a new team, and start experimenting when people get more comfortable with online communication – though, once again, that’s a good rule to follow for a co-located team, too.
In recent few years co-location has ceased to be a staple in conversations about Agile. To me this is a good thing. We’ve accepted the reality that companies sometimes have to look for talent outside of their location. Technology has advanced enough to make remote collaboration much less of an issue. Team work challenges remain, but they all fall into the same buckets for both remote and co-located teams. I think that if the option of remote work can save us from the mind-numbing commute it may just be worth a try.