Blog Article

How to Get The Most Out of Your Remote Software Team

Avatar
Anastasiya Tsyrulnykova
PM with passion for building great products.

Tech junkie & marketing devotee.

Картинка статьи

All my life I’ve been working in partially or fully remote teams. Remote work opportunities definitely enhance the performance of any company because of the ability to source and hire people from all over the world. From business perspective, remote teams allow for substantial cost-cutting as you don’t have to pay for office space and infrastructure development. From employee perspective, remote work give us the freedom to be flexible with our time schedules, travel more, and better embrace diversity and innovation by working in R&D labs or co-working hubs (which offer a lot of networking and knowledge sharing opportunities beyond a permanent or temporary workstation).

However, establishing proper communication within the team and among the distributed teams remains a huge issue for many businesses that leverage remote talents. Even teams based in one office space can lack an intuitive understanding of the importance of communicating with each other on a regular basis. They may perform great, solve tasks diligently but can totally forget about sharing their insights into that last big issue they had to solve. That often results in problem escalation later on. The absence of effective communication within a remote/offshore software development team leads to poor performance and poor outcomes. At the same time, the inability (or unwillingness) to discuss current issues with a direct manager usually results in good specialists leaving your team which, in turn, translates into significant financial losses.

Get me right, it is your job as a project manager or team lead to create a habit of transparent communication within the team, as well as build suitable communication channels and make sure that nobody will be punished if they bring the bad news to the table. You should encourage your team members to do so by creating an atmosphere of trust to enable your people to freely discuss their latest successes and failures. Whether the success analysis will make them feel proud of themselves and encourage their peers to raise the bar of own efficiency, the post mortem part (failures analysis) will make the team resolve an issue collectively and avoid the similar problems down the road.

I wouldn’t say that building such a transparent communication is an easy thing to do. No, it’s not. It is a long run but it’s totally worth it.

There are a couple of high priority things that I personally concentrate on when building proper communication (sometimes from zero) and as a result, create a self-organized and harmonized team. The main goals are usually to make your team comfortable working with each other, share their thoughts and ideas in a prompt way, criticize the solutions without fear, look for the best ways to resolve problems and find kludges to create things that are hard to implement with traditional means.

Set up a working process

Do not micromanage

I totally understand how hard it may be to trust other people, especially if you have a habit to do everything by yourself. But amazing teams are not one-person teams, they’re full of bright minds each of whom is responsible for something they are great/best at. They may not be great at the task they need to fulfill from the very beginning. But that is your managerial competency and task to make the right assignments within the team. Your goal is to motivate the person to learn and grow, try new approaches, make mistakes and learn through constant practice.

remote team management, offshore team management, outsourced team management

 

Do not try to control how your employees fulfill their tasks. Suggest something, show the examples of how it was done before but do not push. Your way is not the only one correct, there might be a dozen other ways and efficient solutions you are not yet aware of. Motivate your teammates to be creative, think outside the box, solve issues in a nonconventional way. That may result in failure, be aware of it. Mitigate the risks from the beginning, reserve extra time for a hard-to-solve task and give your people a second chance if their first attempt has been a failure. They will be grateful for your confidence in their skills and knowledge to figure out the best solution.

Set achievable goals

People work better when they understand the long term business goals they contribute to. Nobody wants to work on something unmeaningful. Show your people a roadmap for the product launch, discuss both the long-term and short-term goals of your company and for each department, and make sure everything is written down in a shared document every team member has access to.

how to manage offshore teams

As a PM, I used to work with Objectives and Key Results (OKR), a goal-setting framework used by Google to set up goals for every department. Long story short, a CEO sets 3-4 wildly important goals for the company, each department/team lead sets 3-4 goals for their department, and each employee sets 3-4 goals for themselves. The main issue of personal goal-setting is to make sure your goals contribute to department goals, while department goals need to align with company goals. That way, every employee understands and sees how they personally influence the company goals.

No matter what framework or methodology you choose, the main issue is to adapt it to your teamwork and establish quantifiable and reachable goals for every person. The goal itself should be clear and easy to check on whether it can be achieved or not.

One more important thing is to establish a convenient reporting process. I am not personally a big fan of long written reports at the end of the week, as they take too much time to fill in and feel like an obligation you can’t omit. In my practice as a PM at 8allocate, we tried to establish the way of reporting that would be most convenient for teams: besides having daily standups and weekly meetings, we had a shared doc for reporting daily and weekly status by the whole team. My point is, reporting is a tool for everyone to be on the same page and share the progress and problems if any. It shouldn’t be just a tool for a project manager to control their employees!

