Every year, companies around the globe engage in developing new applications and systems, at a steadily increasing pace. Developing software will always be a risky business, more now than ever due to increasing prices for competence and a wider supply of software service providers and freelancers, who might not always have the skillset to deliver exactly what you want.
If you are reading this, you might be considering offshore software development services and I can tell you that you are not alone. In the last decade we have seen more and more firms establishing a global presence, and especially this past year we have seen a significant increase in demand and what seems to be a shift in attitude towards companies offering offshore software services. Setting up remote teams has become a new trend in business on an international scale. Both large and small companies are relying more than ever on outsourcing and offshoring.
Covid-19 and the trend towards working from home definitely have something to do with this. This also explains why so many companies are looking to extend their local development team with additional remote members rather than outsourcing full project commitments. Since physical location has become less important, the most affordable way of adding members to your team is to partner up with an offshore service provider and getting a remote office solution.
Some challenges come with this new way of working and managing a remote team is different compared to managing a team that works together in a traditional office, and even more so when the team consists of people belonging to different social environments, different cultures, speaking different languages and are working in different time zones. In this article, I will be giving out 10 tips for how to get the most out of your offshore team.
Don’t use cost reduction as the only incentive for your offshore investment
You might be surprised by how much product development has been going on in traditional offshore countries like India, Thailand, and the Philippines during the last decade, and I would claim that a job resume from someone from the offshore outsourcing scene, from any of these countries, are far more likely to contain more interesting work experiences than what a majority of developers in the west can show you. Hence, the opportunity exists to not only look for quantity and cheap prices when going offshore but also consider this as a way to add experience to your team. If your team lack expertise in a certain area, then it makes perfect sense to fill this gap through an offshore service provider.
Having a technical specialist on the client’s side makes a big difference
In a remote distributed team, technicians need to be talking to technicians. Sending over task descriptions and anticipating a finished product back rarely works well unless you are very lucky and have someone you can trust on the offshore site. As a client, you want to have someone close to you locally who can review code and make sure that there is some accountability, not only for how the application work on the outside, but also for how well it is implemented on the inside.
Having a technical specialist offshore makes a big difference
A setup that is far from uncommon is for the client to sends someone to work onsite together with the offshore team. This is actually a very good idea but not all companies can do this, for various reasons. The second next best thing is to have a single contact on the offshore location, someone the client can trust will represent their interests.
In Thailand, you are much more likely to find an offshore service provider with western team leaders than what is the case in many other traditional offshore outsourcing countries. Having a native speaker of your language, helping out with communication and bridging cultures can make a big difference. If you want to know more about offshore software development in Thailand, see our offerings here.
Invest in good collaboration tools
The new ‘work from home’ paradigm has modernized our work environment. Today, more than ever, people are having work-related meetings online and are sharing content by utilizing various collaboration tools. Having the right tooling is necessary for any distributed remote team. The three main collaboration tools that you needed are
- A meeting and chat platform lite Slack, Teams, Google Chat or Skype
- A project management collaboration tool like Jira
- A shared environment for hosting code and handling automation like Azure DevOps, Bitbucket or GitHub.
Use agile methodology to manage your projects
In most cases, a distributed remote team can be as productive or even more productive than a traditional in-house team. Using an agile methodology with an offshore team can be a key component in achieving this. With an agile methodology, you have a tried and true process, not overly complex and well supported by various collaboration tools.
Agile methodologies are promoting frequent meetings between the client and the team and short iterations of development.
A natural instinct for many clients is to try and monitor and micromanage the work done by the offshore team. But there is a risk of overdoing it with serious consequences for the team’s speed and quality. The best result is achieved by having an open discussion about features and technical solutions and not be overly concerned about how things on the task level are implemented and executed. Without the freedom to choose how to solve technical problems, your team will become unmotivated and without motivation, you will not get the expected output.
Use automating tools to automate processes where possible
By using automation tools, you as a team leader can control the source code, making sure that certain criteria are fulfilled before a new version is deployed and enabling others to do things in the environment that you would not otherwise allow. In an environment where developers are working in different time zones automation and DevOps can make a big difference.By using automation tools, you as a team leader can control the source code, making sure that certain criteria are fulfilled before a new version is deployed and enabling others to do things in the environment that you would not… Click To Tweet
Automation tools speed up development, and this is especially true when a team of many developers is working with the same codebase at the same time and, even truer when the team is physically spread into different regions of the world.
Use the difference in time-zone to your advantage
Having an offshore team can have a big impact on the quality and response time of your third line support. Many tasks can be done much easier when outside of normal business hours, like for example troubleshooting issues and deployments of new versions.Having an offshore team can have a big impact on the quality and response time of your third line support. Many tasks can be done much easier when outside of normal business hours, like for example troubleshooting issues and… Click To Tweet
A second area where time-zones can be used to your advantage is during implementation. A developer team usually tries to split the workload on the feature level, enabling one developer to work on one feature and at the same time having other developers working on other features.
This is all fine, but sometimes features are interconnected, and sometimes there are dependencies between tasks like doing graphic design, HTML/CSS development, and frontend development or between frontend development and backend development. By having your team members work in different time-zones, you are much less likely to have issues with your team members blocking each other’s tasks.
With an offshore QA team, you can use the time-zone differences to your advantage by having your developers developing features in one time-zone and letting your QA team testing the same features in a different time-zone.
Share your vision and values with your offshore team
When working in a remote offshore team ensure that all developers clearly understand your goals and vision. Give them some context and explain where you see your company, 5 or 10 years from now. You want your team to feel proud when they deliver a great product and concerned otherwise. Allow your offshore team to help you achieve your business goals rather than just completing individual tasks.
Physically visit your offshore office frequently
There is something special with an actual physical meeting between client and team. From a practical point of view, almost all things can be done remotely. Things like having long workshops can be cumbersome sometimes but there are no real big enough practical reasons for not doing everything online with the help of modern collaboration tools. But we are humans after all and spending actual time with your team will change your work relationship. Take your team out for dinner and give them a reason to give their very best.