Software development companies have long employed specialists remotely. Businesses in different sectors, however, were caught unarmed when the pandemic pushed them to figure out how to manage remote teams.
If you are one of those businesses, you must have already gained some experience in remote operation. But there is still a lot for you to learn about it. Trust me: as of this writing, we at Rubyroid Labs have been managing remote teams for seven years.
We talked with our most seasoned project managers, Dmitry and Alexander, about the challenges of distributed collaboration. Keep reading, and you will discover a few valuable tips on managing remote employees from the people who have been there and done that.
Contents
-
- Dedicated Developer Management vs Other Models
- Goals and Tasks of a Remote Team Manager
- Challenges of Remote Team Building
- Switching from On-Site to Off-Site
- Best Practices in Monitoring Remote Teams
- Communication Strategies to Monitor Progress and Stay in Sync
- 6 Sins of Remote Team Management
- Software to Use in Communication and Task Management
Dedicated Developer Management vs Other Models
When you hire a remote team, you have to choose between three models: time and materials, fixed price and dedicated team. The first two don’t challenge you to oversee the team closely, while dedicated developer management is a serious consideration. In fact, it’s the thing this blog post is all about.
Here’s the difference. With time and materials and fixed price, you outsource project management alongside development. If you use this model with Rubyroid Labs, for example, we will pick a project manager who’s most skilled for this particular job. They’ll take care of collaboration within the team and report to you on the progress.
Compare that with dedicated developer management. The model implies that you have a good reason and the skills to lead a full-time programmer team yourself. If you’ve chosen to go with a dedicated team, then you’re probably working on a startup with a lot of unknowns or outsourcing on behalf of a big company that has strict corporate guidelines.
Whatever your motives, Rubyroid Labs can handpick a great Ruby on Rails or React Native team for you — just drop us a line. And if you want to learn more about how to manage remote developers yourself, keep reading.
Goals and Tasks of a Remote Team Manager
First of all, we asked our project managers to describe their work and explain how it is different when the team is not gathered in one room.
“You need to make sure that the project hits its goals”, says Dmitry, “You achieve that by monitoring developers’ work, risks and the budget. But, most importantly, you need to ensure efficient communication. Fail to do that, and you will not complete the project within the time and budget estimates. This is especially important for distributed teams.”
Dmitry mentioned that remote collaboration requires project managers to trust the team, and that trust takes more time to develop than it does within a company. The alternative is monitoring programmers’ screens, which can damage the team morale.
(Therefore, when you need a remote-based project done fast, consider seeking the services of a team where the trust has already been built.)
Every project can be split into stages or steps. Is there any difference between working in the office and managing remote employees?
“Project management stages are initiation, planning, execution, monitoring and controlling and closing”, explains Alexander, “They are the same for remote collaboration. The difference is in what tools you use.”
Challenges of Remote Team Building
If you are an expanding business or a startup chasing a post-pandemic business idea, you might need to build a remote team from scratch.
It might be tempting to think that, in order to build a distributed team, you just need to find specialists who have a computer connected to the Internet, and start throwing tasks at them.
In reality, things are a tad more complex.
Dmitry has had the opportunity to work with both distributed and on-site teams. He has outlined the main challenges of building a remote team of developers as compared to on-site work:
- No real-life face time with the team.
- Shared values are hard earned.
- Discovering team members’ personal values is a struggle.
- Water cooler chats, as a casual communication tool that can sometimes have a big impact on team morale, are unavailable.
- Team building and development take much more time.
- Trust develops slowly.
Building a distributed team from scratch is one thing. Switching from an office team to a remote one is another, and it also has its pitfalls.
Switching from On-Site to Off-Site
“When moving jobs away from the office, prepare for a transition period,” says Alexander. “You need to allow time for the team to adopt the new model. This may take a few months.”
The move to remote may impair the productivity of the entire team at first. “You will need to monitor the change in productivity across the team at the beginning. Some people will adjust with time; others won’t. Set a deadline for when to make the final call on who stays remote and who will be better off on-site,” suggests Alexander.
Monitoring doesn’t necessarily mean watching your team’s monitors all day long.
In fact, this approach can hurt a team’s morale, and if that happens, things may turn ugly. People may respond to the pressure you put through total control by slowing down, shifting the blame or even sabotaging the project.
Best Practices in Monitoring Remote Teams of Developers
Monitoring should begin with first identifying the key criteria of a successful project.
“Think quality and quantity indicators, such as team capacity, velocity, and cost per issue,” suggests Dmitry. “Monitor compliance with the schedule — how much work has been done, and how fast the project budget goes. If anything falls out of your estimates, investigate the cause.”
Here’s how Alexander describes the setting up of project expectations to check against: “We use the client’s specifications to estimate the timeline and budget of a project. Based on that, we will set deadlines and check they are being adhered to throughout the project.”
There are two key remote team management tools for keeping up with estimates and deadlines: direct communication and progress tracking software.
Communication Strategies to Monitor Progress and Stay in Sync
You need to use techniques that have been proven efficient in tracking progress through communication. Here is what Alexander and Dmitry suggest:
1. Daily stand-up meetings.
Carve out 15 minutes a day for everyone to describe:
- what they have accomplished within the past 24 hours,
- what’s moving the project to completion,
- what everyone is planning to accomplish within the next 24 hours,
- what barriers there might be.
2. Daily or weekly personal reports.
Complement your 15 minutes with reports if your team is bigger than nine. Those reports could be presented in any form.
3. Casual talks.
Informal communication will help team members trust each other and not be afraid of sharing job-related information. That could be one-on-one calls and biweekly conference calls where everyone can talk about anything beyond their job.
4. Sync-up calls with the client.
“Some of our clients visit our office,” says Alexander, “and sometimes our team travels to the client to better understand their goals.” But, in most cases, daily or weekly sync-up calls between the team and the client are enough to get everyone on the same page.
5. Communication guidelines.
Outline the guidelines of communication. Don’t make those guidelines too strict — but make sure that everyone sticks to them.
6 Sins of Remote Team Management
If you need to assess your remote team management efforts, Dmitry and Alexander have provided a list of six common mistakes for you to check against:
1. Describing the project and tasks too vaguely.
Descriptions of tasks should be linear and clear so as not to allow for confusion.
2. Failing to monitor progress at milestones.
Create a checklist for each milestone, which you can use to assess progress.
3. Monitoring progress in a flexible manner.
If your company operates in a friendly, casual manner, it might be tempting to ask questions like, “How is it all going, folks?” Avoid that temptation and formalize the framework for monitoring through communication.
4. Failing to create and maintain a culture of communication within the team.
Your communication may be casual or formal, or whatever you want it to be. What’s important is to set up a culture of communication and stick to it.
5. Hiring the wrong people.
Not everyone can be productive in the remote environment, and many people have distractions at home that can affect their productivity.
6. Failing to factor in risks when estimating the project timeframe and budget.
This is true to both on-site and distributed teams. In the latter case, you just have a little less control over risks.
Software to Use in Communication and Task Management
Project managers use a whole load of digital tools. Here are the top picks by Alexander and Dmitry, plus advice on how to manage remote teams with those tools.
Communication Tools
There are two major types of communication software:
- Messaging apps like Slack or Microsoft Teams for ongoing communication throughout the day
- Video and audio call apps allowing you to share your screen for virtual stand-up meetings and demo calls with the client, such as Skype, Google Hangouts, Zoom and Slack
Here is a powerful tip for messaging apps: set up a chatbot which will record programmers’ activities on the project. Before stand-up calls, developers will be able to share with the team what they have done using those bot-made records instead of straining their memory.
Task Management and Tracking Tools
Speaking of software for managing remote developers’ work, it is important to choose the tools that suit you best and make sure that the entire team uses them. All project data and essential information should end up in the system so that everyone can find it quickly.
Choose one of these tools based on your needs and team specifics:
- Github
- Trello
- Redmine
- YouTrack
- Jira
- Microsoft Project
A Final Word on How to Manage Remote Developers
You can set up an efficient remote collaboration model by combining tried-and-true communication strategies, a smart approach to task tracking, and the right software.
Hire people who can work without physical supervision. Create a culture of communication. Make the tasks clear to your team. Outline success indicators. Monitor progress. Do that, and you will build a successful product.
If that sounds complicated, consult Rubyroid Labs. Our experts will advise you how to manage remote teams effectively and ensure successful completion of the project.
10 Comments
What tools do you use for remote team monitoring?
Thank you for the question. We use daily communication and progress tracking software such as Github, Trello, Redmine, YouTrack, Jira, etc. We against any tools for screen recording or online trackers. It doesn't help the progress and demotivate the team.
I want to add more apps for remote team management that weren't mentioned in your blog post: ProofHub, Basecamp (it's one of the best for our team), and Soapbox.
Hello Nick,
Thank you for such good additional information.
We plan to refuse office work, and move completely to remote but I'm worried about the trust in my team. Do you have any problems in forming trust when managing remote teams?
Thank you for the question. Trust when managing remote teams depends mostly on the role of PMs. Of course, sometimes we also face trust problems working remotely because maintaining trust is much easier face-to-face. The main rules to fix these are:
– be transparent as much as you, don't forget to share updates and important news with each member of your team;
– support informal communication, create meetings to speak about life;
– conduct video calls
I'm looking for a remote team. How to find dedicated developers and choose the right outsourcing partner?
We can help you with this issue. Please email us at [email protected], and we provide the necessary consultancy.
Also, you can explore this article https://rubyroidlabs.com/blog/2017/11/outsourcing-company/ to get recommendations about choosing the outsourcing partner.
I faced an unpleasant situation with my outsourcing partner and need to know how to transfer the project. Could you tell me what information I need to receive before the end of the contract?
You can find a project transition plan and data that you should transfer https://rubyroidlabs.com/blog/2021/05/software-development-project-transition-how-to/
If you need detailed assistance, contact us directly via [email protected]