The world of software development is made up of diverse individuals based all over the world. Developers are able to work from anywhere, as long as they have a laptop and a stable internet connection. Although this ability presents companies with a unique opportunity to harness global talent, the collaboration between offshore and onshore teams comes with its own set of challenges. Having worked as both a developer and a team leader in offshore collaboration, I discuss some of the solutions I used to counter these challenges.
Offshore resources possess abundant skills in different areas of software development that allows work to be done on a 24-hour basis: while one team is asleep, the other can still carry on working. The expertise in offshore collaboration enables us to leverage resources and deliver software with a high degree of quality. Thus, many companies depend on offshore resources to get work done quickly, and at scale.
But effectively coordinating across borders, time zones and languages is a new challenge that is becoming more commonplace as the world grows ever “smaller.” The company I work for has many resources based all over the world; this required that I attend meetings at times that suited the whole team, and would also sometimes mean that I worked very early or very late, depending on the time zone where the offshore resources were based.
In going through this experience, I faced interesting challenges that were very different from the ones faced in local teams. The success of my offshore team was dependent on us coming up with working solutions in order to deliver to the client on time and within budget. These in turn provided valuable insight into solving challenges related to collaboration.
Challenge 1: Working around time differences
I worked with resources who were based in India, which is 3.5 hours ahead of us in South Africa. At times, we had to schedule meetings for times of the day when it suited both teams. We also had to coordinate working hours, so that while one team was at work, the other was finishing up/starting the day. The challenges came in managing this across time-zones, because otherwise we would end up with frustrated clients when their queries were not attended to.
In order to solve this challenge, we used various collaboration tools:
- Jira: This enabled us to track work done by each team member, even when it was done at different times, and to hold them accountable for those deliverables. This made it easy to monitor work done across time-zones.
- Microsoft Outlook: Since we sometimes couldn’t communicate in real-time, this enabled us to use emails to set up meetings and calls that suited everyone’s calendars, and coordinate what had to be done when.
Challenge 2: Dealing with the language barrier
The main language of communication in business is English, and some team-members are not as fluent in speaking English as others. This would present itself as an issue during meetings: explaining work that was done or still had to be done became difficult to do well, because some members could not comfortably articulate what they wanted to say.
To solve this challenge, we used Outlook emails and Skype for Business IMs to communicate and seek clarity where verbal communication was not clear. This was a quick and effective way to communicate despite the language barrier, because team members were able to elaborate where their point may not have come across clearly in the face-to-face chat. These tools are also the recommended tools to use within the company because of their secure nature and ease-of-use.
Challenge 3: Attending to client requirements and demands
Sometimes the client would have requirements and expectations that needed to be completed in a particular time-frame. We had to speak to the client and to the team, and help both understand each other’s requirements, capabilities and processes. This became a hefty task to coordinate without constant back-and-forth communication - both between teams across different countries, but also then with clients - but was crucial to maintain a good relationship with our clients.
In order to solve this challenge, the team had to formulate strategies that would ensure that there was always someone available to address client issues. Each team member was made responsible for a certain task and it was their duty to ensure that this task was completed. When the team member was unable to complete a task for any reason, they would have to ensure that another team member was aware of what the task entailed and what needed to be done to complete it.
Another challenge was holding meetings to discuss client requirements, and assign members to certain issues, with teams that were in different countries with different working hours. To help us communicate efficiently as a team, so we could communicate efficiently with clients, we used Skype for Business. These virtual meetings meant we could have multiple people in one meeting, share screens when needed, and discuss pressing issues on-the-go and efficiently.
But just because it’s good, doesn’t mean it’s easy…
… and that’s a hard lesson to learn. Even though we knew that offshore collaboration would be difficult at times, we all had to acknowledge from the start the different issues that would potentially arise when based offshore. We all had to sacrifice time and effort in order to make the situation work, and inevitably reap the rewards.
But team collaboration is becoming more commonplace in today’s digital world. Slowly but surely, the tools around collaboration are making it easier to work offshore, and with that people are getting better at it as well. Working together despite continental boundaries can lead to great results, valuable lessons and awesome software! If you acknowledge some of the challenges you might face - like the ones I have listed above - and are ready and willing to work around them, you’ll surely see the incredible value in the end!
Peter Khayundi is currently working as a Java developer, specialising in back-end development. He enjoys working with new technologies (or those he hasn’t used before), and looking into MongoDB, Angular, Java Microservices, and AWS.
If you want to follow more of Peter is doing, find him on LinkedIn!