Friday, 17 January 2014

Working With Geographically Distributed Teams

For the past number of months I have been running a project to develop a new range of apps. As a part of this I have had to face a number of challenges, the biggest of which is how to manage a number teams that located in different parts of the world. With us all working towards the same goal and on the same code base, communication is key. The intent of this post is to share some of the (sometimes obvious) ways in which to get around the problem and run a project where people can be scattered around the world.
To begin with, I feel that there are 4 main areas on which to focus. These are People, Process, Tools, and Cadence.

The most important thing to remember when working in this way is that everyone involved is still a person. Nothing beats that interaction when it comes to helping your project to progress at the desired rate.

When choosing your tools & processes, you should remember this. Anything that helps your team feel more real and together will be of benefit here.

People tend to forget parts of the process when working in this way. Make sure you follow the normal patterns;
  • Daily Standup
  • Tech Huddles
  • Sprint Reviews/Demos
  • Retrospectives
  • Scrum Boards
  • Burn up/down charts
  • Reporting

There are some great tools around to help us work collaboratively across geographically distributed locations.
  • Google Hangouts/Docs
  • Skype
  • Basecamp
  • Campfire

There are also tools which will help you to follow your particular processes across different locations.
  • JIRA
  • Leankit

With all of the above, it is of paramount importance that you keep up the cadence. It is much more of a challenge to get this to work smoothly with people in different locations. Ideally you would have someone responsible for this in each location to help facilitate and engender this behaviour. Once it sets in, all of the above will contribute hugely to your project being successful.

Other Stuff
There are other things that can be done to help ensure that your projects like this are successful;
  • Meet face to face regularly. All the tools in the world cannot replace this
  • Pick up the phone. It's much better to speak to the person at the other end rather than playing email tennis
  • Take advantage of technology. Don't be restricted to the above if you find something that can help.

For more details feel free to look at the document here