
The Real Reason Outsourcing Continues To Fail - gacba
http://www.lessonsoffailure.com/developers/real-reason-outsourcing-fails/
======
pmichaud
This actually rings true to my experience. I've been responsible for several
outsourced problems, and one common factor among them is trying to get Indian
programmers and PMs to just be straight with me. I've tried being direct by
telling them that it's okay to tell me if something is wrong or to give me a
realistic picture of progress, and I get "Yes sir, I will certainly be very
honest with you, sir," but nothing changes. It's a difficult barrier. I
haven't figured it out yet.

~~~
plinkplonk
"I've been responsible for several outsourced problems, and one common factor
among them is trying to get Indian programmers and PMs to just be straight
with me.It's a difficult barrier. I haven't figured it out yet."

I might be able to help (I'll probably get downmodded into oblivion when some
of my fellow Indians wake up but ... ).

The thing is, even in India the best (or even half way decent) programmers
don't work for Infosys/Wipro/TCS and other outsourcing companies, who are
probably the folks you are dealing with. The second tier outsourcing companies
are worse. The good people go work for Google, or Yahoo or Microsoft, (and
increasingly these days on their own startups) same as in the USA. The numbers
of the latter are on the increase.

The number of really good programmers is as low here as anywhere else. I know
maybe half a dozen after fifteen years of working in Bangalore that I would
trust _my_ project to.

Yet another (and the most important) factor is that all these outsourcing
companies are _heavily_ bureaucratic to a degree a Westerner can't imagine.

Most of it happens because the economics dictate overstaffing. If your revenue
model is N people * m $/ hr, it makes sense to increase N as much as possible
on every project. Anyone who survives for long in one of these places is _by
definition_ someone who practices CYA as an artform. Anyone outspoken and/or
willing to admit mistakes will be ejected from the system very fast.

So yes, when you outsource crappy work to India (and most of the work
outsourced here is mountains of legacy crap code no one in the West wants to
work on anymore, often outsourced without meeting or talking to any of the
engineers staffing the project, often on the basis of what some slick salesman
put on his PowerPoint deck, yes then you get bad people.

And that is the truth. Your experience is valid and is the norm. Working on
outsourced enterprise projects, without hope of ever working on a decent
codebase, is soul killing and degrading. You can't expect decent developers or
managers on such projects.

When someone replies "Yes sir, I will certainly be very honest with you, sir,"
that is a good sign you've got one of the bureaucratic ass kissers. "Sir" is
always a danger sign. When you hear something like "WTF made you say that
Peter? What are you really worried about?" you have a chance.

Yes there are sharp developers and managers here, but it is hardly likely
they'll be working in bottom feeding enterprise outsourcing companies. (The
_director level_ people at Infosys etc are often very sharp people, which is
how they conned you into outsourcing your project to them but that is another
story for another day ;-) )

Please don't outsource to India (or anywhere else) _before_ speaking to and
attaining a comfort level with engineers and other team members who will be
working on your codebase. By the time you encounter these "yes sir, I'll be
honest sir" types, you are already lost.

My 2 cents. fwiw.

~~~
boundlessdreamz
This is absolutely true. (Fellow Indian here. Why did you think you would be
downvoted? :) )

Let me expand one reason. Bureaucracy. The engineers or even managers you talk
to may not have the authority/incentive to be honest with you. The directive
from above will be to sugar coat anything they utter.

~~~
plinkplonk
" Why did you think you would be downvoted? :) "

This has happened to me before :-). I was called a "traitor" (to whom?) and
"elitist" for saying something similar to this in another forum.

I don't mind. Karma (even on HN) is just a number on a webpage :-P

~~~
sethg
How do people from religious backgrounds where “karma” refers to something
_serious_ feel about the word being appropriated to mean a number on a web
page?

~~~
prpon
I am an Indian, not sure about the relegious part. Karma at least in
India/Hindu culture is tossed around more freely than in the west. Mostly
associated to negative incidents. "I had a flat tire, its my karma", "Someone
got kicked out of a job, he is reaping his karma".

You rarely would say "He has accumulated lot of good karma by doing good, I
better see what he has to say". On HN, its a different story.

------
patio11
I have mixed feelings on this, as somebody who does outsourcing from a country
which is not known for failure to appreciate subtle social dynamics. (Korean
has six different forms of address based on relative rank? I could _actually
use_ six before lunch on a typical day at the office.)

On the one hand, we've had outsourcing projects suffer from cultural issues.
However, they're not all related to the high PDI/low PDI distinction -- some
of them you could shoehorn into that, to be true, but sometimes when any
engineer swears that he absolutely will have a project ready by the end of the
day he is just estimating poorly rather than being overly polite.

The number one problem we have had in outsourcing to a particular country is
pervasive competence issues, followed by communication issues (egads, no,
Babelfish is not an acceptable way to translate engineering documents),
followed by a poor mesh in management styles which is exacerbated by both of
the other two. We outsource to another country, where we have not had the
pervasive competence issues. Things tend to go much better there.

I'm not going to name names, but suffice it to say they're both in that top 10
list and within a few points of each other.

