Learning how to effectively manage an offshore development team is one of the most pressing concerns for today’s software development executive.
Industry analysts at Statista found that nearly two-thirds of software companies use outsourced or offshore talent in some capacity.
Especially the fast-paced market of mobile app development, it’s vital to know how to keep your workers at peak efficiency, no matter where they live.
Fail to do so, and your technology partner is nothing more than a costly burden.
Struggling with specifics? Wondering exactly how to best leverage your distributed office?
That’s why we’ve put together this extensive guide. Read and follow this advice, and you’ll be well on your way to success.
How to Communicate with Offshore Teams
If you’ve worked with an offshore team before, you’ve surely had this happen.
You send an email.
You wait some more.
Finally, you get a response.
It doesn’t answer the question. You feel like they’re just not getting you.
This might even happen with your local employees, but at least with them you can go and have a face-to-face talk.
Learning how to manage offshore software development boils down to the same basics as a local team.
The only difference is that you need to rely on technology in the day-to-day communications.
Although it will never be as easy as popping down the hall, with the right software tools, you can get pretty close.
Here are a few of our favorites:
The king of Agile-based project management apps, Jira is a complete cloud suite for handling projects of any size.
The toolset includes everything from planning to analytics, allowing you set clear, actionable goals, and track their progress.
Jira is highly customizable, and can work equally well for any of the Agile methodologies. Whether your organization prefers Scrum, Kanban, or a mix, you can set it up in Jira.
Another product from the makers of Jira, Confluence is one of the best collaborative document systems we’ve seen.
On the surface, it’s similar to Google Docs. Multiple people can share a document, viewing and editing it simultaneously.
Changes can be suggested and accepted, and there’s a robust commenting system.
However, Confluence takes its functionality far beyond Google. Unlike its competitor, Confluence is built from the ground up for large, multi-document projects.
The software supports user-definable templates for different documents, labeling, and cross-document notes.
With Confluence, it’s possible to collaborate on a common footer for a category of documents, for example.
Google Docs, by contrast, is restricted to working with one document at a time.
On top of all that, Confluence interfaces perfectly with Jira. Taken together, the tools make a very powerful collaboration system.
This cloud-based Git code management solution is ideal for collaborative coding of any kind.
Agile development depends on fast, easy code management.
Team members need to be able to effortlessly pull code, and an executable version needs to be available at all times.
Without a good Git solution, none of that is possible.
Bitbucket does all that and more.
It supports multiple pipelines, allowing for code to be built and test without disrupting work going on down the line.
In addition, it includes its own large file storage system. Media assets and other large data files can go right into Bitbucket.
Finally, it features Trello boards, taken right from the popular to-do list app.
Tasks can be created, prioritized, and assigned to team members without leaving Bitbucket.
Of course, the king of all Git solutions is GitHub.
It’s still the most popular code management suite, and for good reason.
Code reviews are a snap with the built-in tools, and the messaging interface is a great place to pass quick notes.
Most of the other features you’ll need are also built into the suite, including documentation management, task tracking, and APIs for custom tools.
And perhaps most important of all: It’s popular.
It’s rare to find a developer who hasn’t worked with GitHub, and that experience can be invaluable.
The software also comes with a massive and supportive community of over 28 million developers.
If you can’t decide between BitBucket and GitHub, the former offers a free starter plan. Try both!
Sometimes you need to look over a coworker’s shoulder.
Whether it’s for impromptu presentations or debugging hard-to-reproduce edge case bugs, it’s unavoidable.
It’s also impossible to do with offshore teams. Or is it?
TeamViewer is our favorite of the several desktop sharing apps available.
The free version is great for occasional or small-scale use.
Meanwhile, the higher-end packages feature custom branding, automated deployment, and a slick management console.
It even supports mobile devices, a must for mobile app development.
Slack or Skype
Finally, every team needs to communicate.
That’s even more important when managing offshore development teams than with local ones, where communication is more natural.
Collaboration is built on communication, but it’s difficult to do with people halfway across the world.
Emails are slow and asynchronous.
They’re fine for updates, but they can’t handle the kind of quick, easy chats that tight-knit teams engage in.
It’s absolutely vital that you have a clear, convenient way to talk to all of your team members.
Slack or Skype (they’re both good!) are the solution. They make it easy.
They feature robust chat room and private messaging functionality, along with VoIP and even video calls.
Remember the importance of face-to-face? Video calls are how you accomplish that.
Use these tools correctly, and you’ll eliminate all of the communication problems endemic to offshoring.
You’ll be communicating and managing your remote team just like you do the local employees.
Now that you’re able to talk to them, the next question is: What do you say?
How to Motivate an Offshore Team
So, you’re all kitted out to communicate with your offshore team.
You can talk to them in real-time, you can share documents, and you can wrangle the code as it progresses.
But something’s missing, and you can’t shake the feeling that you haven’t really learned how to manage offshore developers.
Deadlines are slipping. And the stuff you get back just doesn’t meet the quality you expect.
You know the team is capable of more. You’ve seen their portfolio.
So what’s the problem? Why aren’t they performing?
The answer might be that you forgot the human factor.
An offshore team is still made up of real people, and they need to be properly managed and motivated.
You can do that. You’ve been managing local teams for years, and you’re very good at it.
You know how to manage.
But do you know how to manage an offshore team?
These people might be in a different time zone. They’re from a different culture.
Some of them might not even speak English. Do your management techniques even apply here?
The answer is, they do.
With a few modifications.
Set Good Goals
This one comes straight from the on-site management playbook.
As you know, it’s important to set clear, actionable goals for your workers.
If you don’t set concrete expectations, then you shouldn’t expect concrete results.
But what does that mean, exactly? How do you know if your goals are clear enough for people halfway across the world?
The answer is something called SMART.
It’s a simple technique for making sure your project targets are understandable, achievable, accountable, everything they need to be.
- Specific: This means that the goal should serve a particular business goal. Why are you setting this goal? To increase market share? Great! Because it sounds good? Give it some more thought.
- Measurable: The goal should have a definite condition of success. “Increase boot-up time by 10ms” is a measurable goal. “Make the app faster.” is not.
- Achievable: Make sure that every goal you set can actually be reached. Set your team up for success, not failure.
- Results-focused: Here’s where you can take the strategic view. Is the goal important to the overall needs of the company, and does it mesh with other projects?
- Timely: Every goal needs a deadline. A little time pressure will motivate everyone to work hard. Just don’t forget to make the deadline Achievable.
Master the SMART system, and you’re well on your way to offshore management success.
Foster Team Building
Remote work isn’t like working at the corporate headquarters.
And it’s easy to forget that you’re working for real people, who have a product they genuinely believe in.
That goes both ways. For local employees, it’s common to start thinking of the remote team as just a black box that spits out code.
Or worse, as a nuisance to be dealt with.
The solution to this is to simply remember the human factor. Your offshore workers are more than a vendor; they’re an integral part of your development operations.
A little bit of socialization and friendliness can go a long way, and it doesn’t take much.
- If your office celebrates birthdays, include the remote workers on the list so that they can give and receive birthday wishes.
- Every so often, an online gaming session can do wonders for team building.
- Add a social board to your Slack installation.
- And if the team is with you for the long haul, eventually you might think about flying some of them over to visit your facility.
Here are some more virtual team building exercises to consider.
None of this is very difficult, and you’ll be amazed at how far it goes in motivating your workers, and in facilitating communication.
As you’re setting those SMART goals and rubbing your hands in glee as they get accomplished, don’t forget to pat the workers on the back, too.
People thrive on recognition, and the successful offshore team needs to hear it as much as anyone.
If the remote developers have delivered something particularly impressive, congratulate them!
The same goes if they hit their targets ahead of schedule.
Just like you might praise a local worker at their cubicle for others to hear, make sure everyone knows that their international colleagues are doing good work.
Send out a department-wide email letting everyone know, or mention the team’s success on your next status call.
That little boost of endorphins the remote workers will get from this will keep them working hard.
And for your local employees, working with offshore teams will be much easier when they know exactly what they’re doing, and how well they’re doing it.
Share Company Milestones
Recognition is a two-way street.
Your offshore developers don’t have the same insight into your business operations as you.
If your project does well, it might get press coverage, win awards, and break sales records.
Your local employees will be aware of all this, and they’ll be over the moon to know that their efforts are paying off.
But what about your offshore team? They might not have access to the same media as you, and they certainly won’t hear it through the grapevine.
They won’t even see the big smiles going around the office as the news spreads.
So, make an effort to tell them. Don’t forget to share good news in your status calls, and not just convey the next set of goals.
People like to know that what they’re doing is working, and that’s just as true for remote workers as anyone else.
In other words, give them the chance to recognize that the company is doing well, and they’ll be more likely to put in the effort to keep it that way.
How to Get Maximum Productivity from an Offshore Team
All of that is great for keeping your workers engaged and motivated, and that’s always important.
Equally important, though, are the actual development processes.
A flaw in business operations is one of the most common roadblocks in software development. If your team is motivated, but you still aren’t getting the results you expect, what can you do?
The answer is, you need to give them the right steps to follow. You need to set them up for success.
Here are some tips to do that.
1. Daily Meetups
We’ll go into the Agile ceremonies further down, but no matter what, you should host a daily video conference with your local and offshore workers.
Again, communication is the key to development success. That goes for any kind of group effort, and doubly so when the people are geographically disparate.
By ensuring that your people all talk to each other daily, you’re keeping information flowing. Everyone knows what’s being worked on, and what their part is.
2. Sprint Planning
In a distributed office, sprint planning is vitally important.
Despite the daily stand-up, everyone is going to be largely working on their own tasks, and there’s a real danger of people’s work getting in each other’s way.
The planning meeting is when those tasks are explained and handed out.
If you’re following Agile (which you should), then you’ll have a scrum master and a product owner both participating to ensure that everyone comes out of the meeting knowing exactly what to do, and why.
As for the length of the sprint, that’s up to you. There’s plenty to be said about both long and short scrums, and you’ll have to decide based on your product and company culture.
3. End of Sprint Retrospectives
On the other side of a sprint, it’s customary in Agile to perform a retrospective.
This is a post-mortem, a meeting where everyone can discuss what worked and what didn’t.
It doesn’t need to be complicated. Just those two topics are plenty, and the whole meeting shouldn’t last more than half an hour.
Lead off by asking each team member to list successes in the recent sprint, and allow a brief discussion.
Repeat the process for failures or pain points, and you’re done.
Remember to keep the tone positive. The goal is for everyone to maintain a strategic overview, not to beat them down or shame them.
If your workers are well-motivated, then they’ll take any criticisms to heart and work to improve on them in the next sprint.
So, those were some action items to help run your Agile-based distributed office.
We have yet to talk about Agile in general, however, even though one of the most important things to do with your teams is implementing this project management scheme.
There are some unique challenges when using Agile with off-site developers, however.
Let’s get into those now.
Implementing Agile with Offshore Teams
If you’re reading this article, you’re likely already an adherent of Agile development.
It’s the most popular methodology for project management today, particularly in the software space.
So, you might be wondering exactly how to apply the Agile philosophy for an offshore team.
After all, isn’t the whole thing designed around sitting around a big open table?
Will Agile even work with outsourcing?
The answer is yes, it will, at least in spirit.
You won’t be embracing the open office concept when half your developers live in another country, but you can still create an Agile environment.
Even in a singular, centralized office, Agile still incorporates a great deal of distributed knowledge.
Every Agile team is meant to be self-sufficient, after all, and each one includes its own team leader, product owner, and so on.
The intent is that teams can independently handle their own pieces of the project, coming together for scrums.
Where this tends to run into challenges is when a team needs to consult with its peers for specialized knowledge, or to ask questions about work from a previous cycle.
In a remote office, this might not be possible until the next day. That’s a waste of time.
Avoid this by making absolutely certain each team has the knowledge it needs to complete the task.
- Set proper SMART goals that are achievable for each team.
- Engage in the Agile practice of peer code reviews. This ensures that everyone is familiar with the work of their colleagues, and can effectively build from existing code.
- Don’t maintain separate processes for your local workers and remote developers. Everyone should be able to fully engage in the process, no matter where they are located.
Rotate Meeting Times
One of the realities of outsourcing is dealing with people in different time zones.
For a traditional office, it works great to hold a stand-up near the beginning of the day.
When a large portion of your workers are operating 7-10 hours ahead, though, that’s significantly less convenient.
Some teams can handle that, and some can’t. It’s entirely dependent on the individuals.
You might notice during these meetings that half your workers are visibly nodding off, and not getting much or contributing much to the effort.
Although you can certainly ask your workers to suck it up, stay up late or get up early for the meeting, that will quickly become a drag on morale.
The answer is to simply take turns. Every week or every month (not every day), move the meeting time to be more convenient for one group or the other.
Both sides will appreciate it when the stand-up falls at a “normal” time for them. The teams that do have to make that off-hours appointment will know that their turn will be soon.
Stick to the Ceremonies
Agile is centered around ceremonies.
Although they don’t all apply to every office, you shouldn’t let the remote nature of your business make that choice for you.
Events like the sprint planning meeting, the scrum, the stand-up, and so on are just as important in a distributed office as in any other.
But again, how can you carry out these tasks when your people are located thousands of miles apart?
The answer, as usual, is technology.
Your people won’t literally be sitting around the big round table, but you can still summon the spirit of the event.
Now is the time to break out the video conferencing suite mentioned above.
Use as many of the Agile ceremonies as you deem fit for your project and culture, and don’t let physical location hold you back.
Calling everyone together and throwing the video call up on a big screen TV is surprisingly effective.
If budget doesn’t allow for that kind of hardware, then individuals calling in from their desks are almost as good.
The point is that you stick to the schedule, and stick to the plan.
You’ll quickly find that people adjust to the differences in the paradigm, and glom onto the similarities to their prior Agile experience.
It doesn’t matter if they’re dialing in from home, sitting in the same conference room, or sitting in two conference rooms on opposite sides of the world.
Visiting Your Offshore Team
Even after the team is motivated, and the development process is running smoothly, you still have plenty of work to do.
Maintaining a distributed office is difficult. Over time, you’ll fin
How do you avoid this fate? How can you keep your offshore workers chugging along, on track, and putting out the quality work you need?
The answer is to visit. For all the wonders of technology, it still can’t 100% replace the face-to-face meeting.
About once a year, therefore, you’ll need to head over to the remote facility.
It may seem like a lot of work, and it is.
Fortunately, it’s all worth it in the end. It’s the best way to achieve top-tier results while massively reducing costs.
Here’s exactly how to handle offshore team visits.
Tour the Office
Once you arrive, you’ll almost certainly be offered a tour of the facility. Don’t turn this down, even if you feel like it’s unnecessary.
This is your best chance to get a feel for the working conditions and culture at the office.
By watching the people at work, outside of your scheduled meetings, you’ll learn a great deal about how they operate and what to expect.
You might even spot some problems that need to be addressed before they impact your project.
Besides that, it’s simply polite to let your hosts show off their office.
Politely engaging will go a long way to building rapport, and keeping the relationship positive.
Talk – and Listen – to Everyone
Make time to meet with at least every team leader.
If you can meet with individual workers of the remote office, so much the better.
Remember that with your local employees, you are constantly engaging.
Even if you don’t keep an “open door policy”, chances are you’ve still chit-chatted in the elevator or at social events.
Maybe an employee has come to you with an urgent problem that’s remained under the radar, and you were able to fix it before it caused damage.
Or maybe they had a great idea that would have gone unnoticed.
This is valuable, important, and totally missing from the offshore facility, except for when you visit.
So make the time and talk to people.
Build the Team
On that note, engage in plenty of team building during your site visits.
A meal or night out with the entire office, although it shouldn’t be your only purpose, is important for all the reasons listed above.
You can and should ask the local management team for advice here, or let them plan it altogether.
Chances are, the employees already have a spot where they love to celebrate.
Going there will be a great opportunity to break the ice and hear their honest opinions.
Traditional team building outings can be powerful, too, if you’d like to change things up.
The point is to get everyone relaxed, thinking about the company, and eager to contribute.
Interface with Management
Finally, though, don’t skimp on the meetings with local management.
Face-to-face is still a powerful form of communication, and it’s in short supply with distributed workers.
These meetings are a great time to dive deep on strategic and policy concerns, leaving the minutiae of day-to-day-planning to Skype.
As with the workers, listen to the concerns and ideas of local management.
And just like with the workers, spend some social time with the managers. Know where they like to go at night, what their hometowns have to offer. Don’t forget to enjoy the local food!
Being able to talk to your team about their town and the time you’ve spent together shows respect, and helps you to open an informal channel of communication. You’ll find working with the team far more productive when you can establish this rapport.
The Reason for the Visit
Ideally, you’ll come away from these visits with a renewed understanding of how the offshore team can be best utilized in your ongoing projects.
You’ll also find that the visits are a large morale boost, and that the pace and quality of work is greatly increased after you make your appearance.
In a multi-project relationship, where you might stick with the same offshore team for years, you might even consider flipping the script and flying the remote team out to your office.
Despite all of this, though, problems can and do occur.
Let’s look at what they might be, and how to handle them.
Common Problems with Offshore Teams
As a recap, here are some of the most offshore team challenges executives encounter when setting up operations.
Along with each, we’ve identified the most likely root cause of the problem, and how to fix it.
If you’ve been reading this far, then you might already have your own ideas on how to keep things running smoothly.
Let’s take a look.
Lack of Transparency
Your offshore team is a black box. You give them instructions, and you get code back.
You don’t know what happens in between, and you’re afraid there might be hidden problems.
At the same time, you don’t have time to go over everything with a fine tooth comb.
Peer code reviews. If you get the teams checking each other’s work as they should, this will never be an issue.
The Product Doesn’t Match the Vision
Everything seems to be going well, but when you reach that dev milestone, the result is… not what you expected.
It might be missing key features. It might do something that you never asked for.
The point is, it’s not exactly what you wanted.
The Solution: SMART goals. Make sure your expectations are clearly defined, concrete, and understood. If you don’t, the developers will have to guess.
As they used to say in the industry, GIGO.
Lack of Communication
Despite your careful instructions, your local and offshore workers just don’t work together.
Maybe the job gets done anyway, but you know it could be so much more efficient if they would just work together.
Requests for information sit unanswered or are misinterpreted, work is getting duplicated, and managers are tearing their hair out.
Stick to the Agile ceremonies. Agile is built from the ground up to facilitate communication. Even in a distributed office, they’re incredibly effective.
However, it’s important not to forget that your offshore team are from a different culture. They might not feel comfortable in speaking up to ask questions or raise concerns.
Communication is the most critical factor for success.
Don’t make any assumptions. Ask lots of questions, and make a constant effort to understand and be understood.
Always work to create an open environment for your remote team to speak openly. In some cultures, only senior members of the team might feel empowered to speak up, but you can’t afford that.
Encourage everyone to talk to you, no matter their experience or position.
You need all the information you can get, and it’s in your interest to get it wherever you can.
Everyone is so slow!
Emails go into a black hole, and you’re beginning to feel as though your company isn’t the top priority for your offshore developers.
They’ve got the talent, and the work is good when it finally arrives. But the journey there is such a slog, and your investors are starting to ask about the delays.
Foster a team environment for all your workers, no matter where they live. Use team building techniques, and visit your offshore facility annually.
The First Step
Of course, the very first step in all of this is picking the right development partner.
After all, you’re going through all of this planning to save money on top-tier talent, right?
If you’re looking for mobile app developers comfortable working with companies anywhere across the globe, AppReal is the perfect place to start.
The company specialize in building and managing remote offshore teams and has satisfied clients in a wide range of industries, and is proficient in the latest technologies and techniques.
If you have a need for offshore development team – just fill out the contact form below. A representative will be in touch ASAP.