in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

Cost vs. quality in offshoring

Kirk Allen Evans picked up on my recent offshoring post and added some good commentary.

However, while reading the comments, I came across this one from someone called "AT":

Brr... I do not understand "cost vs. quality" trend.

Usually you can hire the same technical level of people and the same level of management in cheap country like an India, Russia or Ukraine.

But sometimes you can get weak technical level or weak management. The same can happen even in case if you will work in USA. In USA this is rare - as weak company always die, but in India one project can feed company for a years.

The whole new concept of outsourcing will be to find correct team and possibly reduce risk by using duplicate efforts. This is the future. My personal opinion. I'm not a God ;o)

The issue with the "cost vs. quality trend" is that, unless you happen to be a major player like Oracle, Intel, or whatever, you aren't going to move a piece of your operations abroad. That is, if we're talking about smaller companies, then offshoring is typically going to be used on a per-project basis (that's how I've seen it done, anyway).

When that happens, someone from Company X goes to a broker in order to get the offshore workers.

Now, you might have a great experience right off the bat. The team the broker got you in India did a superb job, the code works, it was cheaper, and everybody's happy.

However, the next time you need a project done and you go to the same broker, you might wind up with an entirely different team in an entirely different part of the world. It depends on where the market is when you make your request. If it just so happens that Eskimos are coding at a lower rate than SE Asians on Tuesday, then that's what you're going to get.

Now, I know nothing about Eskimos as coders, so I'm just using them as an example here. For all I know, every last one of them is a Charles Petzold or something. That said, you're probably not going to get the same quality of work from a different team. This is pretty typical for any software project, regardless of location. The difference is that, unless you have a good technical contact in the US to review progress (assuming that the US is where Company X is), you're not necessarily going to know until delivery that the code stinks, the project won't compile, and all the coders had been drinking moonshine while tripping over their semicolons. You just expected it to be good because it was good when it came out of India, and since you're using the same broker, you didn't expect anything to change.

It's kind of like these cheap online pharmacies. They ship generic "equivalents" of what you get in the states at a greatly discounted price. That's fine and all, but you know nothing about the laws regulating the production of pharmaceuticals in the country of origin, and the supplier, and therefore the country of origin, might change on a daily basis. You could get something that has all the "good" properties of Viagra, but that's been cut with Clorox as a filler. You really don't know what you're getting. You might get "Higher IQ in a Pill," or you might get "Say Goodbye to your Liver" medication. It's a gamble

But, you save a few bucks.

As usual, there's a risk involved. That, for me, is where the "cost vs. quality trend" comes in. I'm not saying that foreign coders aren't good. I actually spend a decent amount of time chatting with people from India that I've met online, and they clearly know their stuff. However, when you keep the development close, you can see in the early stages of development if it just isn't going to work, and it can be a bit tougher to make this same judgment when the code is on the other side of the planet. When you have a bad coder in the states, you can just whack him/her within a couple days of realizing that the code stinks. By the time you figure it out where your offshored project is concerned, who knows how much time has passed.

It's true that we have better communications infrastructure nowadays than ever before (blah blah blah), but the reality is that when you cut coders out of the picture and let a designer dictate the contents of the application before shipping the work abroad, it's pretty damn hard to do a good code review. This is especially true if we're talking about "architects" who really don't know the first thing about cutting quality, maintainable code.

So, it's tougher than it looks at the outset.

Also, I realize that I've only presented one offshoring scenario here. I'm well aware of the fact that there are others, but I haven't seen them put to use. For the companies I've contracted at, the option to use a broker makes the most sense, so that's really all I've seen. Your mileage may vary.

Published Saturday, April 24, 2004 1:37 AM by Rory

Filed Under:

Comments

 

Joe Grenier said:

Rory,

In the broker scenario I think you're right on. However, this is a trend I doubt anyone at the management level of these companies will become aware of any time soon. The effect of mediocre to lousy code and brittle architecture on the quality of the systems produced may take a little while to become apparent. The effect on the bottom line of paying $10/hour for a working (regardless of quality) system is immediate, and the boys/girls in the corner offices of the world live and breathe the bottom line.

As far as communication infrastructure goes, I still have all the promises of "virtual meetings" and "no more business trips!" ringing in my head. Conference calls are ok, but you can't run an entire project with them and expect good results (and that includes video-conferencing IMO; that is if you can afford it).

I think (hope) what we see will be similar to a technology hype cycle. All these companies will jump on the offshoring bandwagon and tout it as the saviour of their bottom line. Then, the problems will become apparent and (I hope, hope, hope) lots of short sighted middle managers will get canned. Eventually, the appropriate things (e.g., smaller, non mission critical parts of systems) will get outsourced/offshored and a reasonable balance will be struck. It's not all good and it's not all bad; kind of like XML and web services ;)
April 24, 2004 2:48 PM
 

