It’s no surprise that offshoring software development is becoming an increasingly popular alternative for boosting development capacity, as companies look across the pond to expand their potential talent pools and ensure cost-effectiveness, without compromising quality. At the same time, managers are often worried that software development offshoring may compromise security and convenience. But in reality, outsourcing software development to a company located in different time zone can be highly productive, convenient and secure.
To make it happen you should rely on battle-tested methods, and, since we’ve run such partnerships for years, you can learn from our experience instead of trying to discover everything on your own. For the point of reference during the whole text we will use Poland (well, that shouldn’t be a surprise), and the USA since this country relies on outsourcing the most, have different time zones even within its borders and we have a lot of experience cooperating with. So, how to maximize development efficiency across different time zones?
Effectively use overlap hours
The first thing to do when planning effective ways of communication and cooperation in an offshoring scenario is to identify the overlap hours. For this, you can use this time-zone converter or a similar tool. It’s always useful to have a place where you can instantly and precisely check what time it is at your partner’s location, and secondly, our experience shows that it’s not unusual for American companies to work with multiple partners from various times zones, so there’s no better way to coordinate work with all of them than by using such a tool.
So, time to illustrate the effective use of limited overlap with practical examples. Assuming you live in New York, decide to cooperate with a Kraków-based company and everyone works on a classic 9 to 5 basis, you have 2 hours of overlap every day during which team members can meet without any obstacles. Well, that’s more than enough to communicate effectively and solve all unforeseen problems, so let’s make this more difficult and change the American location to the Silicon Valley area, as that would provide us a challenge to be solved in this article. To start, take a look at the table below:
Between the most apart locations, the overlap does not exist in the classic 9 to 5 scenario. Yet, our experience shows that small adjustments to working hours are never a problem, so long as these don’t dramatically affect someone’s work-life balance. Thus, in regular situations (clearly some unexpected issues may force each side to either start earlier or stay later), agreeing on one or two days per week when the external team starts later to attend meetings, or your inhouse specialists join a call before their regular hours, is not a problem – just make sure it won’t be Friday, no one want to stay late or start early on Friday. Sharing the burden of adapting to the other team, with everyone involved, is the best way to ensure and strengthen motivation. If your external team has to always adapt to you, this might decrease their motivation, while if they see that you’re ready to adjust to them from time to time, it will boost their engagement.
In this way, having regular, real-time meetings to discuss all project goals, plans and challenges is easily achieved. But how to manage cooperation with only 1 or 2 weekly touchpoints, especially if running in Scrum, which requires daily meetings to keep everyone involved in the loop? Well, not only can be done, but it’s also easier than you think.
Hire a dedicated software development team
Supporting your in-house team with a number of external specialists requires much more communication, cooperation and real-time interactions than hiring an autonomous dedicated development team, which manages their portion of the work from start to finish. In this scenario, you provide the offshore team with tasks to be done (or even the entire project) so that while you can focus on the higher-level verification progress and planning of further work, the complete day-to-day management and supervision is handled by your development partner. This external team, with their own software delivery manager (responsible for ensuring that the work is advancing and challenges are being overcome), hosts their daily scrum (depending on the size of the team and project complexity they might also have an internal scrum master) and concentrates on reaching the established goals. Meanwhile, you focus on your core business and its growth, limiting the time needed to manage the work of offshored employees. Ultimately, you obtain all the outsourcing benefits and fit all the necessary real-time interactions in the short overlap window described above.
Master asynchronous communication and utilize tools
As the aforementioned scenario assumes a highly limited number of real-time touchpoints, both when it comes to managerial meetings and calls including all developers, additional measures should be put in place to deal with unexpected questions or problems that arise. The best way to deal with such challenges is to master asynchronous communication (which is almost a standard in the IT industry and shouldn’t be a challenge) and use effective asynchronous communication (Slack, Teams, etc.) and planning (Jira, Trello, etc.) tools. This way everyone involved can keep a finger on the project pulse, even if people responsible for particular tasks are sleeping, making cooperation across different time zones seamless.
What’s also important, especially if both your internal and external teams are working on one project and their parts overlap, is that you should establish a way of giving progress updates, flagging problems and sharing ideas on how solve them. This way a team starting work can easily verify if anything unexpected happened and check the current status, rather than guessing what had been done. To make it clear, you should always agree on ways of reporting to ensure that there is no confusion or misunderstandings.
At the same time, it’s a proven practice to establish an “emergency contact channel”. Software development is sometimes unpredictable (remember the recent Facebook crash?) and problems may require an immediate response. In cooperation across different time zones, people are usually aware it may force them to stay up late in case of an emergency. However, along with regular day-to-day communication channels, you should establish one channel dedicated to matters of life and death and keep an eye on it so it does not drift into other subjects, so people know that if you’re using it, the situation is extraordinary.
Agree which activities require real-time collaboration
Apart from planning and progress verification meetings, some activities might require everyone being online at the same time. Take for example our experience with a Silicon Valley client. While regular cooperation is done almost 100% asynchronously, for the deploys we stay up at night to ensure that everything goes as expected. And such elements should be discussed and agreed upon when establishing the ways of working. Your external teams shouldn’t have a problem with adjusting their work hours every once in a while, especially if planned in advance. As a result, so you can rest easy knowing that during critical stages everything is taken care of and necessary hotfixes can be implemented immediately.
Treat visits as investments, not costs
2020 showed that remote work is not only possible, but effective. Indeed, remote work might offer more benefits than a traditional model, and you can even start cooperation without meeting in person. Yet, to make the most out of it, some actions should be taken, especially if team members are not only apart in terms of distance but also time zones. It’s much easier for teams to communicate and understand each other when they are familiar, have had a chance to spend some time together and bond. And there’s no better way to achieve this than by meeting in person. Thus, if possible, you should start a cooperation by visiting your offshore team or inviting them to your headquarters – to shake hands, have some laughs and discuss not only work-related stuff, but also anything that comes to mind over a coffee or beer. Such a kickstart definitely breaks the ice and encourages open and transparent communication. Therefore, the costs of organizing such trips should never be treated as pure expenses, but rather as an investment – as an increase in the ROI is likely.
However, we know that achieving a face-to-face meeting is not always possible. Fortunately, recent months have shown that while real-life meetings are best when it comes to establishing relationships, online teambuilding should be regarded as an almost equally effective alternative. Playing games, discussing hobbies, taking part in culinary workshops – our teams have tested these and found them to be extremely beneficial. All of these are much easier to organize online with dispersed teams in different time zones and are a great way of shortening the distance between people involved in your project.
Last, but not least – trust. To obtain all the benefits of software development offshoring, and effectively manage teams across different time zones, you must find a reliable software development company that you can place trust in. Since that’s easier said than done, let’s elaborate. The bigger the time zone difference, the harder it will be to communicate in real-time, track daily work and even provide your outsourced software development team with a helping hand when they face an unexpected challenge. Yet, all of that won’t cause any difficulties if you partner with an experienced company that knows how to operate in such a scenario and takes care of their part.
Obviously, we are not suggesting leaving your external teams on their own – all the previously described communication practices are crucial to boosting the effectiveness of software development offshoring. But, with significant time zone differences, a great portion of the work will happen while you’re sleeping, so to achieve peace of mind, you should find a company that doesn’t need hand-holding and will take ownership of their work. And most importantly – trust them with it, so rather than trying to micromanage everything and forcing external developers to work unusual hours, you will be able to benefit from nearly around-the-clock, ongoing development.
Manage teams across different time zones effectively to drive your business growth
Effective software development offshoring produces enormous value – if you’re reading this text, you’re probably already are aware of it, but if you want to consolidate your knowledge about its benefits, we have something for you. Yet to make the utmost out of it you need to wisely prepare for it and effectively manage the cooperation. In offshoring scenarios, different time zones are what often concern decision-makers most before making the final call.
However, after reading this text, you should know that after having picked a reliable software development company and applying some proven methods, software development offshoring can be used to the greatest advantage, accelerating the development of your project and boosting the growth of your organization.
Remember that the described tips and techniques should always be customized to a particular scenario. Presenting every possibility in a single blog is impossible, so if you want to discuss how to establish effective ways of working in your situation use the contact form – our experts are always happy to share their knowledge and experience to help you discover what will work best and help you get where you want to be.
About the authorKrystian Szczepanowski
Software Delivery Manager
Software Delivery Manager with an extensive technical background. Krystian is a Computer Software Engineering graduate, with over 10 years of commercial experience. Former Senior .Net Developer, who decided to shift into a managerial path and now leads teams for Software Mind Clients.