International Outsourcing

There seems to be an growing trend in the software development industry to use International OutSourcing as a tactic for capping IT costs. For example, more and more American business are outsourcing projects to software development houses in India, and Europe is partnering with former Soviet Bloc countries in similar deals.

Often this move is fueled by the perception that the partnering countries can provide equally good, if not superior, IT skills. And in addition, the technologies (and business strategies as well) changes so quickly that experiences of existing IT staff are heavily discounted. See WhyIsDomainKnowledgeNotValued.

OTOH, a balancing force may appear due to "homeland security" considerations. See "IT infrastructures could be battlefields of future wars " at

If new graduates fit the requirements better, why not let the partners in participating countries manage their highly skilled and much more cost effective graduates?

InternationalOutsourcing for IT work actually lagged behind other business functional areas, especially for manufacturing. BrainsAsaCheapCommodity could not be justified before huge drop in reliable telecommunication costs became a reality. And to move operations offshore, one has to be fully prepared for non-financial considerations, see OutsourcingBusinessImpact.

IT mismatch with core capabilities of many companies

OutSourcing of IT work is on the agenda because it is expensive, and not really strategically fit with the "core capabilities" of most companies. And frequent media attention to InternationalOutsourcing is keeping the subject current.

Are you suggesting that outsourcing IT is a short-lived fad? I agree that it is often applied sloppily and without decent planning, but eventually business will get it right. To compare to the web bubble, even though it popped financially, the web still grew and is still growing. It takes experience and practice to get offshoring right.

There is a lot of hype about outsourcing software jobs and the job losses due to it. It is just that - HYPE. The entire outsourcing to India is not more than a fraction of the US market. If you are concerned about the software outsourcing only, but not of any other imports into the USA, it just shows the ignorance. How is that people don't recognize that by buying cars made outside the USA, you are losing jobs to people in Japan, Germany, etc. Why is there no outcry against this? Why is it that people don't make a big hue and cry that all your electronics goods and computer hardware comes from Japan, Taiwan and China and jobs are lost due to this? That all your mobile phones (barring a few) come from Sweden, Finland, Japan, etc? That all of you like video games made in Japan? Is it because you have all become so accustomed to these? Or is it because these are better products? Or is it because they are cheaper AND better than corresponding American ones? I don't know, but isn't it a point to think about? - rpk

But overall employment in auto manufacturing is dropping in relation to the total population.

Manufacturing has been shrinking and shrinking in the US. Maybe globalism creates an average benefit for the average citizen, but not necessarily for those whose careers are targeted. Programming itself will probably slowly die in the US the same way manufacturing has. The thing is, it is dying faster than natural attrition. If the government could slow the globalization rate to be the same as natural attrition, it may be less painful for those affected. Inter-generational change is much easier to swallow than intra-generational.

Further, Japan and Germany are relatively small countries. India and China have large populations and have only just begun tapping them. Plus, if/when they do grow into "normal wage" countries, there are probably other countries ready to fulfil the low-wage niche.

On one hand, it could be argued that this trend limits the options of software developers in countries where the labor is more expensive. On the other hand, one could argue, "So what? Businesses want to maximize their margins, and there is global competition in software development supply."

Is there more to business than return on shareholder equity - such as service to the local community through employment of locals? Does international outsourcing produce "successful" results?

AlistairCockburn reports in AgileSoftwareDevelopment that his clients who've tried it don't consider it to have been "methodologically successful" - in other words, they wouldn't do it the same way if they could do the project over again. But the fact remains that more and more businesses are doing it - there must be some reason why.

I look forward to the WikiCommunity's civilized discourse on this topic. Thanks, RandyStafford

All about money and UrbanLegend that IndiaDoesItBetter probably started by DeclineAndFallOfTheAmericanProgrammer but later reviewed in RiseAndResurrectionOfTheAmericanProgrammer, both by EdwardYourdon.

There are two things going on when companies do this, one definitely bad, one we'll have to see about.

The first is that many consumers of software consulting consider it essentially a manufacturing process instead of an analytical process, so they think of outsourcing it to a cheaper country as analogous to moving the Nike factory from Oregon to Malaysia. We know this is fallacious - see ProgrammingAintManufacturing, TheSourceCodeIsTheDesign, etc., etc. - but a lot of people haven't. They'll make their mistakes, and we'll have to do our best to avoid getting in their way.

