Building efficient business processes in a mobile application development company is a difficult, but rewarding task. In Stanfy, it gets even more challenging as we often have one of client’s engineering teams working 10 timezones away from the main office in Kyiv.
Over the years of making collaboration with remote engineers as smooth as possible, I’ve made a few observations on how to make the most of it, as well as what are the pros and cons of having engineering teams in different locations. In short, it’s a totally manageable task for the executives while for our clients it can be even beneficial.
Here’s what I’ve learned so far.
Adjust the work schedule
Mobile application development is a collaborative effort, which is the reason why it makes sense to set up a time window, during which the teams in different locations are at work and can talk to each other in real time. This might require a tweak or two in schedules on both sides.
When there’s no urgent things to discuss and teams have planned ahead what they’re working on, it’s usually enough to schedule two video calls per week so that engineers can stay on the same page and see the progress.
If, however, current tasks require more collaboration, we can move working hours in both locations to make them overlap. If the teams are in Europe and the US, as it is in our case, the best solution is for the European team to start work a bit later than usual, and for the US team to start earlier. That leaves the developers a few hours every day for real-time communication.
In addition to that, for projects longer than a few months I’d advise to plan at least one travel to the location of the remote team to spend a few days there. However good video calling can be, in-person communication is often irreplaceable.
Find the right tools
Technology and connectivity are the key elements in successful collaboration between remote engineering teams. Recently we ran a separate post about the tools used at Stanfy, so I will make just a brief overview of what you need to think about.
First of all, choose the solution for real-time chats and video conference calls. We use HipChat and Google Hangouts, but there are literally dozens of other products available, including Jabber-based projects, Webex, GoToMeeting etc.
You will also need good project management software to track everything that’s going on around and stay informed on what exactly different teams are doing. We’ve chosen Pivotal Tracker for that after numerous other systems and never regretted the choice.
The other essential tool is revision control system (we use Git and GitLab), as well as a knowledge base where you and your colleagues can put together every bit of useful information about the day-to-day tasks and particular project.
The golden rule
If someone asked me what’s the main thing I’ve learned about working with a remote engineering team, I’d say it’s that you have to always make your questions as simple and unambiguous as possible.
Here’s what I mean. Working in different time zones in some cases leads to delayed communication — for example, if a team member in the US asks their Ukrainian colleague about something, the answer will most likely come only next day. And if the question was formulated ambiguously, chances are the answer will be of the same kind, which would lead to another round of emailing.
After realizing how much time can be wasted on this kind of Chinese whispers, we now have a rule that emails with questions — especially addressed to our clients, — must contain possible options to choose from. That in most cases helps save time and sanity.
Pros and cons
All things considered, it’s safe to say that from the business standpoint there’s little to be afraid of in working with a remote engineering team. The only thing that I’ve noticed is that this way of working requires more discipline than usual collaboration between teams in one location — and this goes both for team members and managers.
For clients, on the other side, there seem to be only positive consequences. First of all, two teams working on the same product in different time zones means that the client can contact developers virtually anytime day and night and get a quick respond. Another benefit is that in many cases the remote team is located where the clients are, which also allows direct contact with the partners and allows for more frequent face-to-face progress meetings.
To sum it all up, there are three cornerstones of successful remote collaboration — discipline, planning, and communication. Do these right, and you’ll have a great productive team in any corner of the planet.February 17, 2015