Some observations on off-shoring:
1. You have to manage the relationship carefully and frequently. Do not let it drift – it is too important for that. The salesmen/account managers/practice directors/whatever like to claim you can “leave it to us to manage everything” – but they are not to be trusted. They don’t know your business – you do. And if you don’t then you are in the wrong job!
2. You must be very precise in defining your requirements – especially for software developments. Vague specifications and poor analysis up front will lead to a higher cost using off shore resources due to the amount of reworking needed. Remember – with most off-shoring you will get EXACTLY what you ask for … nothing more …. nothing less. So make sure what you ask for IS WHAT YOU WANT! 🙂
3. You must allocate budget for a QA process – and use an independent resource to carry out that review. Do not under any circumstances allow them to sell you a QA resource. Poacher / gamekeeper is not a safe strategy for a quality end result 🙂
4. Check for built-in “additional time & materials” in the code/design. Check for hard-coding and inflexible code – if they can write something that will work right now but break when your business changes they will. It is in their business model to gain value added on-going “fixes/updates/enhancements” that can be charged as time & materials outside the main contract.
5. Don’t let them convince you that changes are outside the original contract – if the original solution was not fit for purpose then make them fix it within the main contract – free of charge!
6. For every “good” resource there are at least 20 “average/below average” resources. Make sure the good ones you are allocated are not moved off to other projects/customers and replaced by less able ones.
7. Paper qualifications are no substitute for ability. Many of the resources are fast-tracked through numerous training courses to pass certifications. My experience is that many of the resources may be “qualified” but they just do not understand the technology.