------
ig1
The fundamental issue isn't that outsourcing doesn't work, it's that
outsourcing is seen as a way to get cheap labour. And cheap labour isn't high
quality labour.

Software development talent is highly mobile, and thus the best people are
expensive everywhere in the world.

If you go to a cheap outsourcing company in India who can't afford talented
staff, then why are you surprised when they produce poor quality code ?

Let's look at a market where local outsourcing works well: Web development. A
huge amount of web development work in outsourced to small web development
shops, both by large companies and small companies, and by and large the
companies that outsource are happy. Because companies aren't outsourcing to
cut costs, they're outsourcing because they don't have the in-house talent and
therefore are willing to pay for expensive outsourcing options.

If they decided to go for a cheap local web development outsourcing option
(plenty on gumtree/craigslist), they'd get worse quality and be unhappy about
it.

Countries like India and China may well have separate issues due to cultural
or language barriers, but they'd matter a lot less if the people being
employed were talented in the first place.

------
ynniv
Here's my hypothesis on outsourcing: the best people (no matter where they
live) are hired locally, so if you aren't hiring locally, you're not hiring
the best people. If you have prolonged experience with outsourcing, you'll
notice that the better performers disappear after a while - they are being
hired by someone local to them. On top of hiring the people who cannot
otherwise find a good job, they might not speak your language well or at all,
they are awake different hours of the day, and you are limited to
communicating via telephone and webcam.

I find this idea of PDI particularly distasteful because (a) there is no hard
evidence so far, and (b) it makes "us" look better. History shows that people
believe a lot of dumb things when those things make them look morally
superior.

~~~
gvb
My take on why the best jobs and the best employees are _local_ jobs and
_local_ employees[1] is modeled in terms of the bandwidth and latency issue of
communications.

I did a lightning talk at the 2009 Great Lakes Software Excellence Conference
using that theme. I posted the text and slides of that talk on my blog:

[http://jerryjousting.blogspot.com/2009/11/joe-plumber-and-
co...](http://jerryjousting.blogspot.com/2009/11/joe-plumber-and-control-
theory.html)

[1] Distributed companies do work, but it is a lot harder to make them work
well.

~~~
ynniv
This is an excellent comparison. I can only upvote you once, but you deserve
more.

------
wglb
I don't put much credibility in Gladwell's arguments, particularly since
Greenspun's analysis: <http://philip.greenspun.com/flying/foreign-airline-
safety> in which, among other things, Greenspun notes that Gladwell did not
talk to any pilots.

~~~
gacba
Greenspun's arguments are bit a flippant, as noted here in the ending
comments:

"To see just how much of a factor this is, look at how mishap rates plummeted
after the introduction of CRM training at US carriers in the late 1970s/early
1980s. Prior to widespread CRM training, the culture at major US carriers was
largely as Gladwell describes current foreign carrier culture: the captain's
word was final, and co-pilots didn't speak up or contradict the captain."

Dismissing PDI out of hand as "already handled" is perhaps being disingenuous
about the role it may play.

~~~
wisty
I haven't read Gladwell's book, but does it compare Korean and USA PDI and
disaster rates, or disaster rates from a large number of countries?

If Gladwell has looked at a few more countries (and perhaps even ploted PDI
against crashes) then he's done a much better job than Greenspun's comparison
of "Foriegn" and "US" pilots.

If not, then the ball would be in Gladwell's court (so to speak).

It's obvious that Greenspun knows US air safety better than Gladwell though.

------
arohner
The author doesn't test his hypothesis, by comparing the success rate of
outsourcing to a low PDI country.

~~~
gacba
An excellent point. As soon as I work for/with someone who outsources to one,
I'll follow up. :)

~~~
zb
No need. This kind of stuff happens even to people working for the same
company, in the same building, in low PDI countries.

Outsourced projects fail for exactly the same reasons that other projects
fail. The difference, if there is one, is that outsourced projects are more
often set up to copy the exact features that are practically guaranteed to
lead to disaster.

------
jteo
Outsourcing doesn't work because good software engineers are few and far in
between.

~~~
gvb
Beyond that, management and accountant types make the assumption that everyone
with the same job title is interchangeable. The result is that they take the
work of local engineers with a substantial amount of domain knowledge
(experience, which maps to higher salaries) and try to offshore it to
engineers with no domain knowledge (inexperienced in the field of the
application, and often inexperienced period).

Because of their assumption of interchangeability, they end up with a lose-
lose model of costs. For illustration, assume a (local) domain expert takes 1
hour to do a job and costs $100/hour. Assume the outsourced inexperienced
engineer only costs $33/hour, but takes 3 hours to do the same job because
_first_ they have to learn the problem domain.

When you outsource this job, it takes three hours and costs $99. Doing the
math, this means the company "saved" $201 because the assumption of
interchangeability implies (incorrectly) that the domain expert would _also_
have taken 3 hours.

When you "insource" the job, it takes one our and costs $100. By the math, the
accountants figure they left $67 on the table because the assumption of
interchangeability implies (again, incorrectly) that the outsourced engineer
would _also_ have taken 1 hour.

