Being a manager of a distributed team of people can be a challenging role. When you have to communicate on a daily basis and those people are in different time zones, or if you're at the end of the project delivery date, you may find your stress levels slowly creep up higher and higher.
I've not only been trying to lead a distributed (albeit small) team for the last year, but I’m also trying to balance my daily testing tasks, researching new tools that could help my team, and maintaining or improving the overall quality of projects across the company.
Let me share with you a few challenges that I've faced and how I have or am planning to overcome them in the future.
Different Time Zones Between Team Members
It's important in every project for team members to regularly communicate. It's easy for details to be missed, especially during busy times in the development process.
When your team are in different time zones, it's even more important to make sure that they communicate daily. You've only got a specific amount of time overlap to talk directly with your team all at once. This time must be utilized and never skipped by anyone.
Ways that your team could communicate could be via the daily stand-up meeting (if you use Agile methodologies), or making sure you are giving daily reports via other channels, like internal communication systems such as Slack or Skype. Whatever medium you use, just ensure that the communication is regular and everyone gets involved.
Lesson: Plan your meetings at times where everyone is available and projects are not busy.
Balancing the Workloads of All Team Members
Even in teams as big as 100 people, it’s important that everyone feels like they are not overwhelmed by the work we have and can also perform their job to the best of their ability.
Having a distributed team also requires you to take into account what time other team members may also be working so you can assign the correct project to the correct people. You can use tools like Trello, Asana, or even a spreadsheet to manage project assignment. Doing this will help those team members more easily manage their workload so the project is more closely aligned with their schedule.
You’ll also need to consider the skills that are needed for a project and how long the project will last. This will help you assign the right team member to the right project. For example, say you had an upcoming project where the test framework needed to be written in C# and some of your team were proficient in Java and some in Ruby. You may find that this type of project will be easier to and faster to implement by members of team know Java as they are quite similar languages.
Lesson: Try and match the right projects to team members with similar skills, interests, and time to carry out the project.
Trying To Manage Everyone and Everything
Despite being a small testing team at Immerse, we have a continually big workload. We are managing the quality and daily testing for two-to-four projects at once. With my job, carrying out daily testing tasks, building the automation suites, and trying to monitor the overall quality strategy in the company can be a lot to do for one person. But not for me, I'm Superwoman!
Only (and obviously) joking. Seriously, I realized very early on that there isn’t time to do everything, and that I can’t manage everyone and everything by myself. So, to make sure I can carry out all of my tasks, I prioritize my work and delegate lower-priority tasks to other team members.
I split responsibilities between team members according to project deadlines, project requirements, and team member availability. I encourage my team to do the same thing to make sure they also don’t feel overwhelmed and can get their jobs done well.
In a distributed team, this can work to your advantage. For example, if you have team members who are in a time zones hours ahead or behind you, you can leave them work when your overlap time is over. Then when you return, the task may be fully or almost complete, ready for you to focus on something else.
In order to do this, you need to know your team and trust that they will carry out their jobs so that you can focus on the big picture.
Lesson: Get good people to help you manage things.
Trying to Monitor the Progress of Your Strategy
When I first arrived at my current company, Immerse, one of the first things I was asked to do was outline a Test Strategy for the company.
Every month I try to track if we’re still on our way to achieving those goals I set a year ago, if they need adjusting, or if they're no longer relevant and some of the strategy needs revisiting.
If all of my team were in one location, it could be as simple as having a quick meeting once a month to find out where we are. But having a distributed team means that this needs to be planned in advance and at times where everyone is available. With some members of my team in time zones as far away as four hours at times, meetings need to be planned at times during the project where each member won't be busier than usual, like the week before a product delivery.
Utilize free calendar resources, like Google Calendar, to share a team calendar booking in important dates where the team will be busy or unavailable. Use this to regularly track your progress with team meetings.
Lesson: Have a clear idea of your vision and keep track of it being executed.
It’s Easier for Quieter Members to Hide Away
Make sure the quieter members of your team are also vocal at team meetings. Find ways to get everyone engaged with their team. It’s easy for those that are quiet to sit back and let others that are more confident speak up, making themselves be heard, especially if these meetings are over Slack or Skype.
You can do this by directing specific questions to these people or asking them their opinions. This will prompt them to speak up a bit more. If English is not their first language, they may be more inclined not to speak up, but giving them a little nudge by asking a question to them here or there may be all they need to build up their confidence.
Keep in mind that there may be a reason why these people are quiet, so before you ask them questions in meetings with everyone ready and waiting, maybe talk to them privately. Learn who they are and what motivates them, then use that to regularly engage with them.
Lesson: Learn who your team are and how they like to communicate, and encourage them to participate.
It's Hard to Keep Everyone’s Skills Up
In any technological field like software development, virtual reality, big data, or artificial intelligence, one of the challenges is to make sure you are constantly learning. Things are always changing and it’s important to keep your skills up.
It’s hard to find time to build your skills (especially within testing and QA roles) because at the end of the day, you're employed to develop and ship a product. Improving your skill set in an area is usually a byproduct of working on something day in day out. But, I would suggest you encourage your team to carve out some dedicated time in their week to learn new skills or improve on existing ones. This not only will keep people in your team, show you care and want to invest in their personal development, but will also make them enjoy coming to work.
Utilizing resources like Pluralsight courses (aimed at those in technical professions), YouTube videos (for everyone and about everything), knowledge sharing sessions, and pair programming are all easy to access. All of these are free to low-cost ways to improve your knowledge and strengthen the skills of your team.
It's easy to let deadlines let us work through these times, so make sure your team schedule them at times where they have little to no distractions (if at all possible).
Lesson: Tell each team member to calendarize a time slot for themselves to work on skills weekly to improve their knowledge.
The Bottom Line: Have a Great Team
Leading a distributed team as well as all of your other responsibilities as a manager is a challenging task. You shouldn't underestimate that the amount of work done day-to-day will be the same as when you lead a team all in the same location.
Sharing tasks among your distributed team members, like responsibilities, projects, and even meetings, will help you balance the efforts of your daily and management tasks. But you need a good team to help you with this.
So, make sure you find the right people to help you. In return, invest some time into them by making sure they are not overloaded with work, get to know them by finding out what motivates them, and encourage them to build their own skills by training themselves.