Fog Creek Software
Discussion Board




The real problem with offshore development


I develop and sell software.  So, I've considered pushing some of my development work to offshore development at a fraction of the cost. For me, offshore development would be beneficial. If it worked.  Which I have doubts about. Here's why.

Requirements aren't static.

Often, we are creating something the customer has never seen before. So, they can't tell us what they want b/c they've not seen it.

So, we create a mockup and show it to them and get a better idea of what want and get a better idea of thier requirements.


And, even if requirements WERE static, I think it's very very difficult to DESCRIBE requirements in a meaningful, accurate, sufficiently detailed manner so that the programmer has all questions answered.  If the requirements met all of the above they wouldn't be requirements,  they'd be.... a program.

Disclaimer: I haven't tried offshore development because as I thought about it, I realized that *I* could not come up with static requirements.  I *know* that I'll need to tweak the program as we go along.

My $.02 worth

Entrepreneur
Sunday, November 16, 2003

If you're manufacturing a static design that is well-known and specified (ie: a commodity), you can offshore and select based on price, speed and quality delivered.

If your business model depends on innovation and keeping in touch with the new needs of customers (customers buying a hammer or 100 tonnes of pork bellies do not have new needs but graphic artists keeping up with the latest techniques and hardware changes do), then offshoring is not a reasonable option.

Dennis Atkins
Sunday, November 16, 2003

Is offshoring really that much cheaper?

I have a friend who runs an offshoring development centre in Bangalore and he charges more these days than the local talent here in Australia get.

Matthew Lock
Sunday, November 16, 2003

"If your business model depends on innovation and keeping in touch with the new needs of customers (...), then offshoring is not a reasonable option."

Tell that to Nike. How many new models do they lauch each year?

uncronopio
Sunday, November 16, 2003

Nike does none of its creative design work in Indonesia. As long as your application doesn't require any design work, you should be fine. :-P

Dennis Atkins
Sunday, November 16, 2003

Or in other words, pressing  your CDs and printing your boxes and documents can all safely be done offshore.

Dennis Atkins
Sunday, November 16, 2003

It strikes me that the commercial attraction of moving software development offshore may not have anything to do with lower pay rates, execpt as a secondary benefit, but the flexibility to retrench a whole department or project without any union or workers' rights hassles.

In other words, big companies know that they go through a boom/bust cycle; it's an inevitable consequence of the relentless demand for excessive annual growth.  Perhaps offshore software development is more about saving money on the bust than on the boom.

Andrew Bettison
Sunday, November 16, 2003

Denis, good point.  Yes, "commodity" functions, like pressing CDs and printing boxes can be ousourced.

