Fog Creek Software
Discussion Board




An explanation for offshoring - sloppy management?

It just occurred to me: one compelling aspect of the offshoring (dirt cheap work hours) vogue is probably that it appears to remove the onus from managements and technical leadership to devote effort to requirements analysis and specification of deliverables.

In short, with cheap labor it doesn't seem to matter that much what you build, exactly, or whether it's redundant or conflicting. Just throw more cheap bodies at it when you run astray.

In other words, if each hour of a developer's work is only costing you $20 rather than $100 (as loaded by overhead) then it will *seem* that offshored development becomes much more "forgiving" of stupidity and boneheaded shortcutting than conventionally staffed projects.

A data point: in the past when I've priced myself cheaply as a contractor, it has felt like the client would call for endless re-work and rethinking, with absolutely no effort expended on their part toward a real dialog. And I am pretty assertive about decent communication.  Even with the same client this dynamic changed considerably when I hiked my rate - they started to get MUCH more interested in what I was building and the rationale for doing so.

In the environments I've worked in, getting "real" communication about deliverables going has been like pulling teeth. There are some managers and even many technical leads to whom the words "can I ask you specifically what you meant about XYZ?" burn like acid.

In this context, offshoring is more about catering to management's desire to treat development as "turnkey" (AKA mindless and requiring no consumer effort) than it is about cost savings alone.

Any thoughts?

Bored Bystander
Monday, January 19, 2004

I could see this as being a possibility, but largely doubt it.

I've always looked at offshoring as a means of becoming more cost competitive in a global market -- especially in an effort to decrease initial cost to become more cost competitive in an open source environment.

With the recent decline of computer hardware, purchasing a copy of Microsoft Office Professional for $480 seems especially high when I can purchase a new PC from Dell for $499.  In order to cut costs while maintaining the same profit margins, coorporations must either improve on efficiency or decrease production costs.  Improving efficiency involves probably involves reducing the projects staff, which would affect the bottom line as far as reliability and security go. 

If one holds this premise resonable, then poorly defining requirements with the idea that one can simply redefine them does not make sense.  Especially since this adds to a products ship date, which equals lost revenue.

While some laxness on the part of providing quality specifications may result, I do not think it's done intentionally, and coorporations involved in offshoring should decry the practice.

Elephant
Monday, January 19, 2004

I think one of the reasons for offshoring is the feeling that any IT project is going to come in late and way over budget, so that by outsourcing to India they at least have some control over the spiralling costs.

Stephen Jones
Monday, January 19, 2004

If cost of outsourcing in "holyland" is 2-3 times less than in your local area and managers know how to handle it, what wrong with this business? By the way in my area some projects also moved to India, so what? I need to make a better offer in terms of rates, development time and qualification of personnel.

Evgeny Gesin /Javadesk.com/
Monday, January 19, 2004

Personally I think the guy is very close to the reason for offshoring. I worked at a small company and we were approached by 2 people representing India and Russia (including SA for some reason). I have nothing against off-shore or bringing in talent from anywhere. I have something against people thinking they need to defend this. We showed these people an example of our latest *design book* to see if they could use that to build an app. They said they did not see such detail and organization at much bigger companies.  They did not know how much I had to fight to get stuff off the back of envelopes or buried in white boards.  One thing about off-shoring is you won't get someone asking you "excactly what do you mean ..." as if you were an idiot since that person is a customer. They'll say it another way. And they will slowly build up at least an internal documentation that you (the off shoree) have failed to create (at least that is useful to those who will do the building) and it will probably end up costing as much as if done in house right the first time.  Currently we are off-shoring some work and my baa complains that they have different people writing stuff over there and some of the people read what she writes and reacts properly and other people do not. There is an awful lot of time and energy spent on just making sure everyone agrees whereas inhouse work can be understood faster as we are all together, however, sometimes a programmer can be too harsh in asking "what did you mean when you wrote those 2 lines telling me to build a spaceship".  It is amazing how absolutely sparse people think the requirements can be for inhouse work. I'd say they spend 10 times as much time doing the specs for outsourced work than for inhouse. I don't think there is a real savings in the end. It just allows for more work to be done without hiring more programmers and a company should be able to do that. But don't pretend that it is cheaper or that programmers cannot be found here.

Me
Monday, January 19, 2004