The other thing is this: The cost of living is genuinely cheaper in developing nations, so the labor will be cheaper, too. We don't know how good the programmers in India are compared to the programmers in the U.S., but we can be definitely sure that they cost less. If there were an easy way to measure programmer quality, we could more definitively compare the two, but there isn't.

This is a dynamic I see on a more micro-level: As a programmer living in NewYorkCity, I'm acutely aware that many clients don't want to pay for me to live in the most expensive city in the U.S. Many U.S. programmers are based in suburbs, because the perception is that there's no reason for them to spend the extra money to be physically near urban centers. My personal approach is to try to be smart enough that I can justify my expense. I feel living here helps make me smarter, too, but that's not the sort of thing you can expect the client to take on face value.

I agree with your point about fallacious thinking viz. ProgrammingAintManufacturing, Francis. In my experience it's amplified by another fallacious line of thinking on the part of business management, which goes as follows: "I have $400/hr. to spend on programmers. A non-local programmer costs $20/hr. and a local programmer costs $100/hr. Therefore I can get 20 non-local guys instead of four local guys, and get five times more work done."

In my personal experience, software development doesn't work that way. The most successful, productive, highest-quality projects I've worked on have always been staffed by small teams of two to six very capable developers who are usually co-located.

Let me also say that I've had the pleasure over the years of working with a number of very bright, talented, (and polite) developers of a diverse variety of nationalities - Indian, Korean, Norwegian, Irish, Israeli, Brazilian, British, Chinese, Canadian, and American. Likewise I've seen inferior quality from inexperienced developers regardless of background. It would be ludicrous to suggest any correlation between any one nation and any one segment of the development prowess spectrum, and that's not what I'm doing. This discussion is not about prejudice, it's about methodology and economics and "good business" in a sense larger than revenue and expenses. It doesn't matter what country contains the companies that are doing the outsourcing, and what country contains the development houses that are supplying the developers - I'm sure this is happening all over the world.

The question is whether the practice is harmful. If the practice is methodologically inferior to using small co-located teams of very capable people, it could be harmful to the business sponsoring the development, because that business might wait longer to receive a product of inferior quality, that might cost more to maintain over its total lifecycle. If the practice leads to costlier software developers changing professions, it could reduce the amount of innovation and sharing of knowledge in the field of software development, on a local, regional, national, or even global scale. And of course it has the potential to be harmful to the economic well-being of families and communities in abandonded centers of software development, as happened in the textile and automotive industries.

-- RandyStafford
AlanCooper wrote recently that the traditional accounting used in business for software development is wrong. Among the interesting quotes, "The intangible but extremely complicated patterns of thought are that software has value only when it's accompanied by the programmers who write it. No company can treat programmers the same as a factory because programmers demand continuous attention and support well beyond any factory."

Have you ever been in a company that uses the term KnowledgeTransfer?? My experience is that this comes into use in companies where they can't keep their programmers around for whatever reason - layoffs, morale problems, constant corporate restructuring - so they treat the implicit knowledge of programmers as something that can be taken out of their heads, neatly packaged in a box, and given to somebody else. I've never seen this work in practice. -- francis

Something to consider is that international outsourcing automatically takes on all the added problems of DistributedSoftwareDevelopment, so there's an extra hit right there. My experience has been that this sort of relationship requires a high amount of trust, and trust is much harder to build and maintain when you're in different countries and timezone and you speak different languages.

But I'm not concerned about the harm to the client, really - it's the client's money, and they can take those risks. That's the sort of thing that the free market can take care of.

Funny thing is, in our profession, it takes a little while for the feedback to get back into the free market. We're in it right now, and I can see it happening around the profession, and my AlarmBells are ringing. :)

It is part of the downward pressure on software developers, definitely -- the desire to see us as tradespeople, like car mechanics or typesetters, instead of analytical problem-solvers. That's unfortunate, but then if programming really is a trade like car repair, then maybe the analytical problem-solvers should find another line of work, anyway. (I don't think it is, which is why I'm still around.) CarMechanicsAreBetterPaidThanProgrammers!

That's the interesting thing about this phenomenon - is it the first time this has occurred with "knowledge workers"? On this point I'm pretty swayed by PeteMcBreen's arguments in SoftwareCraftsmanship.

