Outsourcing activities that are not part of a company’s core competencies has been done almost since the dawn of human enterprise. Recently (and by recently, I mean in the last 20-30 years), the trend toward migrating such work to low labor cost countries such as India, Latvia, and China has increased, leading the phenomenon known as offshoring. This type of IT provider can develop solid, useful outputs – there has been the rise of many companies specializing in doing this and the educational systems for almost all of these countries have dramatically improved.
Companies can definitely save money using offshore IT providers; however, like all facets of technology, the correct projects and functions must be used, and the outputs carefully controlled. Here are 7 tips to help you make the most of your offshore IT projects and functionality, and ensure that you have the highest chance of success.
1) Establish clear output success criteria
Offshore providers almost always have significant language, cultural, and temporal (time zone) differences from the person or company hiring them. As such, communication can go awry despite the best efforts of all people involved. Understanding exactly what you want out of the project or output will help your offshore partner provide the best results possible. While no project or output can ever be exhaustively defined, the criteria that are important must be determined ahead and explained. This will put additional stress on the project managers and sponsors, but is required to ensure that the output are what is expected.
In addition, you must understand which of these criteria are negotiable and which are not. In the event of time pressure, you may need to negotiate with your offshore partner; it is much better to know in advance which criteria may be changed. You must talk to your provider about these goals, of course – they are the ones that must implement them. However, you must not let the offshore provider drive that discussion given that the outputs are important to your business.
2) Confirm your exit plan from both the contract and provider
No one plans for projects or partnerships to fail; however, it still happens sometimes. When it is obvious that an offshore vendor is no longer providing value to the company, it is time to sever the relationship. Prior planning will make this process much less stressful and costly.
- Ensure that you have an opt-out clause in your contract with the provider – this may incur financial penalties but nothing is worse than being stuck in a multiyear contract with a vendor that is not providing value any more
- Have a plan for how to extricate your technical assets from the provider before you sign any contract
- Determine how you want your offshore partner to provider assets – source code? test cases, test code? documentation? configuration files? access to repositories? The exact type will depend on what you having the company do – access to repository or source code are standard for product development; for services, they will often use your system, so no information may need to be extracted
- Ensure that your provider is using your coding, naming, testing, and reporting standards – there are few projects as challenging as pulling useful information out of a failed offshore deliverables with poor code hygiene
- Confirm that any of these non-deliverable requirements above in the contract and directly tied to the opt-out clause
Understand that the offshore provider may not want an opt-out clause or may give much better rates for signing a multiyear service contract. If you are unable to get an opt-out clause, do not sign any contract longer than one year – you are exposing yourself to too much liability. If you are unable to do either, look for another provider; there are a lot of them, as well as different countries in which to look.
3) Determine at what point you will pull the plug
Following up with the point above, you need to determine at what point the current project or service levels will be considered to have failed. Having this decided and written down in advance will remove emotions from the decision and allow for a better, more effective process. This will also ensure that all parties focus on building relationships and performing any remediation possible until the threshold has been reached.
4) Understand the cultural differences
Another way to phrase this is be patient. Remember that you are dealing with people on the other end – people that are intelligent enough to learn at least one foreign language with which they are communicating to you. Making assumptions of good will on both sides will help improve relations and communication.
In addition, there are almost always cultural differences that should be accommodated during discussions; as the purchaser of services, you are within your rights to demand that the vendor change themselves. This will, however, almost always result in bad outcomes and strained relationships. There are cases in which you should not acquiesce – it makes no sense for your company to forbid female project managers from overseeing activities in Muslim countries, for example – however, even these may have to be determined on a case-by-case basis. Even in the most extreme circumstances, it is best to couch all communication in a respectful manner regardless of your personal feelings toward the subject.
These cultural differences play a part in the types of activities and processes that companies should leave for their offshore providers to decide upon. Your offshore provider can be a great source of creativity for your company, if you understand what cultural land mines exist.
5) Understand the true cost of offshore work
Financial organizations within companies love offshore providers, as they look only at the per-hour cost of labor – this can an order of magnitude or more lower than using domestic people or vendors. As we all know, however, this expenditure in no way translates to a total project cost coming out an order of magnitude lower. There are many costs incurred by using this sort of provider – I have listed some below. The best thing that you can do when using offshore providers is ensure that all costs are accounted for to ensure that you use offshore vendors appropriately in the future and not fall prey to some misguided financial sleight of hand regarding cost savings.
Additional costs incurred when outsourcing
- Upfront project management and sponsor costs for preparing a detailed precis for use with the offshore provider – this is an additional cost as much less detail is required for local people for whom communication is not an issue and the ability exists to talk directly and quickly to them exists
- Incorporating the output into existing systems, if appropriate – this can be very expensive and challenging project depending on the quality of the deliverables
- Any personnel costs for ongoing project management, particularly if takes more time than a local project would
- Any personnel costs to review the outputs – for quality, adherence to coding standards, completion of documentation, etc.
- Any additional costs arising from having to certify offshore processes from industry or regulatory compliance – ISO9000, SOX, CSOX, etc.
- Any close out costs from previously failed projects – this will be expressed a percentage cost (i.e., 10% chance of $100k close-out costs, or $10k) – use any previously failed projects, including any late deliverables
6) Understand what can be left to creativity and improvisation, and what can not
One of the benefits of using a company in a completely different culture is that you have access to new creativity and thinking. As mentioned in point 4 above, however, there may be some areas where your providers are not going to design your system in such a way as you like. This may include colors, text, user workflow, images – anything that can have very different interpretations in different cultures may be a challenge. Having said that, there is the chance that your partners will be able to provide some useful and valuable insight into the experience that you are presenting.
Another thing to watch for in this category is the uber company – the offshore provider that advertises specialties in Microsoft technology stack, project management, nuclear physics, pastry making, and just about anything that you can think of. Your best bet is either a specialist in the technology or service that you want, or a generalist that works with companies to create the entire project or application.
7) Get personal and commercial references
The best way to succeed in offshore technology partnerships is to use a successful provider. While this sounds like a tautology, it means that you and your executive leadership team should reach out to their networks to identify providers – both good and bad – that have been used in the past. This step alone can save months of effort or more, particularly by weeding out the problem players in the region at which you are looking. Even better, if you can find a good reference, you will have a head-start in establishing relationships and much more confidence that your selected provider will provide what you require.
Image courtesy of iStockphoto.com