Meet at least once in a quarter

Going back to the distributed teams, if there is a possibility to gather at least once in a quarter, do it. We once used to have a team spread across 2 continents and 4 cities. Despite the fact that communication was pretty well-established, we did miss the possibility to bond and have a small talk on the kitchen every day. So we decided to gather all together at least once in 3 months to improve team morale and reflect on professional and personal stuff. We traveled to different locations and spent a week there together talking about work and personal lives, brainstorming and just having fun. That was an awesome initiative and it helped a lot to relate to teammates you have previously only seen on video calls. Those gatherings helped us become a better and stronger team together.

Communicate and build relationships

No agenda = no meetings

There was once a great idea by the CEO of a product company I worked for that completely resonated with me. The idea is simple yet amazing, as most of the great things. If you want to have a meeting with a coworker, just add an agenda to the meeting at least a couple of hours before it. No agenda means no meeting is needed. The rule said that if there’s a team meeting booked in the calendar without an agenda put in place, it could be canceled by anyone from the team, and the organizer would get one point deducted from their score. Those who got -4 points would receive a small fine (e.g. 5 kg of exotic fruit delivered to the office). It was a fun yet efficient way to gamify the work process.

programmers for hire, where to find good developers

Agenda helps everyone engaged in the meeting be on the same page, plan the discussion in advance, and prepare all documents in a timely manner if needed. It often helps eliminate stress connected to having a conference call with a higher-profile manager and better structure the recurring discussions within the teams. If you think it will take too much of your valuable time to come up with an agenda, think how much time you normally waste at meaningless meetings that have no clear roadmap and no exact course to take.

Be truly interested

Your team consists of people who you will spend the most time together during the next couple of months, or a year or two. When in the office, they are professionals solving whatever impediment may come in the way. But who are they in their spare time? Sports devotees, art performers, board game junkies, modern literature lovers, or just hardcore gamers? You never know before you ask. Although some people believe that work isn’t a place for making friends, I don’t agree with this.

People around you are unique and full of surprises, each of them has some hobby or gift. Discover them, ask questions, listen actively but do not push. Be genuinely interested in what is behind their everyday work, build relationships, remember their cat name and what school their daughter goes to. Sharing and building personal relationships will be good for creating a unique atmosphere within your team based on openness, friendliness, and collaborativeness. And this will pay off well in the long term when you have a dedicated and committed team working like a well-oiled machine to help you reach your managerial goals, too.

Help solve your team problems

Your main goal as a manager is to make your team a convenient place for everyone. So protect your team from low-priority tasks that may be imposed from above, make it clear for them whom to ask for advice/help and whom and how to escalate issues and concerns.

outsource software team

Use one-on-one meetings to collect your team member’s feedback about work conditions, processes, issues, conflicts, etc. Always listen to your people actively and proactively and remember that the more satisfied they’re at work – the better results you’ll get at the end of the day.

Know the context

People tend to make mistakes, come late for meetings, skip the deadline and be rude to their colleagues. Face it, the most experienced professional in your team can become a real pain in the neck if they have personal issues outside of work. People usually bring their problems and bad mood with them to work, so don’t expect them to be productive when they have a huge load of problems to sort. If you observe something like this happening to one of your team members, better send them home or even on an unplanned vacation to let them change focus and solve their issues. They’ll appreciate having such an understanding manager on their project. If you give them a chance to focus on their personal problem solving, you’ll derive a twice as better value form them going forward.

That being said, never underrate the context your team members live in and try to help them improve it.

Do not expect people to read your mind

I can’t stress it more – do not expect your teammates to read your mind. Make sure they’ve properly heard and understood the task you delegated/assigned to them. Write it down and make them tell you how they understand the task. Clarify things and motivate your team members to ask questions. The more – the better. There’s even one book called Power Questions that I encourage you to read and share with your teammates.

If you forget to or choose not to tell them some small detail about the project because you expect them to know about it anyway, then it’s your fault they didn’t get it the right way. We all have completely different backgrounds and skills, so what seems logical and understandable to you may not seem so to someone else. Do not implicate things, rather discuss them openly.

The topic of team management and communication may be the one to write a book about. However, I hope you’ve found some interesting and useful tips in this article and I encourage you to try them in your day to day work to get the most out of your development team.

 

Do you need help building a dedicated/extended Team or getting ad-hoc resources for your software development project fast and cost-effectively?