Is there some kind of middle-road solution to offshoring?
Obviously managers and VP types have as their goal to try to squeeze as much profit as they can(either by selling more widgets and/or reducing costs).  It is no doubt that most companies view IT as pure cost center and hence something to be reduced at all costs.  From the developers perspective, we are trying to stay gainfully employed and get as much salary as we can from companies.
It would seem that their would be an opportunity for a new type of business called "In Shoring".  This type of business would obviously cost more than an offshoring counterpart, but not as expensive as an in-house/consultant counterpart.  With the ability to fix offshoring projects that have gone awry, the advantage of being local, no language or cultral barriers to deal with, and subjection to local laws (no code piracy etc).

Smitty
Monday, January 19, 2004

OP wrote:
" it appears to remove the onus from managements and technical leadership to devote effort to requirements analysis and specification of deliverables. "


Actually, I've considered offshoring the products I WRITE and sell. Then i realized that offshoring vs. internal development results in an INCREASED need for proper requirements and specs.  Here's what I mean...

If I'm writing a program and I get to a feature that I haven't spec'd yet, I may start thinking "hmmm how does this help the user..." . I can stop right there and TALK TO THE USER.  Or at the very least I UNDERSTAND THE USER.

So, there is a lot IN MY HEAD that I would have to DOCUMENT if I outsourced.

IT's a primary tenant of Extreme Programming (I think :-)  : to have access to the customer at all time. Even better is to truly UNDERSTAND the customer. That's core competency.

NOW... if I'm Safeway and I'm already outsourcing to ComputerGeeks.us in teh US, then it may not seem much different to outsource to ComputerGeeks.INDIA

The question is: do the american computer geeks understand the user in a way that the indians do NOT and, thus, must be trained (at very very high cost).

The real Entrepreneur
Monday, January 19, 2004

geeks do not understand customers. there are user experience design departments (and marketing to certain degree) that work on gaining customer understanding. Most geeks have little interest in understanding customers.

rs
Monday, January 19, 2004

rs,
Where do you even get this kind of stuff?

Anon
Monday, January 19, 2004

because i work in the industry. interact with clients everyday. run a consulting company designing for clients with huge engineering departments etc. talk to others who do similar work.

Look around. There is a huge field of User Experience professionals who do the design work from a customer perspective. There are some engineers who get this "user perspetive". But few and far between. The ones who do, its a real pleasure to work with. With the majority however, negotiating to incorporate this user perspective can be pretty hard.

Ever heard of jakob nielsen, don norman, jared spool...

rs
Monday, January 19, 2004

Bored you are a genius. You have stated the obvious that has eluded us for so long.

We all know that most tech management in the US  is terrible. And we know taht tech management in India is great - CMM level 5 organizations abound, and that is a management designation that has nothing to do with individual coder skills. We also all know that US programmers are more skilled than Indian ones by and large. And yet offshoring occurs. Is it about cost? Partially. But the big thing is offshorers promise results and deliver on time in ways that US teams can only fantasize about. Entirely a management issue.

Instead of offshoring to India, the thing to do would be to bring Indian managers to the US on H1Bs and fire the lazy dumb ass american fat PHB bosses. Keep the highly talented creative American developers. This is the magic mix that has eluded folks, but if you look at Intel, it's precisely what they do. Import talented managers from India.

Tony Chang
Monday, January 19, 2004

BB,

Yes, for some companies your "here is one explanation that I believe is valid about why companies offshore work" definitely applies. However, besides the "cost of labor" argument, I don't believe there are any universal explanations that anyone can apply to all employers/companies that have decided to offshore software development work.

As your post implies lower labor costs will definitely make certain projects more attractive to attempt.


BB wrote, "A data point: in the past when I've priced myself cheaply as a contractor, it has felt like the client would call for endless re-work and rethinking, with absolutely no effort expended on their part toward a real dialog. And I am pretty assertive about decent communication.  Even with the same client this dynamic changed considerably when I hiked my rate - they started to get MUCH more interested in what I was building and the rationale for doing so."

This (management taking an interest in the work you are performing) seems to happen in all industries where labor is the primary cost.


BB wrote, "In the environments I've worked in, getting "real" communication about deliverables going has been like pulling teeth. There are some managers and even many technical leads to whom the words "can I ask you specifically what you meant about XYZ?" burn like acid."

I have experienced this as well. Especially when I am doing contract type of work for a small company (or a large company with a very small IT department). Code and fix seems to be the entrenched development process within many of these type of organizations.

Just about all of the managers/technical leads in the above mentioned organizations have expected the following recipe from me:

* Spend a couple of hours coming up with well defined tasks that I need to perform and list them in something like Excel.

* Spend a half hour or so attaching an hourly estimate to each task listed in the Excel spreadsheet.

* Sit quietly inside an unused cubicle and do nothing all day besides writing source code until whatever project I am working on is completed and I am no longer needed.