The only way to win this game is to not play it.

~~~
drac
actually, I feel you may have made the case for outsourcing.

In your example - it was a single task. Working with the assumption that
domain expertise can be acquired on the job, the costs of doing subsequent
jobs will be lower for the outsourced engineer.

The more times the same task needs to be performed by the engineer, the
cheaper outsourcing becomes. Your example just accounted for the startup cost,
which can be assumed to be a one-off*

*Is it that way in practice? at least in some projects, it is.

~~~
gvb
As others in this discussion have noted, there is a lot of churn in engineers
at outsourcing shops, so the "start up" costs are forever.

The outsourcing engineers I have worked with have been smart, but
inexperienced. [edit] The ones I _didn't_ work with were smart, _experienced,_
and _substantially more expensive._

My gross extrapolation from my limited experience with outsourcing is that the
engineers gain experience, but that experience makes them more valuable. Since
they are smart, they use the outsourcing shop experience as a springboard into
a better job, probably not in the outsourcing business or in a "higher up the
food chain" (and thus more expensive) outsourcing shop.

Outsourcing is like having a perpetual intern program - all the training costs
but never getting the benefit of that training with a long term employee.

------
vl
This story reminded me of general situation in some software projects at large
companies without _any outsourcing_. Clueless manager comes in and asks if
this can be finished by Friday, developer already knows from previous
experience that discussing realistic dates brings no good and just says "sure"
and continues to develop at his own slow demotivated pace.

This article describes failure of communication which is not unique for
outsourcing and can plagues any software project if contious attempts to avoid
it are not made.

~~~
notauser
Absolutely. Projects fail all the time, outsourcing makes projects harder by
requiring people to pick up a phone, so you would expect outsourced projects
to fail at a spectacular rate.

From his list...

 _Buyer’s unclear expectations up front_ \- This happens on every single
project due to a lack of crystal balls.

 _Poor governance_ \- I was talking to a guy from a Big 3 US car maker today
who was griping about this very topic related to their US ops.

 _Poor communication_ \- This is in every project failure report I read, US/UK
or anywhere in the world.

 _Poor cultural fit_ \- Have seen this on contracts between large and small
companies, although it's usually not that much of a big deal.

 _Interests become misaligned over time_ \- Apple/Google is a good example of
this. Google/Mozilla will be soon. Plenty of All-American examples here.

 _Not mutually beneficial_ \- Don't think this is just an outsourcing
complaint either.

------
GFischer
I'm not sure if I agree with the article.

However, I'm going to add some anecdotal evidence about the differences in
cultures: when some coworkers interacted with Mexico, they would often say
"ahorita mismo" (right now) when they meant "sometime in the future"... if you
didn't know what they'd do, you'd have been very disappointed (stuff they said
they'd do "right now" got delayed very often).

~~~
mattm
Haha, reminds me of a time in Croatia. A friend told me about a guy I would be
working with. He said, "If he tells you it will be done in five minutes, that
means he isn't going to do it."

------
jbarciauskas
I wish they had some data on Bulgaria and other Eastern European countries
that are growing quickly in the outsourcing market. I find the conclusion
dubious, but it is an interesting consideration anyway.

------
Dilpil
I wonder if this is why many foreign firms like to hire people who were
educated in the US? Perhaps they have noticed that these people are, for
reasons neither the employee nor the employer understand, better at dealing
with western customers due to time spent with americans?

------
bediger
This article really, really rings true for my experience with outsourcing.
It's also totally ignored by anyone above bottom-manager in Giant Immoral
MegaCorps. And by "ignored" I mean "taboo to speak of".

One problem with outsourcing maintenance to folks from societies that, ah,
_respect authority_ to a great deal is that doing maintenance on any large
code base will mean deciding that whoever did this the first time around Just
Wasn't Thinking, and that you have to rip out and replace large hunks of
barely-working, or slowly-working, or maybe non-working code. You just can't
have any respect for the egos of those fools who came before you and wrote
this drek.

------
eplanit
While I'm not entirely convinced by the 'PDI Theory', I find it very
persuasive.

That said, the article's thesis presentation of the state-of-the-industry with
respect to outsourcing is very, very well and accurately described. I have
seen precisely that sequence of events and communications.

------
michael_h
This sounds somewhat plausible, but it has a flavor of "I'm just making this
up, but it sounds okay!" to it.

------
maheshs
"it’s going to be another 2 weeks because we need the new servers to arrive"

Believe me, this is totally false.

In India (at least around Delhi) you just call any medium size shop, place
your order, your order will reach to your door within next couple of hour. Pay
the person on your door by cash or credit card (through wireless credit card
payment machine). I buy a HP laptop with the same way around 15 days back,
where dell was asking for four days for delivery.

------
ytinas
I've always been dubious of the value of outsourcing software development.
Things like production are easy because after someone has 15 years of
experience, he can't come to some developed country and make 20 times the
money doing the same job the way developers can.

------
joshu
gripe: pie chart fail

------
ntulip
very good read.

