This article talks about the mistakes you can make when managing developers and how to best avoid them.
Do you have a software development team that is spread out across the globe?
If so, you already know the challenges of trying to manage telecommuting developers. It can be tricky to keep everyone on the same page when they are not in the same office.
However, with a little forethought and careful planning, it is possible to successfully operate and direct a remote development team.
Here are some key tips that will help you keep your team on track across time zones.
Table of contents
Choose the right tools for team communication
Working remotely can be a great way to jumpstart productivity, but it can also be a recipe for disaster if you are not careful about choosing the right communication channels.
The good news is that there is a wide array of versatile tools out there that can make communication among distributed teams a breeze.
Slack is one such tool that is often recommended, thanks to its virtually limitless functionality.
Whether you need to organize remote meetings, discuss ideas with your colleagues, or brainstorm new projects, Slack has you covered.
Slack also has a number of features that make it ideal for team communication across different time zones, including the ability to create channels for specific topics, @mention other users to get their attention and use emojis to add personality to your messages.
However, as anyone who works in a remote team can tell you, there is one thing that is almost as important as getting work done: staying engaged with your fellow developers.
Whether it is congratulating each other on reaching milestones or simply having a lighthearted laugh about an inside joke, the virtual water-cooler conversations are critical for keeping remote teams engaged.
And as you can see in the hilarious conversation on Groove’s water-cooler channel, Slack can also be a perfect tool for sharing funny images and cracking jokes, thus fostering a team spirit among the developers.
Productivity tools are also something you should seriously consider implementing if you want to improve your team’s communication.
Luckily, there is a plethora of different project management tools to choose from, such as Asana, Monday, Trello, and Basecamp, to name just a few.
For example, with Basecamp, you can manage your team’s work in one centralized hub, no matter where they are or what time zone they are in.
But, as you can see in the picture, whether you need to provide feedback, perform regular check-ins, or simply chat with your colleagues, Basecamp also has all the features necessary to keep your dislocated teams communicating and humming along smoothly.
And if you are still on the fence about which tool would be the best for your remote development team’s communication, you can always take a look at Toptal’s recommendations.
Founded in 2010, Toptal was one of the pioneers when it comes to the fully remote company model.
And with the onset of the COVID-19 pandemic, they have decided to share their vast experience to help other companies tackle the challenges of working remotely.
That is how The Suddenly Remote Playbook was created, allowing companies worldwide to draw inspiration from this treasure trove of valuable advice.
One whole section is dedicated especially to the tools they use and find invaluable for their remote work management.
But what makes it so great is the fact they mention why, when, and how they use a specific tool, which can come in handy for remote companies that want to improve their overall performance, including communication.
Remember, it can be challenging to work remotely while maintaining clear communication and smooth collaboration across borders.
However, with the right tools in place, your remote team can be just as effective (if not more) than a traditional office-based team.
Become better at asynchronous communication
When your team is spread out across the globe, time zones, language barriers, and different work schedules can all make it challenging to stay on the same page.
That also means that your development team will, to a great extent, communicate in an asynchronous manner, instead of in real time.
Although this all can be a tough balance to strike, there are a few things you can do to make the flow of information easier for everyone involved.
First, it is important to have a clear understanding of each team member’s time zone.
For example, if you are working on a project with someone in Denmark or Australia, you need to be aware of the fact that they may be asleep when you are awake and vice versa.
As a result, emails and other messages that are sent at specific hours on one side of the world may not be received until much later on the other side.
To avoid this issue, it is a good idea to schedule your emails ahead of time using an email reminder tool like Boomerang or FollowUpThen.
This will help ensure that your messages are received in a timely manner and allow you to effectively communicate with other team members without being constrained by time zones.
But asynchronous communication shouldn’t be limited only to emails and other types of written messages. You can use it in video conferencing and virtual meetings too.
Let’s see how GitLab handles this situation to make it more clear.
According to Sid Sijbrandij, CEO at GitLab, their team members rely heavily on both asynchronous video conferencing and meetings while collaborating with each other.
They record conferences, meetings, presentations, and video calls and save them to the internal channel called GitLab unfiltered or their dedicated YouTube channel.
That way, anyone who wasn’t able to be present in real time can tune in at their convenience and still be kept in the loop.
They even sometimes stream meetings directly on YouTube, and later add them to their YouTube playlist, as you can see in the example below.
GitLab is a fully remote company, so it is no surprise that they are aware of the importance of investing time and effort in boosting asynchronous communication among the team members.
Of course, you don’t have to go to such lengths to have a YouTube channel for this purpose.
Just a recording of a presentation or a video call shared with fellow developers now and then will suffice.
Asynchronous communication will help you to bridge the geographical divide. Therefore, every little step you make to facilitate it among your workforce is well worth the effort.
Have a single source of truth
Few things are more frustrating than dealing with a variety of different code repositories and tools when you are trying to work on a complex project.
The only thing more annoying is probably not being able to find the information you need when you need it to do the work properly, as 81% of employees identify this as a major source of frustration.
Therefore, It doesn’t matter if they are working from San Francisco, London, or Sidney—it is essential that all developers have access to a relevant and up-to-date single source of truth (SSOT) so that they can stay on top of their work efficiently.
To create such an SSOT, you need to start by choosing one platform or tool to use as your main hub. This can be something like, for example, GitHub, Bitbucket, Jira, or Trello.
GitHub and Bitbucket have already gained popularity among developers and coders due to their capabilities to plan projects, collaborate on code, test it, and deploy so it is no wonder many development agencies choose them for creating SSOT.
As you can see in the picture, with Bitbucket you can easily create repositories to collect and store all the documentation, code snippets, and other important information in one place.
Additionally, the tool allows developers to easily connect and work on the same code, which can go a long way towards maintaining a consistent SSOT.
However, there is no denying the fact that developers who work across different time zones can sometimes face challenges when it comes to creating a single, unified source of truth.
This is largely due to the fact that different developers may have slightly different ideas about what “truth” means in terms of code, and conflicting opinions can easily lead to disagreements and confusion down the road.
So, it is crucial to create clear documentation that lays out coding standards for all team members to follow.
You should also determine who on the team has the skills and knowledge to author quality content, who is going to proofread and fast-check it, and what type of permissions or user roles team members will need.
Luckily, most platforms already have built-in features that enable agencies to decide who can curate, edit and view information, as you can see in the Firebase example below.
All in all, when it comes to your SSOT, the saying “quality over quantity” definitely applies.
Studies have shown that when documentation is well-organized and accessible in multiple formats (such as articles, videos, and forums), developers can see an average productivity boost of about 50%.
So if you want your distributed developers to thrive and succeed, make sure you have SSOT and keep it up-to-date and relevant at all times!
Use overlapping “office hours”
In today’s fast-paced world, it can be difficult to find the perfect time for meaningful collaboration and communication with a dispersed software development team.
Should you schedule a meeting at Eastern Time, Pacific Time, or mix and match those two? It is a delicate balancing act—and one that doesn’t have to be so challenging.
The first thing to keep in mind is that “remote” doesn’t have to mean “out of touch.”
There are many ways of keeping everyone on track, even if they are several thousand miles away from each other.
One of these ways is by setting up an overlapping work schedule.
The concept is simple: set aside a specific window of time every day when everyone on your team is available to communicate, either for one-on-one or group discussions.
As you can see in the picture, if your team works across three time zones, you can have one set of office hours that overlap with working hours in each employee’s location. For example:
- 9-11 AM PT (San Francisco)
- 12-2 PM ET (New York)
- 5-7 PM GMT (London)
During those times, everyone is expected to be available for collaboration and communication, whether it is checking in via email or Zoom or attending a meeting.
The rest of the time, people can focus on their own tasks without worrying about interruptions from colleagues.
Daria Stolyar, a digital marketing manager at Rubyroid Labs, shared in a Quora thread that her company does exactly that—uses overlapping hours to schedule a 3-4 hour meeting for solving issues, indicating that it is a practice well followed in the remote development world.
However, this approach doesn’t come without a fair share of trouble.
To avoid a situation where one person always has to conform to a meetup time most suitable for the rest of the participants, it would be advisable to rotate the overlapping hours, as they do at Couchsurfing.
This way, everyone gets a chance to attend at least some of the discussions at a time that is most convenient to them. Being fair boosts team morale.
To sum up, whether you need help with a specific coding problem or just want to brainstorm new ways to tackle a big project, overlapping “office hours” allow you to tap into the experience and expertise of your entire team.
Plus, they create an informal setting that encourages creativity and fosters productive conversations about challenges, big and small. And that is something worth considering.
Organize regular meetings
When you are at the office, it is easy to hold meetings with everyone on your team. You just walk over to a conference room or gather in someone’s office.
But when you work remotely, organizing a meeting can be much more tricky.
But, the fact that your developers are located in different time zones is not a barrier to having regular team meetings.
On the contrary, it should be a huge incentive to have them as it helps to keep everyone productive and on the same page.
So how to organize regular meetings with your distributed team?
Start by setting a regular meeting time.
Whether you choose to meet every day, week, or every month, having a structured time when everyone can get together and discuss issues is key for maintaining productivity and keeping everyone on track.
For instance, Groove, a sales engagement platform, has a regular check-in meeting every weekday at 10 AM EST.
Whether it is a short update on Tuesday and Wednesday, or the more comprehensive 30-minute meeting on Monday to recap progress from the previous week, these regular meetings help the team stay in sync.
You can follow Groove’s example or find the time that is more convenient for your distributed team of developers.
What is crucial is that you set the date and time and stick to it so everyone knows when the meeting will take place and organize their work accordingly.
And you don’t even have to have a specific tool or software to schedule a meeting, a simple invitation in Google Calendar will do the trick.
Another thing you should consider is to identify the main purpose of the meeting by asking yourself a few simple questions.
- Is the purpose for everyone to get an update on each other’s projects?
- Or is it more of a brainstorming session for gathering ideas?
By answering these questions, you will be able to set a clear agenda for each meeting. That way everyone on the team will know what to expect from it and will come prepared to contribute.
And the final advice, don’t overdo it. A lot of meetings seem like a waste of time to the developers, as they feel they could have spent it doing something productive.
Or as Jason Lengstorf funnily comments on Twitter, many meetings should not have been held in the first place as they could have easily been a Slack message.
There’s no point in holding a daily or weekly meeting if you don’t actually need it.
After all, no one likes too many meetings, especially considering the fact that remote employees spend more time in meetings than those working in the offices.
Remember, in addition to being an opportunity for team members to exchange updates and offer feedback, virtual meetings can help to create a sense of camaraderie and collaboration that is vital for successful teamwork.
By organizing regular meetings, you can make sure that all your distributed developers stay connected and focused on achieving common goals.
Managing a software development team that is spread out across different time zones can be quite a challenge.
However, the whole process becomes much more manageable if you follow some simple advice and tricks of the trade.
In this article, we showed you how with a little bit of planning and with the help of the right tools, you can make sure that your team is productive no matter where they are in the world.
We hope you found our tips helpful and that you will be able to put them into practice in your own development team.