Author
Marko Maras
Category
Digital consulting
Date
May 06, 2022
Read time
16 minutes
Software development outsourcing is a big topic. In fact, it’s huge. Last year, 27 million people across the world were software developers. This figure is expected to swell to 45 million by the end of the decade.
But the most advanced global regions are also the ones short on developer talent. That spells trouble for US and EU companies. Developers in the West are getting more expensive and less numerous, as boomer workhorses go into retirement and millennials hold onto their title as the least employed and least engaged generation. In general, if you're hiring in the West, you have no choice but to look at foreign shores. (Of course, the situation is even worse in the unsexy public sector.)
This short article is packed with useful info. You'll learn what onshore, nearshore, and offshore outsourcing really means. You'll get acquainted with their pros and cons. And you'll learn how to prepare and avoid outsourcing pitfalls.
All of that for a single goal: to hire a software development firm that is the best solution for you.
Onshore | Nearshore | Offshore | |
Developer | domestic | foreign | foreign |
Time zone difference | 3 hours or less | 3 hours or less | more than 3 hours |
Cost | high | medium | low |
Language | same | different | different |
Security | high | low | low |
Culture | same | different | different |
Talent pool | small | medium | large |
Examples: US client German client Japanese client | US Germany Japan | Mexico Croatia Philippines | India China Brazil |
The Onshore column is the greenest because it is the comfort zone. But don't let it fool you. For most companies, the Cost row is the sweetest incentive to outsource. And there, proverbially, the grass is greener on the other side.
Software outsourcing is when you hire outside people to do your software development for you. They aren’t your employees, they are an independent firm. Outsourcing is traditionally divided according to its closeness to home:
Software outsourcing is the global norm. But until recently, it used to be an exception. It’s easy to forget that international business cooperation was a complicated and expensive procedure only a couple of decades ago. Medium and small businesses could only realistically choose among developers from their own country (i.e. onshore). And since the savings weren’t so great, many were ready to spend a little more to have their own IT teams instead of trusting strangers.
Since communications and technologies have become truly globalized, nearshore and offshore outsourcing is much less of a hassle now. You don't have to be a multinational behemoth to strike deals with teams in India or China. Any startup can do it.
So, obviously, the global IT outsourcing market is skyrocketing. Its 2022 revenue is estimated at $400 billion. Just two years ago it was believed this figure would be reached only in 2025.
Outsourcing is less and less about lowering costs. There’s simply nobody left to hire in the richer countries any more. The recent pandemic-fueled remote work and the Great Resignation have aggravated the war for talent. The world hungers for IT hands, from code cadets to crypto zen masters.
The developing world is catching on and pouring more and more resources into IT education. No matter what software you need, you can bet there’s someone in Vietnam or Brazil who has just the right thing for you, because they have already done a similar job for another client from your country. Not to mention the wealth of CRM consultants.
But why do companies outsource software development? What are the reasons they give? A massive outsourcing survey by Deloitte provides some answers. From 2019 to 2021, more than half of surveyed companies (54%) said their IT was outsourced. These are some of their reasons for outsourcing, listed in order of importance:
Lower costs. This advantage is the most obvious and the easiest to measure. It’s cheaper than having a full-time employee. And if you’re in a high-standard country, the farther away you go, the cheaper the labor.
Focus on core business. Microsoft’s CEO may be right that “every company is a software company,” but that doesn’t mean you actually have to make the software in-house. If you outsource it, you can make more money doing what you’re best at.
It solves capacity issues and business needs. Outsourcing is fast and flexible. In fact, it’s the only way to meet sudden scaling requirements or tech changes. And you can reduce the team whenever you like.
Huge intellectual capital. Once you decide to outsource, the whole world can work for you. You don’t want to get stuck with 25 in-house developers when you can keep picking among 25 million.
So the real issue is what outsourcing model to choose: onshore vs nearshore vs offshore software development.
Each model has its own strengths and weaknesses.
Developing your project on your home turf has some distinct advantages.
Pros of onshore outsourcing:
Real-time collaboration: Since you’re in the same time zone, your business hours are the same. If you need a face-to-face meeting, it’s no problem. And you don’t have to wait 24 hours to have your e-mail answered.
Native language communication. The risk of misunderstandings drops and work efficiency rises. Sharing the language also means sharing the same culture and all its shortcuts that make work relations so much easier.
Faster job completion. While this is not a given, you can expect to achieve results in fewer steps because of the above points.
Personal training. You can invite the outsourced team members to your company to get some hands-on experience with your workflow.
The same legal framework. Foreign companies operate within different regulatory systems. If your software requirements could entail major legal or copyright issues, you might want to avoid headaches and go onshore.
Less risk in uncharted territory. In case of more sensitive jobs, like creating brand new software or exploring new business opportunities, a local team means a lower chance of failure.
Patriotism. When you outsource inside the country, you support the local economy and get some good PR. Just don't turn it into idealistic wishful thinking.
Cons of onshore outsourcing:
It's expensive. If you're in a rich country, the high standard of living automatically raises prices.
Smaller talent pool. And fewer people means higher rates.
Backdoor offshoring. Take care not to get conned into working with an "onshore" company where the "locals" are salespeople who forward everything offshore. It's not unusual.
The most obvious difference between onshore and offshore is the difference in cost. That's the great plus of offshore outsourcing. However, when you look at offshore outsourcing pros and cons, you'll see many possible disadvantages; you have to be extra careful with offshore jobs. In that Deloitte survey, 20% of the respondents were planning to “backshore” in the near future.
Offshore outsourcing is a great solution for simpler projects, like an established process that needs to be scaled, or product testing.
Pros of offshore outsourcing:
It's the cheapest: A lower cost of living means a dirt cheap project. The labor costs in India and China are four times lower than in the US.
Bigger and more diverse talent pool: More developers means more talent and greater choice.
Faster work and easier maintenance: Since offshore developers are cheaper, the teams there can afford to deploy more workers on your project than onshore. Also, they can find new people faster. Software maintenance is supported by the sheer force of numbers.
No bureaucracy: You don’t need to think about local employment regulations or taxes. It’s all dealt with by the offshore company management. This means great flexibility in how the team grows or shrinks depending on your needs.
Cons of offshore outsourcing:
Different language: The worst consequence of the language barrier isn’t that people don’t understand you. It’s that they imagine they do. And it can take you days, or even months, to realize you’ve been misunderstood. Striving for clarity is hard and time-consuming.
Different time zone: Your morning is their evening. Anything from e-mails to meetings will take longer, adding costs and delays to your project.
Different culture: Many attitudes and business habits you take for granted will be seen as unreasonable over there, and vice versa. Clear and resolute communication is key. Don’t worry about offending people.
You won't economize as much as you expect: Hourly rates can be deceptive. All the differences above will be converted into wasted time.
Confidentiality: Cheaper labor usually means slacker attitudes towards legal issues, particularly copyright and intellectual property laws. You’ll need careful technical documentation. Some of the copyright, security, privacy, and legal risks to take into account are described here.
Blown-up staff costs: To compensate for low hourly rates, offshore companies tend to bloat their project staff with unneeded workers.
Consistency: Offshore developers can be desperate for work and take on whatever comes along without sticking to your project, so there can be a big turnover.
Political insecurity: On 17 February, Ukrainian developers were celebrating their success. One week later the country was at war, forcing a large part of Europe’s Silicon Valley to shift its priorities from writing code to staying alive. While you can’t predict wars, you can get some idea about the stability of a specific country by checking the World Bank’s political stability indicator.
Nearshore outsourcing tries to combine the best of onshoring and offshoring.
The advantage of nearshore vs offshore software development is the same time zone and usually a similar working culture. The advantage of nearshore vs onshore is lower cost, though not as low as offshore, and a large talent pool.
For the US and Canada, nearshore is Latin America. For Western Europe, it’s Central and Eastern Europe.
You could use a combined approach: find a team where the lead developer is from your country and the rest is nearshore or offshore. Or you could have a local project manager. Either way, you will partly avoid the communication problem.
Political insecurity can be a problem for nearshore too, as in the case of Israeli tech startups, which used to employ between 20.000 and 30.000 Ukrainian developers. Now they are forced to look elsewhere.
This is about your needs. The question of when to outsource software development is the question of when you've run out of money or resources to realize your plans.
You should outsource if:
And this doesn’t just apply to cash-strapped startups or mid-sized businesses. With software development outsourcing expected to rise by a whopping 70% by 2023, we shouldn’t ask which companies use outsourcing, but which ones don’t.
WhatsApp picked Russia, Skype chose Estonia, Google relies on Southeast Asia, and Apple went to China. Sometimes it goes the other way round. In its early days, Alibaba outsourced to the US: as a Chinese company, it already had cheap labor, but it lacked top skills.
The focus on outsourcing means a focus on your integration with the offshore team. Before you go looking for software developers, you need to answer these questions about your software:
What really matters is what kind of service you get. Let's see how to hire a software development company that promises to be reliable.
I already wrote about some general considerations when hiring someone. These six points are particularly important:
As for where to look, it depends on what kind of software you need. And finding candidates has never been easier. You can put a free ad on hiring platforms like Upwork, Freelancer, PeoplePerHour, Guru or Dice. You can browse professional communities like Stack Overflow or LinkedIn. Even a simple search on Google will give you ideas. I'd suggest trying all that just to get a feeling of what's out there.
Or you can start by choosing a region or country of preference. I find these interesting:
Central and Eastern Europe.
The standard of Central and Eastern European countries may be catching up with their wealthy Western neighbors, but they still offer great value for money, with high professionalism, no cultural barriers, and English proficiency.
South Africa.
South Africa is the rising star of offshoring. It has good infrastructure and is in the same time zone as Europe. Nigeria and Egypt are close contenders.
India.
The favorite offshore destination of the US is not about to be dethroned in the near future. Its IT market is dirt cheap and unimaginably huge: there are more software developers in India than people in Ireland.
Just so you don't forget the main points, here's a short summary:
If you've made it this far, you know that the basic question of onshore vs nearshore vs offshore development isn't about particular countries at all. It's about your own priorities.
But if you aren't crystal clear about what you want, or if you need to discuss it with someone who knows the market, contact us at Flipkod for help and guidance.
With a decade of successful software projects behind us, we listen carefully and explain clearly. And we never forget your goals: our digital strategy goes hand in hand with your business strategy.
We respect your wishes. And we deliver.