The Pitfalls of Outsourcing
Ok. Before you totally diss me for that statement, hang on…
With regards to outsource, I keep hearing people complain that anytime they get someone from XXX country they can’t code, they can’t write, they can’t do .
Three years ago I was working for a company called Witness Systems.
Witness brought in a new Director of Development. He (allegedly) analyzed the product teams and what they were doing. I say allegedly because he never talked to ME! 
Anyhow, once he did this, there was a big announcement that all project work was going to be outsource to India including the Configuration Management team.
As a sidenote for those of you who are are not familiar with Configuration Management, it’s basically a discipline that is responsible for the nightly “builds”. The builds are where the software for your company is compiled on a daily basis. Quite often, some application or another will not compile. It’s at this point that you need to communicate with the software engineers to find out what is wrong with the application and get it to compile again.
When the director told us that everything was going to be outsourced I told my team that it was unlikely that it would go off successfully. I happened to be right about that because after 2 years the duties of the configuration management team had not been successfully outsourced.
Why did I think the outsourcing would fail?
First, I knew that the tasks that we were required to do needed the following skillset:
- Someone who was familiar with Configuration Management tools like SourceSafe, CVS, PVCS, ClearCase, etc. At the present time, I know of no colleges that teach this skillset.
- Since knowing the build process often requires knowledge of how to build the installations, this person would also need to know install development tools like InstallShield and/or Wise.
- The person would need to have basic development skills.
- And, finally, good communication skills.
Now, I’d been in the situation where I actually needed to hire someone to replace me in a previous job with these skillsets. And it was very very difficult to find someone. In fact, the company never did find one person with all of these skillsets and had to split the job up between several developers.
So, they planned on growing the configuration management team - right? Nope. They were going to shrink it.
The workload was too high for the people who knew what they were doing but they wanted to outsource it to India where the people didn’t know what to do and would have less people to complete the job. It didn’t make sense.
So where am I going with all of this?
Well, the first moral to draw from this story is that when you outsource, you should never outsource your core activities.
For instance, let’s say that I wanted to develop a system to publish pages and I knew some proprietary ways to get into Google faster. Getting someone to build the system (outsourcing) would be fine. What would not be fine, however, would be telling the outsourcers the proprietary knowledge. I would need to break the task up into chunks to protect my core knowledge.
Secondly, when you’re outsourcing, you need to consider the language barriers. I think this is often the biggest challenge that companies face (and neglect to account for) when they’re outsourcing.
The fact of the matter is that when I am talking to someone in India and I live in the United States, we’re going to have a communication barrier until we have both had time to adjust to how the other person speaks and writes. And that’s not even going into language oddities like (or so I have been told) Indians will say “Yes” which means “I hear you. I will think about it” to them.
Now, if you look into more detail with regards to India you’ll find that their economy is exploding. It is not uncommon at all for someone to accept a job and leave that position a month later because they got a better offer. It was like that in the United States in the information technology realm in the 1990’s until the dot com bubble burst.
This problem leads to great difficulty in not only retaining staff but also in hiring ones that have the skillsets you need.
If you’re still with me at this point hang in there a bit further 
In the past 2 years while I’ve been doing White Hat SEO as well as Black Hat SEO, I have outsourced programs (usually when I’m too lazy to do it myself) to programmers in Russia, Malaysia, India, Pakistan, and a few other countries.
Out of a dozen or so programmers that I’ve used, I have found TWO that I would use again. In most cases, the programmers that I would not use again were simply looking for the quick buck. They wanted the projects that they could complete quickly and move on to the next one. In all of the cases except for the programmers I would use again, the code was a nightmare and sloppily written. Had I used it in a production environment it would have led to serious maintenance issues.
Now, if you take all of the points above and you combine it together, you’ll get statements like:
- Foreigners Suck (I bet people outside of the U.S. say that about us at times too!).
- You can’t trust Indians (or any other country that is not your own).
- They don’t know how to code (they refers to some ambiguous country with a programmer that you’ve used or even ones that you haven’t in the past).
- Etc.
I don’t think that the generalizations on other countries about their programmers, writers or other industries are meant to target the entire country as a whole. I believe that when statements, like the ones above, are said, it’s more about the issues that I’ve addressed in this article.
Sadly, I don’t see that there is a solution for this in the short term. In the long term, the rising stars (like India) will have programmers with experience who can handle the tasks they’re appointed to. They’ll even have some programmers who excel at what they do and really have a love for it - rather than the money.
We’ll, also, have the bad apples that will attempt to spoil the whole bunch.
In the meantime, however, it is the person who does the hiring who has the unenviable task of attempting to select someone who both can meet their needs as well as communicate with them in an acceptable fashion.
G-Man

1 Response


[…] Look What G-Man Found ยป The Pitfalls of Outsourcing […]
November 6th, 2006 |