Saturday, March 06, 2004

Productivity risks in offshore outsourcing

Last week, I wrote about six risks in outsourcing IT functions to offshore service providers. In response, Bob Boyd wrote to me about an additional risk: lower productivity. Bob's feedback is most interesting in that he can hardly be accused of being an opponent of offshore outsourcing. He is a VP at eFORCE, an IT services firm that offers services onshore in the US and Europe, and offshore from its own development center in India. So, Bob is speaking from direct experience. I'm quoting his entire message below, with my comments in [brackets].
I'll add another item to your offshore risk list: lower productivity. Productivity differences in software development have been the subject of many studies. These studies invariably find a large variation in productivity. The first (top) quartile is often ten times (not 10% or 100%, but 1000%) more productive than the average (let's say, the third quartile). The fourth quartile is often found to be negatively productive. That is, more time is spent fixing their code than would have been required for someone in the third quartile to write it in the first place.

In the US, starting around 2000, we effectively eliminated from the software development labor pool what used to be the fourth quartile. That has driven the productivity of the total labor pool way up in the US. Furthermore, labor rates in the US are stagnant or falling. [Therefore, U.S. programmers appear more productive for two reasons: with the general decline in the tech sector, the programmers that are still employed tend to be the better performers, and overall wage rates are weakening.]

In contrast, in India, software development is constantly attracting new entrants to the labor pool. (The Wall Street Journal noted recently that the average age of Indian software engineers is 26.) These new entrants are generally the least productive. At the same time, the labor rates for the top quartile [the most experienced and productive ones] are rising quickly. So, the average productivity of the Indian programming labor pool is falling while labor costs are rising.

So, without reference to whether US or Indian workers individually are more productive, there is a growing difference in productivity between the two labor pools. Combine that with rising labor costs in Bangalore and other tech cities and you may discover that when truly equivalent personnel are compared, there is no longer a labor arbitrage opportunity.

Counterbalancing this "labor pool productivity gap" is the higher management process discipline that Indian firms have implemented. Indian firms have had to sell their services based on some fairly abstract measures of "goodness" (CMM Levels, SEI standards, etc.) because, by definition, they are out of sight. Hence offshore firms have focused on management process discipline. Process discipline is important in overcoming the problems that beset projects with distributed development teams, operating in offset work shifts, from different cultures, with more than ten simultaneous contributors.

These same management disciplines were rarely adopted in the US because, generally, they drive up the cost of the project. In the US, it was more efficient to simply hire from the first quartile and put everyone in the same room. We all know intuitively the difference between programming as a craft ("low ceremony") and programming as engineering ("high ceremony"). This difference is highlighted by the ongoing debate between advocates of the Rational Unified Process (RUP) and Xtreme Programming. It is generally true that if software can be produced with low ceremony, it will be cheaper than if it is produced with high ceremony. However, budget decision-makers often mistake which type of project they are funding. Quite a lot of business systems development is craft work. [In other words, business IT functions, which are now being outsourced, are traditionally performed without a lot of formal project management controls. But if the formal controls are not put in place, the outsourcing initiative is unlikely to be successful. This is a risk that is generally not recognized when business executives consider outsourcing business IT functions.]

The result is that if five or six US-based, first quartile, highly productive, code-slinging cowboys can do the job and they are available, then you'll get it better-faster-cheaper than trying to send it offshore. But if, by the nature of the task, a code-slinger's posse isn't an option, then offshore may be the right answer.

Large application maintenance and enhancement projects are a good example of an offshore opportunity NOT because such projects are simpler or easier--they aren't. But because such projects are long duration, the cowboy approach doesn't work. Cowboys have a wandering nature. [In other words, the top programmers prefer to work on new development.]

I think the US is emerging from a three year period in which, when choosing between better-faster-cheaper, "cheaper" was the predominant buying criteria--because of uncertain corporate revenue projections. In the preceding dot.com days, "faster" was the predominant buying criteria, because capturing new markets was the chief strategic concern.
Bob's feedback confirms my view that offshore outsourcing is and will be an important element in business and IT strategy for some or many companies. On the one hand, business decision-makers cannot afford to exclude outsourcing as an option. On the other hand, there are significant risks and unrecognized costs in outsourcing business functions, especially when those functions and processes are not well-controlled to begin with.

No comments: