When things go wrong, these are the TOP 10 major causes of Software Outsourcing Failure:
- Present codebase & documentation level unfit for offsite R&D
- Future Product/Services not fit for offsite R&D
- Outsourcing strategy non-existent
- Outsourcing strategy not aligned with company strategy
- Business case not based on realistic estimates
- Organisation Maturity insufficient
- Lack of Processes/Methods/Tools to interface with external partner
- Staff resistance to changes not managed or manageable
- Budget/time/resources/experience selecting a partner is insufficient
- Client/Provider closing a deal based on miscommunication, lack of transparency or a business case that only favor one party.
In the 20+ years, I have worked with software R&D, outsourcing, nearshoring, and offshoring, I have never found a single case where a failure couldn’t be explained by one or more of the above causes.
The good part is that ALL 10 points can be handled before you sign a contract.
Is the software outsourcing provider never to blame for a failure?
Yes, you could blame the Service Provider for 3 things:
- Not to ensure that the Client passed the first 9 steps
- Not to ensure a plan for the first 9 steps
- Not to ensure that step 10 will lead to mutual benefits and a long-term partnership
But, step 9 actually includes the evaluation/due-diligence of the provider’s sales team, because:
- An inexperienced sales team will not say ‘no’ to anything
- they will not ask the prospective client critical questions about any of the issues in step 1 – 9
- they will promise more than realistic
- they will settle for a contract but constructed in a way that they can gain manyfold at a later stage
So, in my opinion, the “finger” mostly point one way.
What about outsourcing failures in the operational stage?
Yes, there WILL be operational issues, but if you have passed all 10 steps above you are not alone – you will have a Partner that is just as eager to resolve issues as you are.