Sean Fox said:

I certainly do not think it is a quality thing. I have seen American programmers sit around sending IMs and hitting slashdot for 8 hours a day.

With that said, I think it is hard to make a case that American programmers are better than others in foreign countries as a whole.

Do you think there would be such an negative view of off-shoring/out-sourcing if the economy was like it was in the late 90's?

Just being a code monkey I'm not sure, but I would think a small business, in particular, would not want to off-shore due to the FUD that might occur among other employees. Does anyone have experience with this?

(Rory, props, as they say in the hood, on .NET Rocks.)
April 24, 2004 4:49 PM
 

Rory said:

Hey, Joe -

"In the broker scenario I think you're right on. However, this is a trend I doubt anyone at the management level of these companies will become aware of any time soon."

Well, I don't think they need to spot a *trend*.

A trend of this sort would be rather disastrous.

I was at a company where a "Systems Architect" shipped a porting project to the Ukraine. It made a lot of sense, actually. If I were in his position, I would have done the same thing. It doesn't make any sense to pay someone anywhere from 40-90/hr to be porting code that's really just "Take from point A to point B" type stuff. There's no real creation involved - just translation.

When the code came back, though, it wouldn't even compile. Not only was the quality of the code offensively crappy, but many third party controls were used in the porting effort, and the company from the Ukraine didn't include them. So, on top of getting a bunch of bad code, the project was missing a bunch of obscure controls it needed just to *compile*.

If you have even *one* experience like that, then a trend isn't really necessary. This was about a 250,000 line application, so the porting effort wasn't an overnight sort of affair. Months went into it, and it was all for nothing.

The bottom line is very important, but priorities get a little blurred when you get into a situation where, yeah, maybe you saved thousands up front, but you're going to have to have the entire project done over, which means you're going to have to pay all over again, and that's not just in money - that's in lost time and credibility as well. As a "Systems Architect" I really wouldn't want a scenario like that sitting on my shoulders.

"As far as communication infrastructure goes, I still have all the promises of "virtual meetings" and "no more business trips!" ringing in my head. Conference calls are ok, but you can't run an entire project with them and expect good results (and that includes video-conferencing IMO; that is if you can afford it)."

True, but this in an area of compromise.

While you might be somewhat limited in your access to the team of coders/whatever, you *will* (or at least you *better*) have at least one rep that you can meet with locally. That rep, then, is the one who will have to deal with the global communications scenario. From the customer point of view, except for the fact that all of the comments in the code will be written in a character set that your Windows install doesn't support, the code might as well have been written across the street. The rep gives a local presence to the offshore work, and so somewhat offsets the difficulties in communication (as in: it's *his* problem).

"I think (hope) what we see will be similar to a technology hype cycle. All these companies will jump on the offshoring bandwagon and tout it as the saviour of their bottom line. Then, the problems will become apparent and (I hope, hope, hope) lots of short sighted middle managers will get canned."

Well, there's definitely a "hype" aspect to the whole thing, but I honestly think that it's here to stay, and with good reason.

*However*, I don't think that it's the panacea that many want it to be.

In the example of the porting scenario that I just described, I think it makes perfect sense to ship the code abroad. Had the team that written the ported code not totally sucked, it would have been a great deal for the company.

For new development, and particularly for small to mid sized companies, I think it makes much more sense to keep the work local. One of the great advantages of having a small company is the ability to turn on a dime. If you have to deal with layers of abstraction in management for your project, then that represents a bottleneck. I realize that many of the offshore workers are adjusting their sleep schedules to accommodate our schedules in the west, but there's still the issue of having to deal with layers of middlemen just to get a change implemented in your project.

Plus, unless you have really detailed status reports, you aren't going to have a good concept of how a change might fit in/affect the rest of the code. It might be too early/too late/too something else. It's tough, and I could see it killing some companies I've worked with.

There was one where the requirements of any given project seemed to change on the hour. It was a small enough company that it wasn't unusual to have a message "come down from on high" to the dev team stating that Change X *must* be made before the start of the next business day (or whenever).

The incredible thing is that they were (and perhaps still are) seriously considering offshoring this work. God help them if they do - I'm not anti-offshoring, but I'm *very* anti-bad project management.

So, yeah. To wrap it up, there's hype, but offshoring definitely has its place. It's just that people haven't yet been able to totally determine what that place is, and it's going to take many failures and successes before anybody really has a clue as to what's going on.
April 24, 2004 4:57 PM
 

Rory said:

Sean -

