Zartis engineer Phil Thomas explains how to avoid the pitfalls of outsourcing to boost your org’s productivity and innovation.
There are several reasons why a company might consider outsourcing software development. Principal among them are budgetary, strategic and logistical reasons. However, the skills gap is perhaps the most pressing. Few industries are unscathed by the talent shortage, but software development has had a particularly tough time lately.
A study by Code Institute in late 2023 found that many firms are struggling to find qualified software developers and keep up with tech advancements. It’s probably not a coincidence that, according to Whitelane Research conducted last year, 63pc of UK organisations planned to outsource at the same rate or more in the next two years.
However, outsourcing is not as simple as it may first appear. Any IT manager will quickly discover that there’s more to consider than meets the eye. So, here are a few things to keep in mind.
Outsourcing is more like a choose-your-own-adventure game than you’d think, with three models: nearshoring, offshoring and onshoring. What’s the difference?
Let’s start with the one you probably don’t want: onshoring. Think of ‘domestic outsourcing’ of your software development to somewhere non-metropolitan and more affordable within your country (eg Dublin to Galway).
You’re curbing costs while operating under the same rules and regulations in a nearly identical work culture. This certainly has benefits, but the cost reductions pale in comparable models, so this only makes sense for large-budget companies in expensive metropolitan areas such as London, Paris or Dublin.
Now, for cost-optimisation, look no further than offshoring. This typically means outsourcing to areas further afield, such as China, India, eastern Europe and Latin America. Despite the cost savings, there are drawbacks: chunky time differences, longer journey times, higher travel costs and potential cultural and language barriers leading to less-than-seamless communications between teams.
What if you want a happy medium between cost and location? Enter nearshoring – the most popular model, involving delegating specific tasks or entire projects to a software development team in a nearby country (eg a US company outsources to a third-party vendor in Mexico).
You’ve probably guessed this model’s benefits: no massive time differences or egregious travel costs blowing a hole in your budget. Collaborating long-term with nearshore developers or meeting in person is easier. Not only are they usually more cost-effective than domestic ones, but nearshoring also gives you access to a much larger and more diverse talent pool than hiring locally.
Which is better then – nearshoring or offshoring? It depends largely on your budget and project complexity. As a rule of thumb, go with offshoring if you operate with a limited development budget for smaller or one-off projects. Stick to nearshoring to build close, long-term collaborative relationships on more complex projects.
Which vendor do I pick?
How do you know which IT outsourcing providers are worth their salt? Some things can be determined by verifiable case studies, certifications, industry awards and Google or Glassdoor reviews. But finding the right vendor ultimately comes down to asking the right questions. Here are some to remember:
Does the outsourcing company fit your business needs and development projects, and have they worked with similar companies on similar projects before? If not, can they tailor their services (outsourcing model, collaboration model, team size, etc.) to your requirements? If they can’t be flexible, that’s a big red flag.
Do their software developers have the expertise you need, and are they good at the tech stack you are using? A good tip is to Google specific areas you need help with, eg modernising legacy software or mobile application development, then narrow your search to companies with that expertise.
How do they handle disasters? Building great software is half the battle. The other half has system checks and a plan B to build great software without interruptions. Do they have that? How will they handle a worst-case scenario?
What’s their employee retention rate like? If they’re bleeding people every few months, that’s a red flag for the efficiency of your collaboration. Ask how they plan to ensure team stability. A good provider will have the right processes in place to keep engineers happy, and if they’re not happy, you won’t be happy either.
Do their engineers have access to opportunities for continuous education? The tech industry moves quicker than a hamster on coffee. You don’t want a team that can’t stay ahead of changes happening to software.
Mistakes to avoid when outsourcing
You also have to know what not to do, including these three critical mistakes.
The first mistake? Not identifying your differences. Unless your company and the outsourcing provider are identical twins, they will diverge in equipment and processes. You want to identify these in advance, not headbutt your keyboard in frustration days, weeks or even months into working together. Potential areas of friction include hardware needs, communication software, working hours, public holidays and approach to project management.
The second mistake is not addressing knowledge gaps early. You must set up systems for both teams to exchange knowledge, solutions, tools and resources. It’s also worth organising training sessions or asking your outsourcing provider to do that for their external developer team.
And finally, don’t close off the option of long-term collaboration. The longer your outsourcing provider works with you, the better acquainted they will be with your product, company, processes and team culture. That’s an invaluable resource, so leverage it! You may find it makes sense to use the external team for tasks beyond the original project’s scope, such as having the extended developers onboard and mentor junior engineers or brainstorm innovations and solutions.
You be the judge
Outsourcing software development can get dense quickly. We’ve not even discussed the types of contracts you can enter. But hopefully, this little guide serves as a crash course on the most important fundamentals you need to get right before you hand your IT work off to an external team.
As much as it may sound like a cop-out to say so, there’s no right answer to how you do it. It’s only your preference. That preference will be informed by your budget, geographic location, working methods, company size and culture. If you ask the right questions, you might just find the team that lets you scale up innovation and get the blood flowing through your organisation.
By Phil Thomas
Phil Thomas is VP of engineering at Zartis, a software services company. An experienced tech lead and architect with more than 10 years of experience and a strong foundation in full-stack development, Thomas specialises in leading high-performing teams and delivering impactful business solutions.