Fog Creek Software
Discussion Board


At the risk of rehashing a topic that starts a religious-type war, I'd like to know:

Why is it *desirable* for a software company in the USA to *not outsource* to countries where programmers of the same knowledge and experience would work for less money?

Or, to put it another way, what arguments could be made to convince management that it's worthwhile to "the bottom line" to keep the U.S.-based software team going?

(Example: Joel's Fog Creek is based in New York City and is hiring programmers that live in the USA. Manhattan real-estate is very expensive and salaries are generally higher in the city than elsewhere around the country -- not to mention around the world.)

Disclaimer: I'm not trying to pick a fight. I really just want to know the positives of keeping programmers in the USA as opposed to outsourcing options.

Chi Lambda
Monday, June 16, 2003

Communication overhead is the biggest problem with software projects. The more people you have, the harder the project is to manage.

When you add cultural, language, and time zone differences, the difficulties increase greatly. It will often times be cheaper to do the work locally, because you get the project done faster, and with fewer bugs because you can easily and quickly communicate with the people doing the work.

Chris Tavares
Monday, June 16, 2003

Distance and language differences increase risk.

Risk and Profit have also been closely coupled, high risk typically means high profit. Of course there is a risk in outsourcing to overseas countries, but as long as management accept the risk then there's money to be saved.

Unacceptable risk is the only reason not to get a product developed at a cheaper price.

Risk is not only measured in terms of total failure, but also in terms of maintanability and quality. The risks that have been taken are probably yet to be realised.

Then there are bigger picture issues, i.e hundreds of thousands of unemployed developers pay no tax and buy less goods and services,  and Uncle Sam doesn't like that either.

Risk/Return - that's the only measure.

Monday, June 16, 2003

Chi Lamda, you wouldn't be a Gartner analyst or some such would you? Trying to find the arguments you need to counter in the PR you sell to outsourcers?

Monday, June 16, 2003

What about the Security issues?

Can't foreign programmers put back doors into their code?

Imagine if the Taliban had agents screwing up Nasdaq's code or Citibank's.

Makes it easier for terrorists: Why go through all of the trouble of blowing up a physical building in NYC? Why not just blow up financial code that is delievered right to you.

Imagine how safe investors would feel then huh?

Monday, June 16, 2003

>> Risk/Return - that's the only measure.

I disagree. Not everything is about the bottom dollar. Sometimes it can be better to take a higher risk, for a lower return if there are other, less tangible, benefits or longer term gains which can be quantitatively measured.

Monday, June 16, 2003

The arguments for outsourcing usually include the fact that many manufacturing jobs were outsourced -- educated progessionals didn't see much wrong with that so, logically, they shouldn't complain now.
But I  think one reason manufacturing jobs were outsourced was that labor unions artificially inflated wages, and the companies felt they had a valid reason for taking the jobs away.
IT workers aren't unionized, in general. The salaries were inflated, but could still respond to natural forces of supply and demand. So companies don't really have to resort to outsourcing to bring down IT salaries  (although of course they would still not be as low as in India, etc.).

Now jobs like tax accountant and radiologist are being outsourced. Why not outsource everything, including lawyers?
I predict that when, or if, the MDs and the lawyers really start to suffer from outsourcing something will be done to control it. The question is whether control measures will just make things worse somehow.

Why not outsource politicians while we're at it? We don't need our president to actually live here; he can run the country over the internet, from India.

The Real PC
Monday, June 16, 2003

The least desirable aspect of any business relationship is unmitigated risk.  Here are the ones I hear most often:

Mentioned often, and for good reason, this is the easiest to overcome.  With a 10 hour difference between the New York and New Delhi, off-source developers would need to work nights.  Otherwise, a 30 second question turns into an overnight wait.

This is not so obvious as "right and wrong."This displays itself in subtle ways around urgency and how importance is communicated.  It is also difficult to know how anyone  interprets your business, business needs and business drivers.  This is difficult to quantify and often resolved by sending over packaged software for development. 

_Regional Politics_
This relates to control of the political environment.  While we believe we understand what motivates the US government to act, we have a far more difficult time relating to what motivates India's politics.  A war with Pakistan, or worse a nuclear exchange, even if minor(?) would create a considerable issue for American companies who have software and/or support in India.   

With the emergence of companies from the old USSR, the political instability in India, will make other countries more attractive.

In the event of a dispute.  For example, were Joel to off-source to a company in India, he would pass on his product, in effect his business to another company. 

Should Joel feel that his product is somehow compromised, perhaps the off-sourcer now sells "MetroDesk", his redress is through international legal forms.  These can be both difficult to litigate and costly to win. 

_Preparation Effort_
The cost of preparing off-source work may require as much effort, to hand-off development as the cost of using in-house staff.  This is due to the amount of change that is not directly communicated through a specification process, but will need to be.

All of these can be mitigated to an acceptable level depending on your business. Some however, are very difficult to overcome for specific businesses and make the risk and off-sourcing an unacceptable option.


Mike Gamerland
Monday, June 16, 2003

There are plenty of good arguments given in other threads.

To rehash, outsourcing is good for:
a) large projects that can be itemized
b) routine work that cannot be automated but does not require a great deal of initiative
c) situations where a long-term committment is on the cards; the set-up costs and teething troubles make it of dubious value otherwise

