Some companies outsource to multiple locations to mitigate the geopolitical risk of outsourcing to just one country. Others outsource offshore to better serve customers and employees around the world. Where you outsource falls into three regions relative to your primary location: onshore, offshore and nearshore outsourcing. Each has pros and cons and can serve a purpose for your company or business unit, and for some situations you will want to outsource to all 3 locations.
There are at least three benefits where location is a critical criterion in selecting your software outsourcing location(s).
Reduce Geopolitical Risk
There is risk in having all your software development in one country. Recent history has borne this out when Nepal went off the Internet during a political crisis in 2005, and the more recent conflict between Russia and Ukraine makes many people nervous about outsourcing to either of those countries (We should note that no certified Accelerance partner in Ukraine had any interruption in delivering software development services.)
The risks can be electromechanical as well as geopolitical: in 2008 a major Internet cable in the Red Sea was intentionally cut causing a disruption in Internet service in the Middle East and Asia. In fact, the undersea network of cables that runs the Internet is vulnerable to disruption. Imagine being cut off from your development team for days or weeks!
Off course, onshore outsourcing mitigates the risk of geopolitical disruptions, but this is expensive and, in the current market, world class development teams can be very difficult to find. A less expensive approach is to use one or more offshore and nearshore service providers.
Several years ago we helped an American client with software development operations in Brazil. The client company was concerned about geopolitical risk in case there were disruptions in the Brazilian economy and/or political disputes with the United States. Their challenge was deciding between two other global locations – Malaysia and Hungary – two countries they were familiar with. In the end they selected Hungary because of several factors including recruiting costs, retention and skill level, even though salaries were higher. For them having one nearshore operation in Brazil and offshore operation in Hungary mitigated their geopolitical risks.
Multiple Time Zone Coverage
If you have customers or employees spread around the world then it can be hard to support them from just one location, whether you are running software development, dev ops or level three support. And, using two or more locations for development and support can give you wider coverage and overlap in workdays between them.
For example, an American company we worked with that used SAP hired an Indian software outsourcing company to customize the software and provide support for the company’s employees. But the company’s employees were around the globe and used a second software outsourcing partner in Ukraine to help provide more complete coverage without anyone having to work nights in their local time zone. They avoided using a night shift which does not attract the best software support and development talent.
The Agile development methodology is the standard for developing and almost all software outsourcing companies use it. However, it requires frequent if not daily communication for collaboration and clarification of the software requirements and development status, which is very difficult to do when the Product Owner is 9+ time zones away from the Scrum Master and development team. Consequently, the Agile methodology has become a major selling point for nearshore outsourcing because daily stand-ups can be performed during normal workday hours for both the client and software outsourcing team.
Accelerance worked with an American company with their own software development operation in India decided to outsource nearshore for new product development. They found the time zone difference between California and India too great for real-time collaboration & innovation. They selected a partner in Costa Rica that gave them the workday overlap they wanted to collaborate on new products with the external team. Proximity to Costa Rica also facilitated travel for face-to-face meetings which also increased development team productivity.
Here’s a summary of how each of the three types of outsourcing locations can help you achieve the three benefits described above.
Outsourcing software development and support to multiple global locations is useful for mitigating risks and gaining benefits, especially for larger companies who have a diversity of software development needs and the resources required to manage multiple software outsourcing engagements. Small & medium size companies will usually select one of these location carefully as a best choice for their needs and budget.