The economic and social well-being of families displaced by this sort of thing is another thing entirely. Smarter people than me have noted than one of the inequitable (short-term) dynamics of free trade is that capital is always more liquid than labor. But if the trend continues, the effect will be less than that of Nike plant relocations. Programming has always been less labor-intensive than other manufacturing activities - we make more per-hour than tradespeople because we generate more profit per hour than them, theoretically speaking. So as a result you don't have company towns for programming nearly as much as you used to have company towns for coal-mining, steel refineries, etc.

Well, I wonder. It seems to be happening in New York, Research Triangle Park, Denver, Chicago, and other places. It must contribute something to localized recessions. -- RS

Well, it's never really good for a city when jobs move somewhere else, but I'm making a distinction of magnitude. When you had factory jobs moving to developing nations in the 80s and 90s, you had small company towns where their unemployment rate would go from 5% to 50% overnight, because of the closure of a few plants owned by one company.

In the UK we have several IT enclaves, City of London, M4 corridor, a few others. One is being artificially induced, on purpose, in Cambridge (by BillGates).

Not so. Cambridge was an IT enclave way before BillGates took any interest in the place at all.

My employer's Indian parent company is very interested in this arbitrage of living cost, they'll source all the remote development effort you like. I'm not sure if they really believe that programming is like manufacturing, but they're willing to play along if your dollars think it is. They do certainly believe that programmers are a commodity (and in Hyderabad, they're right), and that programmers are at the bottom of the corporate pyramid and should be happy, or at least uncomplaining, to do whatever their managers tell them, the way they tell them to.

One observation is that it seems to be much easier for an Indian programmer to work for a Eurpoean or US company from India than for them to get into Europe or (especially) the US and do it there. Funny that.

There are three Indians working with us in the UK now. They couldn't get tourist visa's to enter the US to attend JavaOne. They have long duration work permits here in the UK, and full-time permanent jobs, but the US consulate didn't believe that they wouldn't step off the plane in SF and head for the hills.

Interesting discussion... My two cents, based on my experience, are this:

1. Software quality is based on the quality of requirements. 2. Quality of requirements is based on the quality of communication.

It doesn't take a language or time-zone barrier to create communication problems. Communication can be difficult enough without them!

Software, however, is largely perceived as a black art, IMHO. Consequently, companies don't have a clue how much it *really* costs them. And quality measurements are either black or white ("It works" or "It doesn't work"), leading right into have whoever is "cheaper" (up front) code it...

Good or bad, I believe that those passionate about good design and producing quality code will eventually prevail, or at least have enough work on their plate over the long run. Beats me how long it will take...

-- ToddFredrich

I doubt this. It seems that clients are quite happy with GoodEnough. I'm sure one of of the luminaries (Constantine?) wrote a book about GoodEnough some years ago. -- NeilWilson

I read an interesting article a few weeks ago where the bosses at several indian software outsourcing companies actually confessed to outsourcing the work they received to sub-outsourcing companies in Vietnam!

-- AnthonyLauder

Live by the cheap-labor-sword, die by the cheap-labor-sword.

An unspoken assumption here is that FirstWorldProgrammers? are better but more expensive than ThirdWorldProgrammers?, and that the InternationalOutsourcing debate is essentially about whether it's worth paying more for quality. Is this really true?

The issue of co-location of developers and clients is raised; the assertion is that it is a huge advantage to be physically close to your client (in the same building). If this is true , and most clients are in the west (where the money is), then this gives western developers an edge( It is certainly true for bespoke software, but there are cases where it is not, for example, when there is no physically localised client (eg if you're developing a word processor for a mass market).

If you happen to be a FirstWorldProgrammer?, this is all quite scary, isn't it?

-- TomAnderson

What are the long-term effects of this increased outsourcing? Will the financial incentives for becoming a programmer dwindle, or just the number of good jobs? Either way, I doubt that the affected FirstWorldCountries? will think this was a good idea in a decade if it continues at it's current pace. The global market will only become more competitive and the edge will go to those with the technological advantage. Are we giving this advantage to India?

-- GaryBurns?

Well, if India innovates faster than the industrialized world, than they deserve the money. If you can get more bang for your software buck by sending the work to a cheaper country, then why not?

But my experience has been otherwise. Software quality owes as much to communication as technical savvy, and it's profoundly disruptive to communication to have the client in a timezone eight hours away. When I worked in Barcelona for the Spanish office of a USian dotcom, and I had a question about the spec, I had two options:

  1. Send off an email, and wait until tomorrow (at best) to get a response.
  2. Guess.

We ended up doing a mix of both. The first one slowed us down considerably, the second one resulted in software that the (internal) clients didn't want.

I also found that the interoffice trust had entirely eroded. This company had offices in a few cities: NewYorkCity, Barcelona, Bogota, Miami ... from what I could tell, people did not think of themselves as belonging to one large organization with one common goal. A good simile can be cribbed from a description of AolTimeWarner? that I once read in WiredMagazine?: My company was more like the HolyRomanEmpire, with each fiefdom squabbling over internal advantage.

It's easier to talk shit about your coworkers when they're 1000 miles away.

At a high level, developing customized business apps involves three aspects: determining customer requirements, converting requirements into programming tasks, and the actual programming. It's only feasible to outsource the programming portion. The first two aspects, which are more difficult, need to be handled in house. Plus, management and communication become much more difficult when the programmers are in a remote location far from the customer. Outsourcing has lots of indirect costs.

Yes, but management tends to focus on direct costs. SovietShoeFactoryPrinciple.

I wonder what effect outsourcing will have on project success rates, costs, schedules, and quality.

From -

On November 24, 2003 an article appeared in the Wall Street Journal and the Fox News web site that began,: Now you don't have to be a genius to realize that there are obviously some legitimate problems with outsourcing contact center business to certain other countries. I have heard a number of complaints about Dell's customer service coming out of India. It is great to hear that they will be bringing some of the calls back into the states. This is good news for American workers.
On The Positive Side,

Moving programming work overseas allows us Americans to concentrate the best and brightest in our current area of strength: Biotech.

Biotech? Surely that's intended as sarcasm. Right now researchers in the United States are hamstrung by ideologically-motivated restrictions that prevent fruitful inquiry into things like stem cells, not to mention the restrictions on travel motivated by Bush administration officials obsession with terrorism.

Even with restrictions, America is worlds ahead of the rest of the developed world which drug industries that have been crushed by Socialized Medicine. Compare a systematic destruction of the profit motive elsewhere with a few restrictions in a America, and you can see why we are way ahead.

What the hell kind of BS is this?!? My last medical systems gig was with a nameless client whose main development office is in Round Lake, Illinois. These guys recently had a little PR problem with their dialysis filters killing a bunch of people through plastic contamination. Plastic contamination! And this from the company that is supposed to be the world's leader in the maunfacture of medical plastics!

However, my concern is with their electronics. Nameless Client makes treatment machines that do all kinds of whiz-bang things. The one apheresis product I worked on (a really great product, by the way) had taken them six years to get into production, and even after a year and a half of full-tilt output the plastic collection kit cost was at about 250% of target. The software was just being created to do power fail recovery, and the procedure tracking and report generation was a nightmare. (I cured some of that myself.)

The other division I worked at was creating a patient-controlled analgesic pump. It was already over two years behind schedule when I started on it. After ten months of Nameless Client's management sitting on their thumbs (this despite having some of the best minds I have had the pleasure of working with bashing away at this durn thing) the project was three years behind schedule. This beater was eventually released last fall - over five years behind schedule. It was full of bugs and remains the only medical product I have ever worked on that I would not want used on myself.

Nameless Client had the good sense to bring on smart, experienced people but lacked the sense to listen to what those people had to say. Oy. From my other medical device manufacturer experience and from what other consultants have told me about their medical manufacturers' experiences I can pretty much unreservedly say that the US medical device community is very badly hosed. We have allowed our products to fall far behind Yerpian technology while miraculously raising development and manufacturing costs to high earth orbit.

It is possible that the pharma industry is not so bad off, but this is not what I am reading and hearing from my consultant buddies. There seems to be a problem with rampant waste and crappy management decision making throughout the US medical industry in general. I see no positive side to be found anywhere in biotech.

Management stupidity is a universal thing.

Do the decision makers for outsourcing/offshoring have this degree of understanding (software lifecycle, engineering practices and quality, etc.) when they make a go/no-go decision on it? Do the folks who are most affected by these decisions (the engineers) understand the factors that truly drive these decisions?

More often than not, the work sent out is buried under a host of competing needs and voices. The users, or perhaps sales, need it _now_. Project management needs to trade off time, cost and functionality. Marketing or perhaps IS, needs specific functionality. Middle management needs to have (and keep) a full plate to protect existing resources in uncertain times. Finance is holding the line on costs. Executives see opportunity cost in any delays as they strive for process & productivity improvements. And there must be more....

The little voice behind the whole process is whispering "just build it - all these books and tools and courses on programming are available worldwide. We've used contractors before and it worked. Let's get moving on this now!".

It doesn't seem that the real reasons for outsourcing are discussed. Why did (and do) decisiona makers decide to outsource? What are the priorities driving these decisions? It is quite likely that none of the reasons outsourcing is a bad idea (as given in this discussion) are viewed as more than problems to be solved on the way to making the most of available opportunities.

Can anyone shed some light on what drives out-sourcing/off-shoring - from the decisionmakers point of view?
Business models change from time to time. It is nothing new. Whenever one business believes it can profit by innovative use of new technology, resources, or strategies, they inevitably are found influencing a "jump on the bandwagon" of other businesses who do not want to yield a possible advantage to the pioneers. One has only to look at the "Dotcom bandwagon" in the not to distant past to see how this occurs. It is the result of a couple of factors: 1) the belief that such an opportunity will yield profitable benefits due to advantages (whether real or imagined) and 2) the presence of enablers who will supply the opportunity to invest in such a scheme. What must be considered inevitably is the results. Does such a strategy and are the enablers productive in the final analysis in providing the "profitable benefits"?
InternationalOutsourcing is one of the models which will also be required in time to produce not only the product, but the profit from the product. It may or may not prove to do this. History has shown that the US worker has delivered in the past increasing levels of productivity and profitability, with the attendant economic benefit of spending within the domestic market. The added benefit of such spending is rarely included in decision-making models, nor is there a long-term record showing a consistant improvement of productivity and lowering of costs of such outsourcing. In fact the reverse may prove to be the case. Just this past week it has been reported that the domestic automobile industry quality index is at an all time high, surpassing formerly superior imported model quality. Such in time may also be found to occur in a "challenged software industry". See also: WhoOwnsYourMind

-- DonaldNoyes

See also: IsGlobalismThreateningTechCareers, OutsourcingBusinessImpact

See an article on social and economic impact on the "other side" , at

The thing is they can increase their economy by encouraging more internal consumption instead of being a trade parasite of the USA. Parasite is not the only way out of poverty.

What's a "trade parasite"? People spend money in return for something. In the business world, modulo the occasional swindles, there aren't any parasites. All the moaning about "trade deficits" is just that -- we send money out, we get goods and services in. If we didn't value those goods and services, we wouldn't send money. Business is an exchange of value, not a one-way flow.
Value or Cost?

The imbalances one sees in trade are due to many factors, but perhaps a predominant factor has more to do with costs of the product which is the object of exchange. To understand this is not easy, but try to understand it as it is seen from the viewpoint of a young Chinese student of business:

2004 Gartner views at,289202,sid19_gci962636,00.html

2004 checklist to promote outsourcing success at,289142,sid19_gci1003458,00.html

2004 Canadian study at

To the IT employees, outsourcing is a hard bite to swallow. Many IT folks today have spent tens of thousands of dollars to educate themselves in this specialized field, spent years of their lives in a collegiate setting (yes, many have Master's degrees too), only to feel threatened in their job security. We thought we were doing all the "right things" by making these sacrifices to educate ourselves to be in the profession that we loved, it is a passion to be an IT professional. Many years ago, I made a concious decision to modify my career path to become a technical leader that stays close to my customers and understands a customer needs and business principles. And therein lies the crux of what I have found to be the key to not being outsourced myself. Make yourself invaluable to your client and management.
  1. Never be complacent. Keep your skills up to date. Read magazines and web articles. If you want to get promoted, do things that the next band level requires. Then you will know you are ready, and so will your management.
  2. Keep your ear to the ground in your corporate setting. Understand the strategic initiatives that are going on, and be able to articulate them.
  3. Effective communication skills are invaluable. Even if English is your first language, learning how to articulate your ideas does not come easily at times. Conveying understanding through effective spoken and written communication goes a long way in shaping other's impressions of yourself.
  4. Proactively ask for feedback from peers and management. Ask your manager "What can I do to get to the next step?" or "How am I doing?
  5. Understand where your customer or client is coming from. Know the business, know the politics, and lastly, be diplomatic and willing to compromise.

CategoryRant CategoryEmployment CategoryEconomics

EditText of this page (last edited October 1, 2012) or FindPage with title or text search