For over 3 years now, we have outsourced development work on big projects to a foreign based outsourcing company. Over this time, I have experienced the good, and the bad, sides of foreign outsourcing. In this article, I aim to go over the good and bad points, and how they can be avoided in the quest for quality projects on a limited budget.
1. Choose your model
There are many different outsource models, ranging from having a team based in a foreign country, to split models where the outsourcers have locally based offices. Always choose your model wisely and remember that step 2 really applies to this.
2. You get what you pay for
Firstly, I would like to underline the old adage "You get what you pay for". Too much emphasis when sourcing an outsourcing company can be placed on always finding the cheapest possible company. This is not the best way to do it! Cheapest is not necessarily the best! What you are aiming to find is a company that will produce a good quality solution based on your needs not the cheapest!
3. Establish good lines of communication
This is important for all projects, and all the more important for communicating with foreign outsource organizations. There can be many things that can cause problems here such as: language barriers and time differences. It is crucial that all parties can understand each-other, and convey project specifications and issues between both parties without misunderstandings creeping in. As an example, we did initially think that communicating with our partners via the telephone and email was going to be adequate. We quickly realized this was not the case! To aid in communicating, we are now investing in video conferencing systems to enable us to communicate with our foreign partners easier. And the most important point to remember is if it takes a morning to explain a simple aspect of your project to your partners then your communication is not working!
4. Work with, do not impose
Now, this is an interesting one that one of my colleagues said to me. We put extensive work into imposing our own work standards on our partners, without realizing the pitfalls. If you make someone work in the way you want them to work, they may produce a lower quality solution than if they worked in their own tried and trusted method. To this end, we decided to impose two important standards on our partners. Firstly, we imposed a standard specification document which contained a minimum level of information that would be required to initiate a project. Secondly, we imposed a minimum Documentation and Handover requirement. This importantly gave each party an indication of what to expect from the other party.
5. Always meet your team
Even if it means flying out to their offices or having them fly to your offices. Always meet your Team. It puts a face to a name, and gives the external team less of the feeling of being "Detached" from the company and the decision making. It may seem like a chore, but it makes both sides feel less detached.
6. Never outsource your maintenance
We have found that outsourcing is best suited one off projects. Maintenance requires a in-depth knowledge of your systems and procedures. It also requires a high degree of availability. By all means, outsource maintenance if your company desires, but if your outsource team is only available from 7am to 2pm, always ensure you have someone to call upon outside those hours!
7. It's not just about saving on the balance sheet
Too many companies look at the bottom line and perceive outsourcing as a means of saving money on the balance sheet. You may find that savings on the balance sheet are eaten up by other costs, the big one being time. If you poorly manage your communication with your outsource organization, you may find your time being eaten by additional communications/work that may be required because of poor specifications or communication. This of course is not a visible cost on the balance sheet, but it does have a large bearing on your company.
8. Do not outsource all your IT team
You will always need a core of in-house knowledge unless you have total faith in your outsource team's abilities. Unless you have a top-notch outsource firm, you will always need a core IT Team to analyze your users' requirements and provide support to projects.
This article is not intended to knock foreign outsourcing, it aims to give advise and pointers based on experience of the best ways to handle offshore outsourcing. Offshore outsourcing will always be with us and we have to live with that, but we also have to ensure that it is managed effectively and efficiently and that we draw on mistakes made in the past by other companies, to ensure projects and services are delivered with the highest quality.