"I certainly do not think it is a quality thing. I have seen American programmers sit around sending IMs and hitting slashdot for 8 hours a day."

True, true, true.

***But***

If you have a team of contractors working for you in the states, and if you're a project manager with a clue, then you can cut your losses by wiping the diseased leg of the team. If you don't have the same "hands-on" access to the team abroad, and especially if the team follows some different methodologies than the ones with which you're familiar, then it's going to be more difficult for you to determine whether or not the project is going to fail.

As I mentioned in a previous comment, this lack of immediate control resulted in one hell of a screw-up for a company I contracted at. Sure, there were employees there who didn't contribute to the bottom line, but it was obvious, and people got the ax when it was apparent that they were the source of problems.

That's another issue - if your coding effort is being handled locally, you can find the sore spot and eliminate it without having to wipe the whole team. If your code is being written by a team with which you have no contact, then you don't have a convenient way of determining the problem source. It could be one coder, or it could be the entire team. So, what do you do? You have to whack your relationship with the team and start over with a new one (I've seen this happen).

It would be like putting someone to sleep because he had a gash on one of his hands. Rather than being able to just treat the affected area, you have to put the whole body underground, which is a little drastic.

Plus, in doing so, you lose the expertise and experience garnered by the *good* people on the team. If your team is local, it's going to be easier for you to figure out who the "good" coders are and who the "bad" coders are. You can then keep the good ones and send the bad ones on their way.
April 24, 2004 5:05 PM
 

Bob Reselman said:

I think that I understand the foundataion of this conversation.

Yet, I wonder if altering the foundation a bit might reveal a different type of meaning and importance to the discussion.

How about, as an alternate title,:

Anxiety vs. Comfort in Offshoring.

or

Misery vs. Happiness in Offshoring

or

Fear vs. Faith in Offshoring

or

not

April 24, 2004 5:05 PM
 

Joe Grenier said:

Rory,

"Well, I don't think they need to spot a *trend*. A trend of this sort would be rather disastrous."

The trend I was thinking of was the one in between great code from India and moonshine soaked, non-compiling code from the Ukraine. I don't necessarily think all offshoring results will be at one or the other extreme.

"Well, there's definitely a "hype" aspect to the whole thing, but I honestly think that it's here to stay, and with good reason."

I wasn't trying to say that the offshoring trend was going away. The point I was trying to make was that many companies will see this as a way to save lots of money and offshore much more than they should. Then my hope is that things will even out and only *some* of the work will go that way. I know that there are talented developers all over the world who would gladly write all of my code for less money than I get, and they are not going away. My hope is that companies begin to exercise some sense when doing their project planning, and I think they will if they get burned enough.


"...offshoring definitely has its place. It's just that people haven't yet been able to totally determine what that place is, and it's going to take many failures and successes before anybody really has a clue as to what's going on."

Well, we agree on that. Damn. I wanted controversy; heated exchanges; name calling. You suck ;)
April 24, 2004 10:33 PM
 

Sriram Krishnan said:

As an Indian and a programmer at that, I'm happy that you haven't fallen into the old "Indians are cheap...but of bad quality" trap that I have seen in a lot of places.

However, I have actually heard of issues regarding communication, differences in work culture,etc. So outsourcing to India may not be all that easy as some people say.

But as an Indian, and as one who will be looking for a job in a year or so, having all these companies come to India means that now I have an opportunity to have a career which just wasn't possible before.

I do realize that there's a chance (though this is contested) that I might be taking away an American's job. However , look at it from my point of view. I feel that I'm good enough and that my work can match up to most other people. So why should such opportunities be denied to me?
April 25, 2004 6:40 PM
 

Rory said:

Sriram -

"As an Indian and a programmer at that, I'm happy that you haven't fallen into the old 'Indians are cheap...but of bad quality' trap that I have seen in a lot of places."

I've never actually *understood* the "Indians are bad coders" argument. It's never made sense to me, and nobody I know has even tried to substantiate the argument with me.

Rather, I think that there are bad coders *everywhere* (many, many, *many* more bad coders than good, as a matter of fact), and that it would just be easier to spot the bad ones for an American project if the coders are actually in America.

"However, I have actually heard of issues regarding communication, differences in work culture,etc. So outsourcing to India may not be all that easy as some people say."

Right - from what I've seen it's not easy at all, but I can completely see how it would be worth it *for the right project*. That's something that people tend to forget - offshoring *does* make sense, but it doesn't *always* make sense :|

"But as an Indian, and as one who will be looking for a job in a year or so, having all these companies come to India means that now I have an opportunity to have a career which just wasn't possible before."

And that's a good thing - especially if you wind up doing a good job.

I hit this stage recently where I couldn't tell if I was more:

