Saturday, December 29, 2007

Software Outsourcing Industry and Football

Outsourcing has boomed into a mega industry which has become critical part of the globalization of the IT industry. I can't stop drawing a parallel with the game of football, which I believe is a true global game.

The crucial difference is that the software industry's focus is cheap labor to cut costs and to reduce risks, whereas football is focussed on finding the best talent on planet earth, wherever they are. And that is the only sustaining model of any globalized industry. The football clubs in Europe are great examples of truly global teams with players and coaching staff from all over the world. They send talent scouts to spot the Messis and the Robhinos from everywhere.

While there are software organizations who are looking for talent rather than the low cost or the volume of engineers available, the industry is dominated by the model that is focused on reducing costs and risks, which is not a sustainable model. Also there aren't many original innovators from the local industry as well. What is stopping us from being a real globalized industry ?

Fundamentally, this is an industry based on differential costs in different geographies. The local sub-optimization thinking of the orgnaizations that outsource work also contributed a lot to this industry. The thinking that you can separate out different functions and optimize each of the function in isolation can improve the overall results of the corporation can be attributed to this a lot. A typical waterfall software development enables this structure and thinking a lot. They lay a lot of emphasis on the earlier stages of requirements analysis, design and development with the later phases of testing and maintenance considered as low value resource intensive phases. Typically, these phases are outsourced to a cheap labor geography to reduce the costs. The way these companies are measured is typically based on the defects found during testing or defects fixed in the maintenance phase. The outsourced organization typically throw more people at these functions because the labor is cheap.

The problem with this approach is that the onshore high cost teams are not really worried about testability and maintainability of the code, they just throw it over to the low cost geographies. It may work in the short term, but not in the long term. Eventually, the cost advantage should level out. But in an industry where short term quarter results decide the fate of CEOs, this is a natural phenomenon.

It needs a systems thinking to get out of this situation - to see the whole and to remember that people are involved. This is were agile development methodologies holds a lot of promise. I strongly believe that agile and iterative methodologies will move software industry to the same level of globalization that the most beautiful game on planet earth has achieved. A true talent industry irrespective of the geography!