|Topic:||The changing face of IT development|
|Title:||Chairman founder and CEO|
|Organisation:||Polaris Software Lab Ltd.|
Mr Arun Jain is the Chairman, CEO and founder of Polaris Software Lab Ltd., specialising in application development for global financial institutions. Polaris has been rated as one of the Forbes Global Top 200 ‘Best under a billion’ corporations. Mr Jain founded the Ullas Trust to integrate Polaris employees within a larger community and encourage a ‘can do it’ spirit in students at corporate and government schools. The Trust has reached over 17,000 students in Tamil Nadu, Mumbai and Delhi. Mr Jain is the recipient of the ‘ICICI Venture-CII Connect 2006 Entrepreneur Award’ for his significant contribution towards developing Tamil Nadu as a centre of ICT excellence. A nominee for the coveted Ernst & Young Entrepreneur of the Year Award in 1999, Arun has served as the Chairman of the Tamil Nadu State Council of CII – Southern Region, the Indo-American Chamber of Commerce (Tamil Nadu division) and was on the board of Xavier’s Institute of Management. Mr Jain earned his degree in Electronics Engineering from Bangalore Institute of Technology.
Software development today is wasteful. Instead of re-using code for common functions, most systems are developed from scratch. In the future, if India’s burgeoning software industry is to thrive, service-oriented architectures, SOA, and software developed from re-usable software modules strung together into prototypes will dominate. Since India’s clients are often on the other side of the globe, a great deal of bandwidth will be required for face-to-face video conferencing needed to ‘shake-out’ systems prototypes quickly and turn them into final systems.
The information technology industry has been widely credited as the engine of economic revival in the USA through widespread gains in productivity over the past two decades. Ironically, the software industry itself is a wasteful industry. If it is true that the software industry is a wasteful industry, then its model is clearly unsustainable. New models of software development will need to evolve, and to understand their future ‘avatar’ – a Sanskrit word meaning incarnation – one can choose between reading tea leaves or, alternatively, look at mature industries and try to project the future by examining their evolution process. Telecom is a much more mature industry and can provide the models for a new model for software development. Let us elaborate on this for a moment and test the hypothesis that the software industry is, indeed, wasteful. In India, today, there are more then 800,000 professionals employed in building and supporting business application software. Assuming that each professional generates only 100 lines of code a month, the industry generates close to a billion lines of code every year – and this is just India, in just one year! On the other hand, if you look at any business it is unlikely that there are more than 1,000 processes that support the business. Assuming again that each business process requires no more than 5,000 lines of code, a simple calculation will show that a billion lines of code can support more than 200,000 business processes – the equivalent of building complete software packages for all the business processes of 200-odd industries every year. Clearly, then, there is a lot of code wastefully generated each year. Let us now look at the telecom industry. The telecom industry today as a basic utility is synonymous with reliability. It is also synonymous with plug-and-play ease of use and agility. We believe that both of these notions – the notion of ‘utility’ and the notion of plug-and-play agility – provide strong models for the way software development should evolve. We will call these models: • the utility model; • the business-agility model. Let us look first at the utility model of computing and its impact on the way software could be developed. This is not a new notion and academicians such as Nicholas Carr have argued that IT – information technology – is no different from other infrastructure industries such as electricity and telephony that have reshaped industry and economics over the past two centuries. Using them as a model, Carr argues that IT, too, will evolve into ‘utility computing’. He draws a parallel, saying that instead of running hundreds of small electricity generators it is more economical to run a giant electricity plant. We believe that some types of users will certainly evolve into using IT as a utility. If IT is to become a utility, it is important that it becomes as reliable as electricity or any other utility. It is also important that the service be delivered at ‘utility’ prices. Today, however, as we saw earlier, the entire software industry business model has been built upon a wasteful model and, clearly, does not share the characteristics of a utility service. To develop a utility model, the software industry will have to focus on three characteristics – reliability, reliability, and reliability. One of the important prerequisites for this model to succeed is the ability to re-focus the business into a common model and convince business users to follow this model. This would call upon the software industry to focus much more on domain modelling, that is upon building a common business process model that captures how the industry works or, rather, should work. The utility model is limited by the industry’s ability to develop common operating models for its own business and its users’ businesses. Clearly, this model will not be suitable for many larger companies or to handle the highly specialised business processes some users depend upon. Such a business model also has interesting implications for the telecom industry. To run such utilities, huge data centres with large server banks would be needed. Data centres such as these would have to be able to handle very high access and transaction volumes and would, accordingly, require high capacity telecommunications connectivity to deal with the traffic. Google is a case in point. While no reliable data is available there are blogger news items that allude to the fact that Google today controls more network fibre than any other single organization in the world. Another interesting consequence of this model will be a shift in the locations where this bandwidth will be required. Since data centres require significant amounts of skilled manpower, they are likely to be located in countries where the necessary skills and expertise can be readily and economically obtained. Currently, the countries where the needed talent can economically be obtained are India, the emerging economies of Europe and certain South-East Asian nations that have, as well, well developed judicial systems and thriving high technology sectors. One can expect that, in the years to come, huge amounts of additional bandwidth will be needed in these nations just to service these data centres. Let us now look at the business-agility model and how that can impact software development. This model is actually in use and is already changing the way software is being written. The users of this model, based on signs that can readily be seen, for example, in the banking and financial services industry, consider IT to be a market-place differentiator and not a mere utility. Banking has been at the forefront of innovative IT usage. As an industry, it is also the largest consumer of IT services. An increasing number of banks are using IT to build agility into their businesses. These banks believe that an agile business is one that can: (1) deliver customized services; (2) in near-real-time; (3) to a customer that is spoiled for choice; and where (4) neither the competition; (5) nor the vendor base, is limited to national boundaries. To build agile businesses the banks need to go beyond the mere digitization of processes. They will need to build an IT infrastructure that can operate, be agile, in four distinct dimensions: • product agility – facilitate the rapid introduction of new products; • distribution agility – the ability to offer products using new channels as quickly as they emerge; • customer service agility – the ability to operate in a wholly fragmented market where customers, each and every one, is distinct and treated in accordance with their individual needs; • operational agility – the ability to transparently interconnect various intermediaries to process complexly structured transactions rapidly and efficiently. Agility requires software do all of the above and that, for the sake of agility, whatever software changes are needed can made quickly and without disruption. A service-oriented-architecture, SOA, paradigm for software development is probably the most efficient way to build such agility. The SOA paradigm decomposes business into small, cohesive blocks of functionality called services that are, according to specific needs, stitched together into business processes through ‘workflows’. For this to work, software companies need to: • define the business architecture in function of a process-service mapping; • use a SOA backplane to support the business components; and • define an implementation architecture. The attached figures help explain this concept better. Figure 1 shows the business architecture for a bank’s margin lending business. Figure 2 shows a process-to-service mapping for one key process. The software industry today is divided into three categories: • business consulting companies; • application development companies; and, • product companies. In the new paradigm the software companies likely to succeed are those that can blend all of these and provide, through consulting, applications development and software products. The successful software providers will be those who understand businesses, can decompose their operations into elemental sub-services and processes, and build mini software applications modules, applets, for each such sub-service and process that can be stitched together rapidly into composite solutions as required. This new type of software development will tend to increase the need for interaction between developers and users significantly. The use of an SOA and applets permits the rapid development of prototype systems, which in close cooperation with the client can then be modified to fit the need exactly. Close, face-to-face interaction with the client – often on the other side of the world – will multiply the demand of India’s software developers for enough bandwidth to conduct simultaneous video conferences and product demonstrations around the world. Whatever business model is adopted, however, the consumption of bandwidth by India’s software industry is likely to multiply greatly.