1) Afraid of the potential consequences of offshoring

- or -

2) Angry about the level of ineptitude I've seen in software projects here in the states

I think good coders should have jobs, and I don't care where they are. I'm tired of seeing bad code written at high prices domestically.

"I do realize that there's a chance (though this is contested) that I might be taking away an American's job. However , look at it from my point of view. I feel that I'm good enough and that my work can match up to most other people. So why should such opportunities be denied to me?"

Again, I agree - if it's legal, and if the opportunity is there, then there's absolutely nothing wrong with it. If I were in your shoes, I'd do exactly the same thing, and, get this: I wouldn't even *begin* to worry about whether or not I were taking American jobs. It's as simple as that, and it's the same, I'm willing to bet, for nearly every other coder on the face of the earth.

On the one hand, I want to keep my job. On the other, I don't want to unfairly keep anybody else from getting it. If I can provide a better value for a shop in the states than a foreign coder, then good - however, if I can't, then that's just the way it goes. The whole world can't stop just because I don't like it :)

These things happen...
April 25, 2004 10:56 PM
 

Pete Beech said:

One effect of the threat of offshoring and/or the bad economy (which I think is actually the main reason jobs have been lost: offshoring, in percentage terms, is really not that big - (yet!)) which I've noticed is that people who are passionate about IT are raising their game.

People I know who want to stay in IT are getting certificates, reading far more, learning more outside of work, etc. And they are generally finding jobs and staying in them - the people I know who have lost jobs (actually not very many) are generally people who shouldn't have been in IT in the first place - you know, geolgists and historians who did an IT conversion course in the 90s and could spell HTML and then could get 10 job offers.. And, amongst the people I know, they defintely have no passion for or long term interest in coding/software design/IT/etc.

Generally, the people who are good, and who are staying up to date, are staying in jobs - at least, this is what I've seen in Europe, where I'm based - maybe we haven't been hit quite as hard.

I think also, the same might be happening in reverse in India - the boom over there, according to reports, is starting to attract people who are really not suitable for IT - and there are cowboy companies which are starting to come in on the peripherary of the IT industry there that are willing to employ them. (This is not to denigrate the quality of Indian coders, or any nation - I've seen my fair share of excellent coders who have been Indian, Russian, Lithuanian, British, French - I've also seen awful programmers from most of those places too)

So, I reckon the quality and productivity will rise in those nations going through a lean patch, and the average quality could fall in the places experiencing the boom (the other factor there might be complacency). Coupled with the advantages you've mentioned, Rory, when doing some stuff locally, I really think there is a still a lot of hope for the software industry in the west.
April 26, 2004 9:03 AM
 

Anand said:

Rory, I beleive, the communication problems you talk about exists today. But I also beleive that as technology improves and companies learn, better methods will be in place and this will slowly become a non-issue. How about extreme programming, all code is in compilable state on check ins. And always avbl to be checked for quality.

Pete, I agree. I suspect we have already gone thru that patch and bad programmers are finding it more difficult to get in now a days. As the technology bubble goes away and we settle down to do real work (instead of develop web sites which will revolutionize ecommerce), I think most people with jobs will be the good programmers. And there will be a lot of churn, as the system cleans itself.
April 27, 2004 10:08 AM
 

Daryl said:

If you are interested to see which companies are outsourcing jobs overseas and how many jobs they haved offshored. check out

http://www.techsunite.org/offshore/
April 28, 2004 6:28 PM
 

AT said:

Willing to clarify quote:

Big Co's can create their own offices outside of USA to solve bad management problem.

Do you think that this is the only one solution ?

My main concept was that taxi drivers, "geologists and historians" no longer work in IT in USA, as they can earn more by doing their regular jobs.
But outside of country you can be "lucky" one who hired Indian/Russian taxi driver pretending to be superior web-designer. He will be able to feed himself for an year even in case only one of 10 projects he started will be finished.

This is core concept of my previous comment quoted.

You can offshore - but you must be able to find a correct team.
Using wrong broker move you away from this goal.

Consider following fact - USA is not superior in ACM International Collegiate Programming Contest (http://icpc.baylor.edu/icpc/).
This mean that there is strong education systems outside of USA, as result you must be able to find people with correct technical level, but it's hard because of "taxi drivers".

April 28, 2004 8:51 PM
 

Adult Toys said:

The new reality.
June 18, 2004 8:59 AM
 

Jeff Atwood said:

August 11, 2004 4:15 AM
 

TrackBack said:

Offshoaring
April 29, 2004 9:35 AM
 

TrackBack said:

Offshoring in the US
April 30, 2004 10:25 AM
 

Winston said:

January 17, 2007 8:37 AM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.