It’s increasingly rare for every team member to work the same hours in the same location. In many ways this is beneficial – developers can work on projects they’re passionate about when and wherever they want, while employers can hire talented, driven developers regardless of geographic limitations.
With these benefits, however, come new and unexpected challenges. Lack of physical proximity means everyone isn’t always on the same page. Some even find they’re expending extra time and energy making sure projects are completed promptly and correctly.
This doesn’t have to be the case. Below, you’ll find a handful of strategies for minimizing the challenges associated with managing remote developers. While they may seem like additional work, these practices can make working with remote developers more rewarding and less stressful.
How to Manage Remote Developers
Communication is Key
Many of the problems that arise with remote workers can be solved by better communication. The following practices will ensure that everyone is on the same page:
- Direction — Because they can’t drop by your desk for clarification, they might be hesitant to contact you when they run into problems. Make it easier on them (and yourself) by working in short sprints of one to two weeks and being clear about your expectations. Break complex projects into smaller parts, and include mockups, screenshots, and screen cam movies.
- Daily Meetings — Communication doesn’t end with directions. A voice or video meeting with remote workers each morning gives them the opportunity to ask questions and allows you to gauge progress and determine whether touching base later in the day is necessary.
- Trust or Discuss — Monitoring remote workers constantly indicates distrust, while ignoring them completely signals their contribution doesn’t matter. If projects aren’t completed, it’s important to work together to resolve whatever is standing in the way.
Build Community Among Remote & Local Workers
Because they’re not part of the office atmosphere, it’s easy for remote workers to feel isolated – sometimes even worrying about job security. Along with communicating regularly, the following practices let remote workers know they’re valued team members:
- Partner Up — Rather than leaving them to work on isolated tasks for long stretches of time, facilitate communication by pairing remote and local workers for programming, code review, or testing.
- Knowledge Backup — It’s a good idea to designate a remote worker to serve as knowledge backup for a local worker. This not only encourages communication, but ensures that someone with relevant knowledge is available during off hours.
- Encourage Communication Among Teams — Your remote team should talk together, and your local team should be online and responsive as often as possible. To prevent questions on the coders channel from going unanswered, have tech team leads take turns acting as moderators.
- Capitalize on Time Differences — Instead of letting them limit you, take advantage of differences in time zone. Have local workers resolve blockers or problems so that remote workers can pick back up the next day. Conversely, any problems that local workers encounter toward the end of their workday can be resolved by remote workers.
- Include Remote Workers in Company Events — In meetings, make sure that notes on the whiteboard are easy to read and recorded in real-time so that remote workers can fully participate. Periodically ask them for input since it can be hard to remotely interject. So they know they’re more than just labor, be sure to leave Skype up and running to include them in fun events.
Be Conscious of Differences
As much as you encourage communication and community, sometimes you have to understand that working with remote developers is a different experience. Be sure to:
- Let Them “Put on their Headphones” — Just like local workers, sometimes remote workers need to put on their headphones and get things done. Know that even when you can’t get in touch with them immediately, that doesn’t mean they aren’t working.
- Acknowledge Time Differences — As much as it can work to your advantage, having workers in different time zones can be a challenge. Know that their days are different than yours, and take care not to plan a three hour meeting during their lunch hour.
Though it might seem easier to simply hire workers who live in your area, the benefits of working with remote developers outweigh the minor inconveniences. When you hire skilled workers who love what they do, taking the extra steps to communicate regularly and ensure they’re part of the team will be more than worth the effort.
Video Call Photo via Shutterstock
John:
Do you think that Skype new translating feature will make it easier to manage remote developers in the future? Could you list some companies that are good att taking care of their developers around the globe?
Yes. Daily checking is essential but it does not need to be time consuming. One of the things I hate about meetings is that they take too much time to discuss things when they are better off written as a set of instructions that I can follow. It saves both parties some time to do the important stuff.
First step, fire the developer of the picture. He’s way too laid back. 😛
Seriously now: great tips!
This is a topic very close to me: I work at two companies; a consulting firm offering development services (often overseas), and developing a system that helps team work remotely.
A couple of things that businesses that hire an offshore team must know is that
a) Someone has to be the project manager of the project. And a software-project manager must do everything John listed. If not a full-time job, it is at least a half-day job. If you don’t have that key individual in your team you need the offshore team to provide it to you.
b) Trust on the remote developer must be gained, and it is the developer’s responsibility (or the firm who manages his work) to gain it.
One ‘trick’ that works well for me is to inforce three daily 5-minutes report:
1. Check-in: explain what you will do (which tasks you will tackle) today
2. Half-day/before-lunch: explain how your tasks are coming along. Any obstacles?
3. End-of-day/before you leave: explain how the day went. What progress was made.
Poor performers improve their work (they feel pressured). Eventually they leave or you fire them.
Good performers don’t mind a little control. They are proud of their work, professional, and understand that trust is to be gained. Eventually you may decide (together) to reduce the reporting (maybe one update per day).