Outsourcing is not good when:
a) the business requires constant interaction with other teams or the client,
b) the specs are subject to change or agile development is preferred to the waterfall pattern
c) the job is a one-off, or worst of all is being outsourced because it is behind schedule
d) the job depends on reliable infrastructure being in place


Stephen Jones
Monday, June 16, 2003

Mike, I'm not at all sure about your regional politics and legal arguments.

To suggest that the ex-USSR is more politically stable than India is a surprising comment. Also the problem with Pakistan is probably not the major problem in Indian politics. After all people invested in the USA for  45 years despite the very real possibilty of a nuclear exchange with the Soviet Union. Internal instability caused by the rise of Hindu fascism is a much more likely phenomenum, but that is much more likely to affect the North than the South where Bangalore is.

The legal problems centre more on ensuring that contracts and deadlines are fulfilled. It is normal in these circumstances to have an agreed forum for legal disputes written into the contract. (the big billion dollar court case where the Saudi government successfully sued ATT & T was decided in the High Court in London). With software however the problems often are such that legal redress comes too late even within the same jurisdiction.

Stephen Jones
Monday, June 16, 2003

An additional issue with outsourcing I've seen in action - the company picking up the work *must* be able to set their egos aside. They have to be willing to learn to work on the customer's terms, not vice versa. This is even more critical when the outsourced company's customer is subcontracting for a real client, and so can't say "I'm sorry, can do you [x] so our Elbonian coding team can work with the specs?"

Mind you, being willing to compromise or even accept "the customer is always right" is a problem US firms have as well - it's just that when you outsource you've just about doubled the size of the cultural/political gulf.


Monday, June 16, 2003

For security reasons I don't have the exact numbers, but we have at least eleven cells working in the Bangalore area. The reason the West can't find us is that we have back doors into all their systems, including several DMVs which helps a lot with the paperwork issue -- necessary papers are printed and mailed direct to us. We don't even have to show up. Regarding the banking software, well how else to you think we finance operations? I spent my inheritence decades ago. It is a very fine system you have created and I salute you for it. We find it most convenient.

Osama bin Laden
Monday, June 16, 2003

Mentioned often, and for good reason, this is the easiest to overcome.  With a 10 hour difference between the New York and New Delhi, off-source developers would need to work nights."

Not so simple.  You'll have to pay extra for that privilege, either in higher direct fees or indirectly in other ways.

India is going through their own tech boom right now, and the developers who are good enough that you would want them working on your system can change jobs very easily.  Why would they want to work nights for the same pay?  They'll work 60 hour weeks, as that is commonplace (although they probably still won't produce more than a net of 40 hours worth anyway), but night work will cost you.

Either they have to be paid more, which means the outsourcing firm will charge you more, or they are a crappy and desperate firm that will do anything to get projects.

If you have a project that needs a lot of "pick up the phone and ask a question" type of communication, it probably isn't going to benefit from being outsourced to the other side of the world. Outsourcing benefits more with the "throw the specs over the wall, see you again in 6 months" type of project.

As much as some managers would like to think that any project can be outsourced and they'll save money, the reality is not so.  Just as reality has proven that most things you put on the Internet will not make money.  Unfortunately, like the dotcom boom and bust, it will take a few years of billions of wasted dollars and thousands of job losses before reality hits the bandwagon jumpers in the face.

T. Norman
Tuesday, June 17, 2003

Given the worth of quality offered these days by some companies in India, and a responsive partnership, it boils down to the management of communication issues rising from culturual differences.

Most companies have an on-shore analyst for liaison during the course of the project to address most issues and to propogate change in requirements.

But, as someone said, if the specs are subject to change or agile development is preferred to the waterfall pattern, or if the the job is bandwidth intensive due to ommunication, training, etc., on an ongoing basis, the decision boils down to either doing it in house or how effectively it's managed.

Tuesday, June 17, 2003

There is a major point not discussed but really troubling me: when you outsource, how are you going to build your knowledge? How do you keep your knowledge in-house and growing, refining, adjusting?

How do you insure that the renewal of business compence in the next generation of in-house IT workers/analysts (every 5 years?) ?

From my point of view, outsourcing is best fitted for 'grunt' work. Not full scale development of mission-related development.

Tuesday, June 17, 2003

*  Recent Topics

*  Fog Creek Home