Any deviation from the above mentioned "work recipe" has generally been frowned upon by whomever has the responsibility of judging my work/value to the organization.

One Programmer's Opinion
Monday, January 19, 2004

"It is no doubt that most companies view IT as pure cost center and hence something to be reduced at all costs."

I think it's something similar but not quite that. Business views software as a commodity. They see it this way since they can buy a $30 million piece of software from MS for only $199.

In MBA school, they teach that the only way to compete in a commodity market is to reduce your costs. That's it. There is no other strategy. You can't improve quality because in a commodity market no one cares about quality. They only care about cost. Thus your only strategy is to reduce costs. Thus, this is the only strategy considered by business types who have MBAs.

The mistake in their thinking is of course thinking that custom software development is a commodity acquired like coffee filters and toilet paper for the bathrooms. In point of fact, quality of software and other intangibles like speed of delivery are extremely important and the cost of acquiring software is absolutely without a doubt, the last possible factor to be considering. Cost in software development should be of no concern whatsoever compared to:

1. Will the software be delivered?
2. Will it be delivered on time?
3. Will it be of minimally acceptible quality to be useful?

There are other factors as well, such as loss of IP, loss of control over the product, loss of ability to distinguish oneself.

The way US software companies are going, a far better strategy would be simply to market software that is completely and independently conceived of and developed overseas. This is what happened in the music software industry and it worked out well.

Dennis Atkins
Monday, January 19, 2004

> Just throw more cheap bodies at it when you run astray.
So, nobody's learned any lessons from books like the mythical man month?

SC
Monday, January 19, 2004

Guys, one thing. I'm definitely not claiming that my theory is the unified field theory of offshoring, I agree completely that offsite development demands *far* more precision in requirements generation and deliverable specification than does onsite work, and I also agree that adding people is only a recipe for runaway projects.

However, I was alluding to the *perception* that probably exists in some management quarters that they are hiring a bunch of Steven Hawkingesque rocket scientists for a few rupees an hour who will diligently spew out acres of code dirt cheap with no intellectual engagement whatsoever by the PHBs who are outsourcing the work. My reading of this is based upon management that I have observed first hand that is irritated to angry toward interaction with lowly "grunt" developers.

It just seems to make sense as one probable cause of offshoring fashion vogue: get cheap uncomplaining people and it doesn't so much matter if you hit it right - at these prices you can keep trying until you do hit it. So the thinking in the country clubhouse must go.

Bored Bystander
Monday, January 19, 2004

SC,
  I am constantly stunned at the number of "Project Managers" I run into that have never heard of either Mythical Man Month, nor Peopleware, nor any number of other excellent texts on what it takes to make a project work. 

They CAN (however) invariably quote me chapter and verse on how to make Microsoft Project tell me how long a project will take by putting tasks into it and allocating them to "Programmer 1, Programmer 2, ..."

Unfocused Focused
Tuesday, January 20, 2004

BB, what you are really talking about are two different issues here:

* The belief held by some decision making managers that foreign developers are all born with a technically gifted gene.

* Not wanting to interact with lowly grunt developers.

Don't ask me why, but there are some managers (a lot?) who believe that just because you were born in a country such as India you must be a brilliant mathematician, scientists, developer, etc. I don't know why this particular stereotype exists and neither do the Indian developers whom I have spoken with on this topic.

As for the second issue you mentioned, this "problem" really isn't confined to just lowly grunt developers.

One Programmer's Opinion
Tuesday, January 20, 2004

Ramanajan was brilliant.
Ramanajan was an Indian.
Therefore, all indians are brilliant.

Derrick Mudhouse was not brilliant.
Derrick Mudhouse was not an Indian.
Therefore, all non indians are not brilliant.

I am brilliant.
I am a pointy headed boss.
Therefore I am brilliant.

Member of the Brights
Tuesday, January 20, 2004

wake up guys!!

If you sleep and spend all your time in critisizing the offshore model all business will be taken away from you!!

Wake up, go to school, study hard, do programming courses, whatever..and convince your manager that you can..yes..you can do better than the outsourced guys.

The way to seccess is not to critisize and bring someone down. It is is work harder and get what you deserve. Prove to your company that you are more brilliant and more deserving.

That's what is not happening, Americans take their lifestyle for granted, hence the job slump.

Joell
Thursday, February 05, 2004

I vehemently agree with Joell.

Wake up, and take the stand. Instead of arguing on the topic. The fact is that Indians do study hard and are generally used to lot of hard work whereas Americans are used to fun and frolic.

Amy
Thursday, February 05, 2004

*  Recent Topics

*  Fog Creek Home