Offshore vs Onshore Development

January 29, 2019 2:59 AM

Getting someone to build your tech idea can be expensive. One common avenue to reduce cost is to use offshore development talent. In this post I will compare offshore to onshore development and propose alternative models so that you can make an educated decision.

Offshore

Pros
  1. Highly intelligent and hard-working
    Places such as India, China and Eastern Europe have many extremely capable software developers/engineers (more on the difference of this in another post). In Australia we have work expectations on things like maximum hours worked and how much is reasonable to achieve. Most of these expectations are not observed in the places mentioned above.
  2. Cost
    The cost of development talent offshore tends to be about 3-6 times cheaper. This can allow you to either work on a shoestring budget or fill out your team with more developers or a wider range of skill sets (design, testing, project management etc).
Cons
  1. Communication
    There are several factors to why communication suffers with offshore development teams: language, cultural, communication tools. While you can almost always find English speaking offshore teams, the style of speaking will be different to yours. Similarly, different cultures can confuse if not planned for e.g. in countries like India, teams will much rather say yes to a request and try to fulfill it even if they know they most likely can't. In Australia the team would most likely say that the task is not possible. Lastly communication tools like Skype, Slack, GoToMeeting and so on are imperfect. They poorly capture non-verbal communication such as facial expressions and gestures, they often have bugs and are at the mercy of the internet connection speed.
  2. Project Management
    Understanding the progress of a project can be very difficult using a remote team. This is not just because of the communication challenges mentioned above but also due to the complexity of asking the right questions to find out what you need to know. Project management is not a new domain but understanding it well is a skill that needs practise. In addition, those who do have experience with project management may not have the technical understanding to adequately translate the team's communication. There are tools which do help in this process such as Jira, Pivotal Tracker or Asana but without an experienced and structured approach they can be misused.

Onshore

Pros
  1. See the team face to face
    Being able to meet the people who are building your tech is invaluable. A huge part of communication is nonverbal and without being able to pick up on those nonverbal cues, miscommunication can easily occur. Apart from the communication benefit, you can also better evaluate if you would like working closely with this team and whether the skills they have advertised are true. Trusting the team you work with is essential and without being able to suss out the team in person, establishing trust is much more difficult.
  2. Work smarter
    While this is not an absolute rule, in my experience onshore develop teams tend to work smarter. They better accommodate business requirements and plan more collaboratively. This definitely occurs in organisations offshore but the approach I have more often seen is to brute-force a solution until it works. This can result in inefficient use of time and often results that don't completely align with your requirements.
  3. Accountability
    Building upon my point on trust earlier, sometimes trust can be lost. This may happen if the team slows down in work, produces code that doesn't match what you've asked for or become uncommunicative. Being able to physically visit the team is essential for quickly regaining that trust and breaking down misunderstandings. While it is not the rule, there have been cases of offshore teams abandoning projects and becoming completely uncontactable. There is nothing you can do in this instance to recover your money or product.
Cons
  1. Cost
    Cost is the obvious downside to using a local team. Salaries for Australian developers range from about $70,000-$250,000 AUD (with exceptions depending on industry and employer).
  2. Work ethic
    Work life in Australia is extremely forgiving compared to other countries. Unless you have an exceptional team which will go above and beyond, it is hard to find a team which will work overtime or on weekends when needed (especially if it is often needed).

What works best?

Looking at these options as binary, one or the other, often will not be the best fit. While the offshore team will seem to fit your budget, the horror stories of failed projects are well documented. The onshore team is more likely to complete your project effectively but at a cost that the vast majority cannot afford.

What has worked best in our experience has been a hybrid model. Use a team that has representatives locally but that also uses offshore staff for some proportion. The proportion of staff offshore vs onshore will depend on your budget but this approach has several benefits:

  • Lower labour costs
  • Communicate face to face
  • Workshop new requirements/changes in person

Here at Switch Maven we have the ability to offer this hybrid model depending on your project requirements and budget. It's what we have found is the most successful model for ensuring that projects get completed in the right budget range. Contact us on 1300 480 759 or through [email protected] to set up a face to face consultation.