As an entrepreneur, you are spoiled for choice when it comes to outsourcing software development.
I don’t know if you’re aware but there are at least 15k listed software development companies all over the world.
This means you not only have to decide whether you should outsource or not, but you must also find a way to choose between the massive amount of options.
And when we’re talking about 15,000 options, separating the wheat from the chaff is no mean feat.
Choosing the wrong partner is one of the reasons why outsourcing software development fails.
But more on that in a bit.
Let’s start with the main reason why so many entrepreneurs and business leaders choose to outsource software development.
Well, It works.
Let’s look at a real-world situation…
Apiax is a fintech startup that provides regulation as a service for financial services companies.
They went live in the summer of 2018. By the end of that year, they had secured major clients in the banking industry.
They went on to win Early Stage Startup of the Year at the 2019 Swiss Fintech Awards.
And it all started with an outsourced MVP.
And they are not alone.
More than 37% of small businesses outsourced a business process in 2019 — according to Clutch.co.
The IT Outsourcing market is set to amount to US$404,646M globally in 2020. With the annual growth rate expected to be around 1.2% over the next three years.
Giants of the industry, such as Apple, Google & Facebook have all outsourced or currently outsource aspects of their software development. For example, in 2018 Google’s outsourced workforce outnumbered their in-house employees.
I mean, even Github, one of the largest software development communities, outsourced their initial software development.
So why do some startups (and even big corporations) fail to outsource software development successfully?
The Nightmares of Outsourcing Software Development
There are obvious risks. Fail to vet the right partner and you’ll probably face a business disaster sooner or later.
Want to see an example?
Let’s rewind to 2004.
IBM lost a major outsourcing project when JP Morgan Chase & Co. cancelled the remainder of its 7-year IT contract with IBM, worth $5 billion.
The alleged reason?
JP Morgan wanted to bring their IT infrastructure management home.
Although IBM was never formally accused of failing its contractual obligations, J.P. Morgan still spent millions of dollars to reassemble its IT team.
This is not the only tale of IBM failing to see a contract through. In 2007 the Queensland Health Dept. contracted IBM to administer a technical payroll solution.
IBM initially proposed a $6 million cost with a delivery time of one year.
Can you guess how much the whole project ended up costing?
$27 million. Due to unforeseen technical challenges.
A nightmare, right?
Well, not yet.
Years went by and the platform never functioned properly with the costs escalating to $1.2 billion.
That’s a staggering 19,900% more than the projected cost.
And this not only affects big corporations.
Ask any consultant or advisor you know in the startup scene and they will all have a list of horror stories of founders getting screwed by outsourcing agencies.
So the big question is: how can you avoid your own set of nightmares?
Well, you can start by getting to know the red flags and poor decisions that usually break outsourcing experiences.
Choosing the Cheapest Provider
According to a global outsourcing survey by Deloitte 59% of companies use outsourcing as a cost-cutting tool.
But as the old saying goes “if you pay peanuts you get monkeys.” And it stands true that going with the cheapest option could harm your business.
If you decide to offshore to the cheapest IT provider you have to consider a high probability of communication issues, culture clash and low-quality of work.
Remember, if the quote seems too good to be true, it probably is.
Again, watch out for the too good to be true.
Certain software development companies will promise to give you the moon and stars, in an instant, at a low cost.
Nine times out of ten it is just a way to get you “on the hook” and secure your contract.
Like any business, software development agencies are trying to make a profit — but some agencies will put their profit above your business needs.
Sub-Standard Work (AKA Bad Code)
This is a major risk when outsourcing, especially when offshoring.
In any outsourcing situation, you will not be able to oversee everything that the agency does. They may cut corners during production and you risk losing control of the project.
The worst-case scenario is that you end up with an unusable platform. It may simply break, or no other developer can understand the code that has been written.
In this case, you will have to start again — if you can afford to.
It is essential that any potential partner follows the industry standards, especially when it comes to code quality and documentation.
If you can, get a techie friend to audit the company. You can also ask the agency for references.
Lack of Tech Knowledge
If you are looking for a tech partner, you want them to know more about tech than you.
Just make sure you don’t lose control of the tech decisions that are being made.
You should educate yourself and improve your tech knowledge so you know what you are paying for.
I’m not recommending you go and learn how to code — far from it!
You should, however, learn the basics so you can have an educated position in the conversation.
Remember, many tech decisions are vital business decisions.
Failure to Understand Scope
I can’t stress enough how important it is that you make yourself heard when talking to software development agencies.
The overall scope, project-specific requirements and time on delivery should be crystal clear from the word go.
If you don’t do this properly you are risking misaligned product vision.
This is dangerous because you may end up with a few surprises.
For example, the agency may start throwing features at it in an attempt to understand what you need.
It will begin to grow uncontrollably.
This is commonly called “Scope Creep” and can plague a development process.
The space between your expectations and what is being built is going to get bigger and bigger.
You’ll end up pushing back your launch because, well, you haven’t got the product you want.
This will obviously take its toll in terms of money, but also in patience and the trust you have in the agency.
To combat this create clear documentation to outline your expectations on deliverables.
First of all, if you are thinking of outsourcing software development to a native English speaking country make sure you know your pants from your trousers!
From aubergines to eggplants colloquialisms and slang differ from country to country.
If you are outsourcing to an offshore agency a language barrier can be one of the hidden “costs” of outsourcing software development.
Yes, your pocket seems fuller — but what if you can’t understand the agency?
All of these can create barriers, especially between native & non-native English speakers.
When outsourcing to a company that’s not on your doorstep you have to account for two more factors.
The first? Timezone.
Simply put, unless you or your service provider are willing to commit to late-night shifts you will be left waiting for responses from your agency.
The second? Communication Technology.
If you’ve spent any time on Skype, Google Hangouts, Whereby or Facetime you will be used to:
What? I’m sorry I didn’t catch that! Hello? Helllloooo? I can hear you. Can you hear me? Sorry I got disconnected. Hold on, let me refresh.
Every single time, right?
These platforms are never 100% reliable.
How about good old-fashioned email?
That can work, sure.
But crafting lengthy emails to solve issues that could be solved in a two-minute conversation is going to get frustrating quickly!
What does this mean for your business?
Communication barriers can lead to a failure to understand the scope or an increased time to market — which will mean a higher cost.
It’s vital to swiftly solve all communication barriers between you and the agency to whom you are outsourcing software development.
The difference in cultural nuances can also play a huge factor in a relationship between you and a software development agency.
Be aware that government & religious holidays may be different.
The traditions of the boss-to-employee relationship can differ hugely across countries and continents.
In the US or EU, you may sit directly opposite your boss — for example.
Whereas in countries such as Singapore, Japan and South Korea it is very rare a senior-level member of the team would be sitting next to a Junior.
It’s important to understand the differences in culture between you and the agency you are dealing with.
Don’t get me wrong, as I said before, you have to be clear on the scope from the get-go.
However, a product is a living organism so its needs will inevitably change over time.
The ability to adapt and evolve is integral to success.
Make sure you find a partner that is able to grow with you (e.g. expanding the team — or even the scope) and do what’s necessary for your product’s success.
Lack of Thorough Testing
Every piece of software has bugs.
When you’re building something you can’t expect it to be perfect.
But you do need to be obsessed with reducing the potential problems to a minimum.
You do this with thorough testing.
Testing is a critical step. It will help you pinpoint the defects and discover errors and bugs before the product reaches the user.
As a result, you will have created a high-quality product that’s secure, reliable and performs well even when you push it to the limits of its capacity.
Isolating the Agency
Relationships are sensitive — and distrust is lurking around each corner.
Without trust as a foundation, you are setting yourself up for failure.
You should recognise that both you and the agency are a team and this partnership is integral to the successful delivery of the product.
Don’t treat your service provider as a foreign body.
Not Taking Full Advantage of Your Partner’s Knowledge
Sure, you could hire an agency, hand over a list of features and let them get on with it — you’ll probably get a half-decent product out of it.
But a high-calibre, experienced agency will have helped build hundreds of businesses across several industries.
So why not take advantage of the valuable inputs they can give you.
From product to tech, a committed software company that gets involved and challenges your ideas will make your product stronger.
This is a great asset for your company, you should use their expertise to complement yours whenever you can.
Outsourcing software development to an agency can be a great option for your startup.
You just have to be careful and do it the right way.
Always keep your eyes peeled for the red flags.
And if you still have doubts when it comes to outsourcing software development check out this decision tree.
It will give you a step by step process for making the right decision for your business.
If you have any questions why not drop me a direct message? I’d love to hear from you.
What do you think are the major risks of outsourcing software development? Drop a comment below and let’s start a conversation!