Software outsourcing dilemma

For people who have read “World is Flat” it looks obvious that in the world of internet and crowd sourcing, starting software business in the so called “low cost” countries is a logical step forward. Since intelligence, expertise and ambition in people is not bound by race or political border, there should be no reason to believe that there is anything tricky about it. More over, as waterfall has let us believe, good upfront analysis, detailed documentation, proper planning, quality control and right process (CCMI, 6 sigma and similar) should secure our projects from failure. So far so good, and in the end of a day, this philosophy is what has made the call centers in India a great success.

In order to get to the problem, let me start with another book: “Black Swan”. In this book, Taleb not only talked about – well obviously black swans and how much he hates Gaussian and sees fractals all over the place, but he also explained very important concept of scalable and non-scalable jobs:

{next paragraph from novelist Karen Hancock blog}

Non-scalable professions are defined as those with a built-in cap on how much one can earn in pursuing them. A dentist’s recompense is directly related to the number of people he can see in a day, and that number is limited. A watch repairman’s income is likewise related to the number of watches he can repair in a day. Both examples require the worker to be physically present to perform the services they provide. Obviously this category includes all “regular” jobs that pay hourly or salaried wages. When you agree to the hourly rate or the salary, you are in essence capping the amount of income you will receive. Revenue depends on your continuous efforts in the job. This kind of work is largely predictable and, according to Taleb, not Black- Swan driven. They belong to a place he calls “Mediocristan.”

Scalable professions, on the other hand, are those which have no such cap, where you do the same amount of work for one person as you do for one million. Like, say, writing a novel. (grin) Other professions in this category would be entrepreneurial activities, scientific research, venture capitalists, stock traders, etc. The quality of your decisions is more important then the continuity of your efforts. These sorts of professions belong in the land of “Extremistan.”

“A scalable profession,” says Taleb, “is good only if you succeed.”

{end of paragraph}

So, you may wonder what these thing has to do with outsourcing in software business? Here is the funny thing, software business is by definition scalable business while outsourcing business is NOT!

On one hand outsourcing companies are looking to make money by having as many as possible people on the project, while people who owned the project are not only interested in the cost of the project (hopefully), but as well as in potential revenue that they can generate from their customers.

In general, there are two types of software projects, the ones in which the end customer is company that did the outsourcing (retail, governmental organization, banking industry)  – and they are called CDE’s (customer driven projects), and projects in which the end product is a software that the customer resells to the other party. Although it makes sense to go for fixed prices contracts in case of CDE’s, if you want to succeed in the scalable business – you need to be the best in the market, and next to good product strategy and good marketing, you also need to have great software developers.

Most of the big outsourcing companies in India create so called triangle model. At the top would be 1-5% of developers with 5-10 years of experience and they are paid rather well (actually these days their salaries are comparable with salaries in western countries). They are followed by up to 10% of less experienced developers followed by about 90% of junior developers. Salaries at the bottom of the pyramid are sometimes order of magnitude less than of the ones at the top. What customer of the outsourcing company would charge you is the average salary per head. So, one thing is very important to remember, the primary incentive of outsourcing company in this model is to add as many as possible developers to your project, since this is the only way they make money. Another very important feature of this model is that this model breaks if the best developers in outsourcing company work only on one project. As companies in India start feeling the pressure from countries like Vietnam, where costs are even lower, they would probably need to find a new outsourcing model in the future. In my opinion, one of directions that Indian outsourcing companies can take is to work on quality and go up in the food chain, which will eventually bring the prices up and have them compete with smaller agile groups in Europe and US.

Just check what Alistair Cockburn has to say about agile contracts on this link to see what is the dilemma that every subcontracting company has when it comes to software projects (and BTW if you have time read all his books and blogs, guy is just awesome).

In my next blog post, I will talk about my experience with Wipro – our outsourcing partner, and how we started probably the first outsourcing agile group back in 2003. This hard work turned into a great success for both of us and it is something that we are all proud of.

Leave a Reply