I am so sick of off-shore outsourcing. Every IT company under the sun embraces it, and I don't get why. It's up there the weird Atkins diet craze. Every restaurant, food company, and bum off the street tried to make money off of it. Who the hell ever thought that a bun-less burger with bacon and cheese is a good idea? Ugh. But I digress.
Although the business-types don't admit it, outsourcing is a sham. Sure, on paper, outsourcing to a development team somewhere in Asia may *appear* to be cheaper than full-time resources or even local contractors. And sure, it *appears* to be the right choice for ramping up a large development team in a short amount of time without having to hire full-time staff that you would wind up firing later anywa. Unfortunately, the work of off-shore development teams is crap.
In the best-case scenario, the code delivered will work. Even though it works, however, most of the code will not only violate client company architecture practices, it will also often turn out to be a huge bastardization of good coding practices. Unfortunately department heads and upper-management won't care about the application's innards because on the outside, the application works to specification. Who cares if the resulting code isn't maintainable. After all, "if it ain't broke, don't fix it".
In the worst-case scenario, the code will be such utter useless garbage that it will take a competent local developer to fix the off-shore team's code in 5% of the time that it took the off-shore team to code that deliverable in the first place. Of course, some companies are stupid enough to keep sending the bad code back to the off-shore team for fixing, only to continue getting sub-standard code back. At any rate, the code is re-worked, and the would-be cost-savings goes down the toilet.
The moral of the story? Do I have to spell it out for you, or are we outsourcing thinking as well?