Onshore vs Offshore Software Development: Which One’s for You
The demand for software engineers is growing faster than the number of specialists our colleges can supply. When the shortage of developers is expecting to grow significantly in next 5 years, more and more companies are looking to outsource their development needs.
So, is Onshore or Offshore Software development a good approach for your business? Companies should choose Offshore model if they want to save as much as possible on labor or they need high quality engineers at a lower cost. If both labor and time zone difference are deciding factors, then companies should consider Nearshore opportunities. If money is not a factor, but it is important that outsourcing vendor shared same culture then Onshore outsourcing is a right approach.
There are a lot of companies that do not have software development teams. Historically, it was not such a big problem, because we started using personal computers only in mid 80s and internet in late 90s.
Only in last 10-15 years internet became the main driver of global economy. Companies that want to scale and grow have two options: hire more people or use software. Software is cheaper.
If the business wants to automate business processes, make more faster, it needs software. And often off the shelf software either needs to be adapted for company needs or company needs totally new way of doing business and needs specialized software.
If the company does not have a development team it has two options: build the team or hire outsourcing vendor. There are pros and cons for each approach, and I will not be discussing them here. The focus of this post is to dig deeper into outsourcing variants.
What’s in a name?
If you were researching outsourcing options chances are that you heard about different terms like Offshore, Onshore and Nearshore. When applied to those terms word shore means location.
Onshore outsourcing means that both hiring company and the vendor providing services located in the same company. Usually, the vendor is local, but it can be in another state as well. In this case it may be too expensive for a company in Silicon Valley to hire local developers, so they instead hire developers in Phoenix, Arizona.
In case of Offshore model, the enterprise finds a vendor in another country. An example would be a US company hiring an outsourcing agency in India, Ukraine or the Philippines.
There is a special case of Offshore model called Nearshore. In the latter case the foreign agency is located in a neighboring country or a country with the same time zone – for instance, the US company can hire a vendor in Mexico or Argentina.
The main reason why people look at Offshore software development is mainly to save on labor. This doesn’t only apply to software development.
Enterprises outsource many services: call centers, HR, etc. If you periodically getting phone calls from a guy named Matthew with a funny accent and he offers you to sign up for a new credit card it usually means he’s calling you from the opposite side of the world.
The Offshore model has been around for a long time, at least since “Decline and Fall of the American Programmer” was written in 1992.
However, I believe it’s getting even more popular in last 3-4 years with improvements in communication tools. If 15 years ago we used tools like ICQ and didn’t even know about source control, now we have Slack, Skype, Git and numerous other video conference tools. And most of them are free.
Offshore development tends to be the least expensive option because the of low cost of living in Offshore countries. However, the rates differ for different countries. Cheapest developers live in the Philippines, India, and Argentina. Most expensive Offshore destinations are China, Ukraine, and Poland.
Wages of Offshore developers may be 70% lower than the salaries of US developers. If R&D expenses are low then the business can offer services for lower price and compete with other companies that do not use Offshore resources.
2. Wide range of skills
Since a talent pool living outside the country is always bigger than the pool in the country in theory you can find Offshore resources which otherwise will be difficult to find locally.
Because developer wages are low in Offshore countries Offshore companies can can keep their employees on the bench if there is no project currently. So if you need more resources quick then adding more people to the project wouldn’t be a problem (although it’s not always a good idea according to The Mythical Man-Month).
Unfortunately, Offshore model comes with several disadvantages.
1. Language barriers
Most developers around the world speak or at least can read English. However, the proficiency level of some Offshore developers simply may be not enough for an effective communication.
I remember when I worked in the company developing software for a customer in Europe, the customer used to complain another the developer that he was always saying Yes to anything the customer was asking. And the customer was right – the developer didn’t speak English well and as a result sometimes he would build wrong things.
If you want to know more about tips and tricks on overcoming language barriers please check here.
2. Cultural differences
Even if your Offshore team fluent in English, they may be used to different communication styles. In addition, the Offshore team may create a solution to the problem that does not apply to your target audience. In order to avoid this, you need to provide very clear strict requirements.
3. Different Time Zones
Collaboration and communication across time zones is hard. Speed and agility in the core of companies that want to be competitive, but if there is little to no overlap between your team’s working hours and those of your Offshore team it could take a day to get a response to your question. If it requires any follow up, it can take an additional day to get the answer.
If you have multiple teams across multiple time zones finding a time for conference calls that works for everyone can be challenging. I knew people who would arrive to office 2-3 hours earlier for weekly updates.
4. Technical issues
The success of Offshore development directly depends on the internet speed. In some countries and some cities internet may be spotty at times which means that product delivery may be delayed sometimes. The could be problems with electricity in some cities. I know that some Offshore developers use laptops and mobile hotspots when there is a problem with electricity or internet.
5. Hidden costs
Even if initial cost savings from switching to Offshore model can be significant, the real savings may be different than expected. If communications issue didn’t get resolved, then Offshore partners may spend more time on development which adds to labor cost.
Since Onshore model is opposite to Offshore model their pros and cons are almost diametrically opposite.
1. Ability to meet face to face
The main advantage of Onshore model is a possibility of having face-to-face conversations between the company and Onshore partner. The proximity of the vendor to your business location makes it easier to monitor the progress of the project.
2. Ease of communications
There are no language barriers when employing Onshore vendors because you and then speak the same language. Shared language and culture significantly minimize any chance of miscommunication. Moreover, since as you are both in the same time zone, you can always connect with the team and quickly solve problems.
3. Regulatory considerations
Operating in the same country means you and the Onshore company are likely governed by the same regulations and laws. If protecting intellectual property is important for you then using an Onshore team may be your only option. While IP disputes can occur even anywhere, it is less likely to happen if both parties in the same country.
4. Public relations concerns
People who talk about advantages of Offshore development often get asked why they are promoting ideas of moving jobs overseas. So, some companies may be driven by the public relations benefits that come by creating jobs in the US instead of shipping them abroad.
1. High Cost
Outsourcing locally to the US companies is very expensive. If it was not true most Offshore companies would have no chance of getting jobs. Besides the capacity of Onshore companies can be limited because they can’t afford to keep employees unassigned to work.
2. Back-door offshoring
Although this happens very rarely, but I believe that I have to mention that some Onshore vendors may secretly subcontract work to Offshore developers to reduce their costs while charging their customers Onshore rates. Here is an example.
Nearshore outsourcing works just like offshoring except that your Nearshore team operates in the same (or close) time zones.
Pros of Nearshore model include cost savings, scalability and access to larger talent pool along with the advantage of real time communications over internet.
Cons of Nearshore model include language and cultural barriers.
Offshore Development and Quality Issues
Once my friend and I came to office wearing the same kind of shirts. Everything was the same – brand, material, quality, even color. The difference was the cost. I bought my shirt in JCPenney and paid $30 for it.
My friend is a rich guy, so he often shops at Nordstrom, and this time was not an exception. He bought the same shirt in Nordstrom and paid $80. Same shirt, same quality, different price. We both laughed, but needless to say he was upset. He paid $50 more and felt as if he was cheated. I never so him wearing the same shirt again.
If you do a little research about offshore in internet you will find a lot of horror stories about the low quality of Offshore developers. We often think that if we pay more for something than it has a higher quality.
Unfortunately, this is not always a case. The reason that Offshore developers are cheaper in certain countries is because the cost of living there is significantly lower than in the US, especially in Silicon Valley.
In fact, the cost of living in Phoenix is lower than in San Francisco, but it does not mean that developer in San Francisco making 200k is necessarily better than developer in Phoenix making 100K.
However, when hiring an outsourcing company, you have to do due diligence and make sure that you getting top talent available.
It is hard, but it is possible.
Images used: Roberts, Gregory. “Hamilton Industrial”. Feb 28, 2009. Online image. Flickr. Feb 23, 2019. https://www.flickr.com/photos/gregrob/3319679498/
Awesome post! Thanks for sharing the knowledge and keep up the good work.