I see that ComputerWorld has a new article on outsourcing this week - Mark Gottfredson wants us to believe that even "core" business functionality should probably be outsourced. Let's take a walk through his notions:
You say that sourcing, which was always tactical, needs to become a core strategic function. Why now? The reason it's so important now is that there is a confluence of events that makes it possible for you to literally be able to redefine your business in terms of whether you do things or have them done by someone else or more cheaply somewhere else. A population 10 times the size of the U.S. has come on stream in the last few years, and they have an average wage advantage of 85% to 95% versus us.
Also, a technological revolution has made it possible to do many things that used to be done manually over the Internet or a telecom pipe as quickly and cheaply around world as next door. Finally, there's a trend where things that used to be functions of companies are becoming industries, and whole companies are focusing on functions.
There are a couple of problems here. First off, the price advantage in India is sliding. There's been a tech boom there for a few years now, and salaries are rising. I've seen US based (never mind near-shoring to Canada) consultants willing to do work for $20/hour. The price differential is there, but it's not as attractive as it used to be. Because the tech market in India is so strong, turnover is a huge problem. Turnover is never a good thing for a project.
His second point is theoretically true, but runs into a few problems. I'm the Product Manager for Cincom Smalltalk, and we have staff distributed across North America, with a few people (and critical partners) in Europe. We have regular conference calls so that the various development teams can stay in touch - and we also make use of things like IM, Skype, and IRC. It's difficult to schedule a meeting when we need people from Europe and people from California. Why? Well, at 9 am in Santa Clara, it's 6 pm in Germany. Either someone has to get up early (CA), or someone has to work late (Germany). As I write this, it's 2:50 in the afternoon here (I'm in Montreal at the moment, but it's the same time in my office in Maryland or Corp. HQ in Cincinnati - and only 3 hours earlier in California). In Mumbai, it's 1:20 AM. So at 9AM my time, it would be 7:30 PM there. You see the problem? Sure, we can communicate just fine using all sorts of whizzy stuff on the net - so long as someone is willing to do it during non-business hours. That works fine if you have a project that requires minimal communication. I hate to break this news to Mr. Gottfredson, but software isn't one of those projects.
We know how well throwing requirements over the wall to a local (but uncommunicative) IT group works (not well at all). We know what the failure rates for such projects are (high). So.... how will tossing it 10 1/2 hours away make it better? Unless your plan is to fail less expensively. If you want a software development task to have a decent shot at success, you're going to need good, solid, regular communication between the developers and the people who will take delivery. This is one of the reasons that agile methodologies exist, btw - as a reaction to disconnected failures.
There are other issues as well - further down, Gottfredson praises the idea of pushing customer care off:
The traditional view has been to think about what's core and what's noncore and consider outsourcing the noncore. That's not a particularly useful framework anymore. Think of customer service and the call center: What could be more strategic than your interface with customers? Yet those customer-interface skills are not particularly proprietary across industries. The way you respond to customers is common for any number of companies. So even though it's strategic, many times other people can do the job better and more cheaply than you're doing it.
Here's the thing - people who work for you actually care about the product or service that you provide. When customers call, they have an attachment to the product that makes it easier to provide good service. When the call center is a bunch of low rent staffers (whether overseas or not) reading from a script, it's very, very clear that they don't care. For instance - here's a saga I had with a Sony TV repair a year ago. You know what the upshot of that experience was? I now own a GameCube instead of a PlayStation2. There's Gottfredson, claiming that others can provide this service cheaper and better. No they can't. In fact, they won't even try.. The contracted support people are sitting in a call center, manning a phone bank. They get calls for multiple products, and pick up the appropriate script off the computer based on which line rings. Do they know anything about the product you are calling about? Probably not. Are they empowered to help you in any way? Probably not. Can they ask someone down the hall "hey, is this a known problem"? Heck no, they don't actually know anyone at the source company. All they can do is read a script. If your problem matches the script, great. If not, you start down the road to hell.
Here's the problem - we all know that it's easier to keep an existing customer than it is to grow a new one. We also know that a torqued off customer will regale his friends with the epic tale of bad service from Company X over and over again. In the age of Google and blogs, we now know that these rants will be searchable. For instance - I just did a Google Search for "Sony Customer Service", and the second result on the list is this one. There's one other such link on the first page. When I'm looking to buy a new piece of expensive hardware, I now execute such searches - because I want to find out whether or not I'll be able to get help if I run into a problem. Sure, it's cheaper to send support to a call center off in the boonies. What people like Gottfredson fail to realize is that there are matching costs. Dell noticed this; they moved their corporate support back inside.
Any kind of customer facing activity is potentially hazardous to send elsewhere. It really depends on whether you are selling something that is a low cost commodity (in which case, you probably need to outsource in order to keep costs down), or whether you are selling something that is expensive. If the customer paid a lot, the customer is also going to expect good support. If you provide bad support, it's going to cost you. Glib business experts like Gottfredson see only the cost savings - they never even consider the possible soft costs that will bite back.