Originally posted on: http://geekswithblogs.net/meshel/archive/2004/09/27/11764.aspx
I realize my company is a bit late for the trend, but we too have been, in the past year or so, moving some work to outsourcing companies abroad (awaking markets).
As a general policy we only send out projects that are not deemed to be our core technology focus, meaning that the company does not want to deal with learning and maintaining software that is not directly involved with what we do.
So for example, we have a client who wants to integrate our product into his enterprise environment, we would send him to one of our partner companies, or if we want to develop some component to plugin to our product (say an IVR) we contract some outside help, since there is no logic in hiring new programmers to do this, and the existing ones, are way to busy to start learning new platforms.
The savings are said to be big (I'm not involved with the numbers), but this process causes some other problems with which we have to deal.
Language Barriers - although everyone speaks english, and pretty well. still, different cultures, and different customs (Corporate as well as country) - are causing mis-conceptions, and different understanding of what is being said.
1. obviously, both companies want to succeed, however, the budget pie is small, and no one wants to be the one to pay the unplanned expenses, so there is always a battle here.
2. The outsourcing company, may have other, bigger projects, which will use resources that they can not then allocate to your project - this is especially true after a project is finished and is in it's support phase. Who will support the client. Remember - even if by contract they are committed to support, the bad image is still reflected mainly on the vendor (us).
3. Testing/QA - every company has different standards, working in a tight timeline (time IS money) forces you sometimes to a corner, which could have been resolved internally.
However, there are a lot of benefits as well.
1. Money - as I said the bigwigs claim it really saves a lot
2. Allows company programmers to be more focused on their product, not constantly being pulled of work to do side jobs for clients.
3. You get to meet a lot of people, and also get to share Ideas which would never have been available. You learn to work in a specific thought process, and someone from outside can show you sometimes different (and better) ways of thinking.
So am I all for outsourcing? well, seeing that it could put me someday out of my job - my team being thought of as non-core technology.... Then no. not really. Do I know the benefits? Yes. So what do I really think - It depends on the circumstances :-)