
V. Rishi Kumar
THERE are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.''
Explaining the demystified product development model, the Microsoft way to develop products, Srini Koppolu, Managing Director of Microsoft India R&D, quotes C.A.R. Hoare to illustrate this complex cycle and says, ''Developing products! It's not easy.''
While milestone-based development of products is key to successful development, each milestone is itself perceived as a product, either for internal or external use. And each milestone is a contract for the deliverables of a milestone, Koppolu told techies at the Hyderabad Software Exporters Association (HYSEA).
As long product lifecycles are unwieldy, one can constantly get customer feedback at every stage, incorporate changing customer needs or market conditions. And the milestone-based development facilitates in improving specification and design as you go along, thereby helping to develop features in phases and improve quality in stages. Time is the essence or else any delay could mean the competition could run a company out or the application could become obsolete.
According to Koppolu, at Microsoft, it is all about team-based development. The development of all features is managed in a parallel way and the features work like a jigsaw puzzle. And each development team is a mini product team, which handles development and tests to deliver the feature. Each feature is a contract with other features.
Developing a product with a specific customer in mind is different from developing a product that is generic and where one does not know who the end user is, as is the case with Microsoft. Millions of users use the product having diverse needs. Unless the product has been developed to stand the time of test and is fool-proof, technology experts such as Stephen Wildstorm and Wall Street analysts are on hand to rip off the product even before it takes off, warns Koppolu.
The Microsoft model ensures that the product is well suited to market needs. Developing the right product for the right users is all about being able to provide the right leadership, Koppolu feels. And right leadership does not mean enforcing directions but being receptive to even the junior-most member of the team. The challenge for a company is to manage chaos by coordinating multiple teams working on the product and keeping the team focussed on the vision and schedule by driving the communication flow. The key issues that need to be factored while designing software are performance, scalability, stress, reliability and more importantly, security. The mission to create high-quality software is based on consultation on technology, providing feedback on specifications, design architecture, algorithms and data structures, followed by design, writing and debugging of code. As is the case with any successful company, there is a need to think globally and to factor in features that are accessible to everyone. And alongside all this, one must also constantly tune in to rapid technical development.
Validation is vital
The validation of products is as vital as their development. One needs to monitor and evaluate various aspects of a project systematically to verify that quality standards are met. This needs to be independently validated and tested for compliance with design standards.
Koppolu talks of the ''sweet spot'' which is an ideal combination of market and product which helps determine product positioning, pricing, packaging and, lastly, promotion aspects, which is vital for the product to succeed. While the development and marketing of the product form one aspect, support services distinguish one developer from the other. For instance, Koppolu says, Microsoft's product support service is a global organisation of over 8,000 people worldwide.
Post-deployment and use, one aspect some companies ignore is the need to provide the support mechanism to resolve critical problems. This means transfer of information about key causes of customer dissatisfaction back to the product team for resolution.
For a company to really make a mark, both globalisation and localisation, which takes into consideration various issues in specific regions, are key factors. More importantly, translation, that may make or break the product in a specific market, is most vital for success, says Koppolu. For instance, about 50 per cent of the Microsoft business actually comes from non-English speaking areas.
rishi@thehindu.co.in
Please e-mail us at eworld@thehindu.co.in if you have queries on computer usage or if you find an interesting way of using the computer.