Is there really a market for commodity software?
(I.e., if several different variants of a particular software exists, then is there really much deman for ANOTHER variant of that commodity software?

And, is that the kind of software that skilled programmers are even interested in?

ANDREW,
I think that's true if the company views it's programmers as commodities. I think that  is most likely to happen if the software they are writing is a commodity.

Entrepreneur
Monday, November 17, 2003

It is not right that you can offshore only commodity development. Of cause offshoring sneakers manufacturing to Indonesia is much easier than offshoring cutting edge software development to India or Russia, but there are many successful stories. For example, almost all development at IBM TogetherSoft is going on in St. Petersburg, Russia. Motorola and Microsoft have research centers here. Offshore developers are not more stupid or narrow-minded than local developers in United States or Europe. If you can explain problem and domain to local associate, you would be able to do exactly that to remote developer. But there is no silver bullet, if you only know how to do it youself and are not able to explain what you want clearly, obviously an offshore developer would not be able to replicate you brain process and come up with the same solution, you vaguely thought about.

The most important thing in offshore development, in my experience, is the rapport and clear understanding of responsibilities. You would not believe how difficult it is to get to the point, where you trust each over. If you were located in the same city, sometimes one glass of beer in a local pub would get you to this point, in offshore development it usually takes 2-3 successfully delivered projects.

Furthemore, you can give offshore company outlook or an idea for a program, and offshore company will develop architecture and specification. Sometimes it works, sometimes not, but usually it worth trying, because most companies agree to do high-level specification for free.

Also I have an advice for everyone who is interested in developing small-scale application where you need only 1-2 person. The best way to do it is not to contact large offshore companies who are not interested in such small projects because their administative overhead is high. The optimal solution is to contact small companies or even individuals, who can do work for you cheaper and usually with better quality.

Sergey Markov (St. Petersburg, Russia)
Monday, November 17, 2003

"Nike does none of its creative design work in Indonesia. As long as your application doesn't require any design work, you should be fine."

And with thousands of programmers offshore it is not possible to find the creative type... The fact that most of the work done offshore is quite mechanical does not imply that it will be limited to that in the future. Software developers in the US should have a good look at what is differentiating them from the rest of the world. Whatever it is, can you keep it up?

uncronopio
Monday, November 17, 2003

Germany, Sweden, USA.

That's where the good software is coming from right now.

We'll start worrying when we see a killer app come from somewhere outside these three.

King David
Monday, November 17, 2003

IntelliJ IDEA: Check Republic, Russia.

Kazaa: outsourced in Russia.

Nick
Monday, November 17, 2003

Good lord!

*Czech* Republic, which is an independent nation, not part of Russia or the CIS.

Philo

Philo.
Monday, November 17, 2003

Of course not. What I meant is:
IntelliJ IDEA, developed in Czech Republic AND Russia.

Sorry for the spelling, I was doing too many things at once...

Nick
Monday, November 17, 2003


COMMUNICATION

One of the key problems with offshore development is that of communication with the rest of the team.  Similar issues will arise if the users / designers / management / test team sit in LA and the developers in NY. So I don't think one can just point the finger at the development team. Obviously there are other issues to overcome such as language and timezones issues.


BEST SOFTWARE

I am not disputing it; but more out of interest -- why would the best software come from Germany, Sweden and USA? 

Thanks for an interesting topic.

Liam
Monday, November 17, 2003

There is a difference between offshore outsourcing and offshore insourcing (i.e. your own employees in another country).  The former is destined to fail in most cases, but the latter has brought a good deal of success for those who pursued it sensibly.

The companies that have made offshore development work successfully, like Citibank, GE, and Motorola, went with the insourcing option.  They also didn't dive into it head first; they gradually built up their presence in India over more than a decade -- unlike the bandwagon-driven companies today who are jumping into it blindly, trying to replace half of their in-house experienced IT staff in a year or two.

First and foremost, because the offshore developers are mid- to long-term employees of the company, they get to learn the business just like the US-based employees would.

In addition, their interests are more aligned with the company than if they were part of an outsourcing firm.  Outsourcing vendors are in business to make profits, while the company using the offshore vendor is doing so to save costs.  Those are two very conflicting interests.  For example, when it comes to ambiguous requirements, the outsourcing vendor will choose to interpret it in a way that is more profitable to themselves.  Then they will charge you again to change the software to what you really meant.  Whereas the offshore department of the US company would either know what was really meant, or would ask before implementing it.

Because they wouldn't be paying for the huge profit margins that the offshore firms charge (the usual $30/hr fees vs. $3/hour developer salaries), the savings potential will be much greater.  Citibank and the others make use of those extra available funds to pay their Indian-based developers significantly above the Indian market average (usually over 30%-50% more), so they able to attract the best (not to mention that a 30% higher salary is only about $2000 extra, which is no big deal to them).

So why don't most companies interested in offshore development follow this route? Many reasons:

1. It takes too long.  Ten years to establish and grow an offshore development center of the desired size and skill level isn't going to help next quarter's profits or do much to give the CxOs a bigger bonus this year.

2. Most non-software companies are so terrible at managing their own local IT departments, that they wouldn't have a clue what to do with one in another country where they have never lived or visited.

3. Everybody can't do it this way. In particular, it is mathematically impossible for everybody to pay their own offshore employees 30% more than the market average.

4. Most offshore outsourcing decisions are based more on bandwagon-jumping than about serious long-term plans in the interest of the company.  If they were serious about the company's interests, they would have and should have been offshoring in big numbers 5 years ago when Indian programmers were half as expensive and American programmers were hard to find and harder to keep.

T. Norman
Monday, November 17, 2003

I don't know what it is, but Germany, Sweden and the US have long traditions of extremely well *engineered* products. Stuff that's just plain reliable as well as being innovative. Mercedes Benz and Volvo, for example. Working on their engines is a real joy. In the US, the Hoover Dam, the Empire State Building, the Apollo project.

Let's skip all the examples in these countries of poor engineering -- sure we got that in every country. The big difference with the big three engineering societies is that there is a consistent pattern of -some- really fantastic work being done that blows away anything being done elsewhere.

It was mentioned that Germans hate technology. This is certainly true and not the first time I've heard this. People who love technology will make horrible interfaces and design and expect the user/driver to figure out the idiosyncracies. In Germany, your tehcnology sure as heck better work perfectly or people are going to hate you. They will track you down and stone you to death if the trains don't run on time. It's seriously uncool in Germany to make technology for its own sake - technology must solve real practical problems and be rock-solid and reliable.

In the US, we're not afraid of technology so that's not the explanation. I think we like to prove that we're just as good if not better than our many detractors so we do stuff like fly to the moon for a round of golf just to show the rest of you weenies how awesome we are. Note that flying to the moon to play golf has absolutely no practical value whatsoever. In fact, it was a military project gone wrong -- instead of nuclear missles, we built hot rods capable of travelling to other planets, then got bored with the whole nuclear missle concept.

In Sweden, I don't know! I don't know enough about them but for some reason they do some very fine engineering.

King David
Monday, November 17, 2003

American engineering is so "good" because there's so damn much of it.  On average, it's pretty filthy.

I also agree with the guy who said Germans hate tech.  But they're very conservative.  The average is good, but the highest notes suffer for this.

Did you notice that Germany and the US are probably the two wealthiest and most stable nations?  I know as little about Sweden as you, but I doubt they're going through complex economic times either.

anonymous
Monday, November 17, 2003

T. Norman – I think you make an important differentiation. I imagine if we go back in time about three years and drop all the time zone arguments, this would be a debate about employees versus contractor resources. I think this is just an extension of this debate of employees being more effective than non-employees. There just seems to be something scarier about the non-employees being located in another country as this raises the threat threshold from just affecting my job to possibly affecting my country’s economy.

m
Monday, November 17, 2003

this is totally made up, but i agree with the person who said USA engineering is good because there is so much of it.

I agree with the statement that germans don't like technology and just want shit to work.  I would guess that another reason germans has better "per capita" engineers (if that makes sense) because engineers get tracked early, and there is reasonable job security, so its not like a german engineer is looking to retire at age 28 and then switch to become a children's book author. They are going to be an engineer their entire life, so they might as well do a good job at it.

On the other hand, engineers in the USA (particularly software engineers) are often looking to strike it rich and retire when they are 30. Most 30 something engineers I know in the states are trying to get into something else.
On the other other hand, many (most?) software engineers I know actually did not go to engineering school at all. They were doing something else entirely and just sort of floated into software because it paid better than being a history professor, or a bellboy, or whatever.

And actually most engineering types I know in the US who started doing engineering type stuff early on in life (i.e. age 15 or 16) actually do end up striking it rich. Maybe not bill gates rich, but better than your average IT drone rich.

sociologist
Monday, November 17, 2003

>Kazaa: outsourced in Russia

Not Russia. Estonia.
http://edition.cnn.com/2003/TECH/internet/02/09/why.estonia.ap/index.html

Amon
Monday, November 17, 2003

Completely ignoring where it was originally developed or is currently maintained, does anyone see Kazaa as one of the great engineering triumphs of the 21st century? It doesn't seem "all that" to me... maybe there's something about it I am missing.

Dennis Atkins
Monday, November 17, 2003

If you ask 'who by?' as opposed to 'where', then I think you'd find Indians  closer to Americans. And the UK would probably get a lookin as well.

One little mentioned fact about Germany is that the CEO's are nearly always engineers. In fact in many companies it would be unthinkable for this not to be true.

Another aspect not mentioned is the existence of a local market. Japan also has one, which is why you see so much development in mobile phone technology or chips for consumer and automotive electronics. India doesn't have a local market for software.

Incidentally T. Norman's post is the best I have seen on this topic, together with BB's elsewhere. The only thing is I wonder if there is as much outsourcing going on as he says  - outside of call centre and routine data entry jobs. Even the most alarming fgures for the US put the outsourcing for 2010 in low single percentage figures compared to the current US workforce, and the US workforce is likely to expand anyway.

Stephen Jones
Tuesday, November 18, 2003

The "replace half of the IT department" is an exaggeration, but there are still many companies that aren't so far off.  What happens is that most companies getting into offshoring now are either sending a tiny portion of their systems overseas, or a huge chunk of their IT.  And there is still a slight majority that hasn't offshored any software development.  So total everything, and it is still in the single-digit percentages.

But even with low percentages, it can still have a big impact.  When BigCorp lays off 3% of their 5000 developers to send one of their large systems offshore, that's 150 people gone right there, and the shock will be felt by the remaining employees.  They will do that in the space of six months, expecting the offshore developers who inherited the code to suddenly learn how to maintain and enhance the 5 million lines of code without up-to-date documentation.  Then they are surprised when they have crappy code coming back.

T. Norman
Tuesday, November 18, 2003

Here is an examle of how a Fortune 200 company that I work for is going about their offshoring activities. There are probably about 300-400 developers total within the company. They have taken an offshoring consulting firm in to take over 20% of the "less essential" applications freeing up development resources for other "more important" projects. They have just laid off about 100 developers based on a location spread (I being one of them). There are plans over the next three months to replace all testing resources with offshore and an additional 40% of applications. The remaining development staff has been moved into skill-based groups as opposed to application based groups. There are two policies that have been stated that make me glad I am getting let go now, (1) from our CIO "expect to be let go at any time in this new economy" and (2) "effective Jan. 1 in these new development teams, if you are not working on a project for thirty days, you will be let go". In my company, the overall IT staff may be single digits for now, but from a development job, the percentage is much higher.

yuk
Tuesday, November 18, 2003

"Did you notice that Germany and the US are probably the two wealthiest and most stable nations"

Is this the same Germany that has 10% unemployment?


Tuesday, November 18, 2003

"This new economy" ... another cliched phrase used to justify boneheaded corporate decisions.  First dotcoms and tech investing, now layoffs and offshoring.

--
Tuesday, November 18, 2003

yuk's company is one that thinks they can offshore the whole IT department in a year or two.  Wait a couple years, and they'll be paying local firms to come in and clean up the mess.  Cleaning up after botched offshore efforts is becoming a new industry.

--
Tuesday, November 18, 2003

Unemployment is high.  So is tech unemployment in the US.  These are still economic powerhouses.

anonymous
Tuesday, November 18, 2003

Germany and the US use very different methods of calculating unemployment. In Germany, you are unemployed if you can not find work. In the US, you are unemployed if you can not find work, have appliesd for unemployment benefits, are qualified to recieved them (not all do) and have been unemployed for fewer than six months. Because of this, the unemployment in the US, qualified as people who want to work but can not find work, is actually around 22%, much higher than Germany's rate.

In addition to this, many workers in the US will become underemployed, taking a job at McDonalds or the Gap even though they have a PhD and/or decades of experience designing rockets, airplanes, bridges or software. In Germany, these well qualified folks never take low paying junk jobs to get by since the unemployment benefits and socialized medicine benefits allow them to get by.

In addition to all this, US statistics count a person who has three part time jobs as three separate employed persons, whereas a person unemployed is only counted once.

Census Watcher
Tuesday, November 18, 2003

That's true 99.99% of the time

Users can't say what they mean and don't mean what they say. Throw in a non-native English speaker and all hell breaks loose.

Marx
Saturday, November 22, 2003

*  Recent Topics

*  Fog Creek Home