What I have learned from working in a distributed development team

Points of attention after two years experience working with one team on two separate locations

Posted by Eddo on March 18, 2017

According to the scrum best-practices the team I am in is a bit odd; we’re one team of six developers and a product owner that are in two separate locations. The product owner and two team members are located in Amersfoort (NL), and four other team members (including me) are located in Madrid (ES). With this article I’d like to share what I have learned so far in the past two years working in this situation, and how I learned to deal with things.

Over-communicate

It may sound a bit strange, but in a setting of a distributed team you need to communicate a lot within the team, or have very strict processes. I tend to focus more on communication rather than following strict processes ;).A lot of communication in a team setting on one location happens on the fly, yet in a distributed setting you quickly forget to update your team members in the other location. This becomes less of an obstacle actually when you’re working in a completely distributed setting (i.e. working from home), you’re more or less forced to use the communication channels you’ve chosen as a team.

In our team we are using Slack for team chats, and there are days where we use it a lot, and other days where we barely use it. We do keep track of our continuous builds through ‘Bob’, a custom Slack web-hook that informs us of the status of our builds.

An example is when a question is asked through email to the entire team, that the first person to pick it up notifies the rest of the team that it is being handled. When not clearly communicating this situation could end up having the entire team working on the same thing, individually, or that no-one is actually working on it and the email is left. Sure, this can be caught in processes, yet it should be solved through open communication & transparency in the team.

Default to trust

In short, always trust your team members to do something with the right intention. This may sound simple, yet when providing feedback on work over a Skype connection between two people not speaking in their native tongue, things may be phrased and interpreted differently. I’ve had various cases when just the use of a single word did tip the balance the wrong way.

You always have to believe in the right intentions of the other person in the same team; you are working together, it is not that the other person is actually trying to undermine you. Make it explicit in your communication and team agreements.

Socialize & meet each other in person

It is good to socialize outside Skype sessions, and have a few drinks or go out to lunch with your direct colleagues.

When working in any form of distributed work, be it all remote workers, or as in our case two halves of one team in two different countries, it is good form to meet up with each other to get to know each other outside work. It is easy to form social bonds when somebody’s working a few feet away from you, yet it is something different when social bonds form across text-based or video-chat. They form less easy.

For the first 6-12 months we had very little physical travel between Spain and Netherlands in our team, and I personally think that has led (partly) to some issues that arose in that time. In the last year our team has seen each other more often in either NL or Spain, and that allows you to easier relate to the other’s perspective. Our team is now quite stable and besides the occasional hiccups, we’re happy to be working together.

Do you have any experiences working together in a distributed setting? I’d like to hear from you and what you have learned along the way. Let me know on Twitter.