Working with a remote development team or nearshore software development team has plenty of advantages from higher efficiency to a broader talent pool and, of course, saving money. Yet, similar to all new partnerships, there are challenges you’ll likely encounter and have to overcome.
For starters, a remote development team is judged solely on output. It doesn’t matter how or where they get their work done, all that matters is that it’s done on time and to the level of quality you expect. That’s a high bar to live up to. Especially when you don’t have the natural rapport that comes from working in-office together.
With that in mind, it’s imperative that you get on the same page early, so everyone knows what to expect from the ongoing partnership. Here are a few tips on how to improve the performance of remote development teams:
Communication is everything -, especially on a remote team. You need to know who’s reachable and the best way to reach them. Not to mention, when you can reach them. Since you can’t walk down the hall to their office, it’s a good idea to define core hours. You don’t have to set strict 9-5 hours, but something like 10-3 being active and online or at least getting back to emails or chat messages in 2-3 hours as a standard would be helpful.
It’s also worth calling out what communication tools you’ll use. It has to be a combination of one-on-one tools, group and team level tools, and company-wide collaborative tools. For starters, you’ll want to maximize productivity by deploying project management software like Trello, Asana, or Taskworld. Something where people can easily see what’s being worked on, by who, and what the pertinent details are — bonus points for including file-sharing of some kind.
Instant messaging software is a necessity as well. Slack and Discord are excellent options, and Google Hangouts has a chat feature as well if you’re looking for something more cost-effective. Email has its place, but when you need a quick answer, you can’t beat instant messaging for improving performance. Finally, invest in some video conferencing like GoToMeeting or Zoom to have some “face-to-face time.” Nothing will bring your people together and make them work harder, like getting to know each other better.
Set Crystal Clear Expectations
Without people physically on-site next to you, it’s imperative that you create structure from the beginning. Setting the right expectations keeps everyone on the same page and sets the project up for success from the start.
Set clear milestones for the project, so everyone understands essential items like deliverables, feedback sessions, and payment terms. While you’re at it, make assigning project roles a top priority. Knowing who’s managing the project, who the major players are, and who is delivering what makes all the difference. Set a clear cadence for meetings, so everyone has an opportunity to catch-up, share project updates, offer feedback, and ask general questions. Here’s an area where video conferencing really comes in handy.
Keep in mind that setting clear expectations is a two-way street. They need your expectations just as much as you need their expectations if everyone is to be successful.
Schedule ‘Sprints’ To Maximize Productivity
Working in sprints is a proven technique designed to improve human productivity. Project management methodologies like Agile are great for reducing technical debt and setting an environment to write better code. It also allows you to measure your remote development team’s performance better and make changes where appropriate. You can measure performance based on:
- Agile cycle time metric – Time spent working on issues.
- Escaped defect ratio – Measures the connection between your development team and customer satisfaction.
- Plan-to-do ratio – Documents the amount of work a team commits to upfront versus how much they actually complete.
- A health and happiness metric – Measures whether your team is feeling happy and engaged or if they’re rapidly burning out.
Deliver Consistent Feedback
No remote development team or nearshore software development team will get it right every time. It takes time for remote teams to figure out each other’s personalities, work preferences, and quality expectations. Regular feedback can make a big difference. Go out of your way to find opportunities to give praise. A quick Slack message or email shout out to the team can go a long way.
When mistakes inevitably happen, try using it as a learning opportunity. Offer up some advice and reset expectations as normal but do so using a criticism sandwich to soften the blow.
As we wrap up, it’s also worth calling out that picking the right development team makes all the difference. Naturally, this is the hardest part, but if you take your time and ask the right questions, it can make everyone’s lives so much easier. Hire people you can trust, and you’ll find common performance issues will fade away.