The world’s “corporate poor” (at the bottom of the enterprise pyramid) need software solutions at affordable prices. The software they need is not a generation-old, but the state-of the-art. They have the same need for the latest information. They have the same need as their bigger counterparts to keep in touch with customers, suppliers and partners. This world needs its Windows, its Office, its Notes, its Oracle and its SAP. What they do not have is the money to pay for the dollar-denominated software or for expensive consultants to integrate everything together. The functionality needs to be there, not the names.
The market is there: the 20 million small and medium “aspiring” enterprises employ no less than a billion people. What they can afford to pay is perhaps no more than USD 5 (Rs 250) per person per month for the entire software infrastructure.
This, then, is the challenge for Indian software companies. Can a “software factory” be created which fulfills the software needs for the “rest of the world”?
Here are some ideas on the possible approach that such a software factory can take:
Intelligent Cloning: The world’s best software companies have done a lot of the thinking on what features need to be packed into their software packages. What is needed for the software factory is to (a) identify the utilities and packages that their target market needs, and (b) use the 80/20 rule to decide on the feature subset: build out first those 20% of the features that are used 80% of the time. What one gets is a functional product which may not meet every need of every company in the world, but will take care of the most important requirements. Cloning does not mean eschewing innovation or using lag technologies. It means using the state-of-the-art software development environments, the best programming techniques and the smartest engineers and managers, to deliver the best solution at the lowest possible price.
Lego-like modules: The key challenge for the software factory is to define the modules and the features well, so that the work for the development can be outsourced within the software community. This Lego-like approach to developing the software components can help speed up the development and at the same time leverage existing resources and talents in the developing markets.