Thursday, September 20, 2012

Indian IT: From artisans to global industry


Indian software: From artisans to global

industry

Shivanand Kanavi, global head, marketing and strategic communication, CMC, writes 

about the global contribution of TCS in developing a new business model in IT services 

Today, India has achieved an undisputable leading position in the global software services. Most outsiders think that this has been primarily achieved due to labour arbitrage or availability of low cost computer programmers in India as compared to the US and Europe. However, that is only one of the contributing factors. The primary factor has not been noticed yet by many business historians. In fact, software development used to be an essentially artisan-like activity about four decades ago. This paper argues that innovative industrialisation of such an individualistic activity to large-scale industrial activity by Indian firms has led to the current pole position of India in the field. To illustrate this thesis, the author will use the example and experience of Tata Consultancy Services (TCS) because he is familiar with it and also because being the oldest Indian software company it has also been an innovative pioneer.

Snake charmers and software

In 1968, when TCS came into being, there was no Microsoft, Apple, SAP, Oracle, Sun Microsystems, Dell and many others. Hewlett Packard (HP) was known for its oscilloscopes, signal generators, handheld calculators and not computers. EDS and Capgemini had just come into being as data processing companies. Clearly, it was an audacious startup from India. 

TCS had a couple of IBM machines of 1401 vintage and an ICL machine as well. They were providing bureau services, better known today as business process outsourcing (BPO), services for Indian telephone companies, power utilities, universities and so on. At the same time TCS also started scouting around for any work it could get abroad.

In those days India had gone through a severe financial crisis, the rupee had been devalued by 57.5 percent. The US dollars required for importing large and expensive mainframe computers were definitely in short supply. Besides, there was also a perception amongst the public and the politicians that computers would take away jobs and, hence, were best avoided. 

However, TCS leadership was convinced that computers could play a major role in not only making Indian businesses and banks more efficient but also in helping much of Indian society leapfrog from the 19th to the 21st century. Surely, many people thought that the dream was incredible, but they kept chipping at the walls relentlessly. How TCS has been able to contribute to nation building in India through these efforts is a story to be told another time.

Collaborate and flourish

In the mid-1970s, TCS decided that it would be good to get into an alliance with a computer maker. The one they chose was Burroughs Corp. Though Burroughs was not the biggest name in computer industry their technology was impressive. The deal was that TCS would sell Burroughs computers in India and support them. This helped TCS engineers gain first hand expertise in operating their systems and troubleshooting. TCS also bought a system for their computer centre to provide Burroughs-based services to their clients. Burroughs soon realised that they had hit a gold mine of engineering talent and started outsourcing software work to TCS. Burroughs’ clients in Europe, US etc., who were switching their systems from some other manufacturer to Burroughs, would need their already running software to run on the new Burroughs machines. In those days each machine had its own dialect of COBOL and, hence, unless one carefully mapped the old programs onto the new Burroughs-understandable instructions, they would not work. TCS executed some interesting and challenging migration assignments in this mould.

TCS set up a strong Systems Group, which took the lead in assimilating technology as well as developing new ones. This group came up with a tool called Data Dictionary, which helped automate software migration considerably. Burroughs was impressed. It tried its best to convince the Tata group for a buyout, but the latter decided against selling out TCS and instead agreed to form a new joint venture, Tata Burroughs Limited. Interestingly, IBM, which was a competitor of Burroughs, was also impressed with TCS tools. TCS continued to execute migration and development work for Burroughs and at the same time look for other clients. Later, TCS decided to invest in IBM’s technology and started the most sophisticated IBM-based computing centre in Asia of that time at Chennai. It was risky and expensive, moreover TCS had to convince the Department of Commerce, US Administration in Washington, DC that it was not going to use IBM computers to develop nuclear bombs, but in fact help US businesses become more efficient!

Henry Ford and Toyota

An important achievement of TCS has been the successful industrialisation and globalisation of software services. It has many similarities and a few dissimilarities with what Henry Ford and Toyota did to manufacturing. This has enabled TCS to execute large projects successfully. Year after year TCS has been delivering software solutions in targeted time and budget with a great amount of certainty.

TCS did not have a model to follow, it had to invent one. Forty years ago, computer programming was practiced by a few exceptional individuals. Each programmer had her/his own way of doing things, many of them brilliant but hardly replicable. It was difficult to debug or improve a program written by someone else. Naturally, it was almost never a product of teamwork. Obviously, it could not be scaled up. The situation was very similar to that faced by the auto industry when Henry Ford and his peers were developing quadricycles in their workshops in the 1890s. These workshops could not scale up and serve a mass market. That is why Ford’s assembly line, for Model-T, was pioneering and revolutionary in 1913. It was a product of meticulous planning and hard work in the background and it changed manufacturing forever [1].

Today TCS has achieved the depth and breadth to follow the same processes and achieve the same high quality and deliver them from any of our centres, be they in Hangzhou, Budapest, Sao Paolo, New Jersey, Toronto, Tokyo, Melbourne or in different parts of India. In Clayton Christensen’s terminology it would no doubt qualify as a “disruptive business model” [2].

Innovation engine

Like any grand narrative it would be presumptuous to say that four decades ago TCS saw clearly its goal of industrialising software services, then charted the strategy, the path and, eventually, planned and executed to reach where it stands today. Like all big things, TCS started small with powerful ideas like Data Dictionary, a migration tool. TCS was involved in the software engineering standards and quality movement with IEEE from the very beginning. It also had to set up appropriate training of recruits, when there were hardly any colleges teaching computer science in India. TCS had to develop and set up processes to test and debug software.

In the late 1980s, TCS executed a large challenging project to set up the clearing and settlement system for banks in Switzerland. It was won against competition from established companies, purely on the basis of TCS’s innovative design. The project helped TCS “push the envelope” in all directions and also helped hone its software design and architecture skills as well as develop a core group of software architects. TCS also developed the systems required to integrate its client site work with the work done by teams of developers in India, known as ‘off-shoring’ and so on. 

In 1981, TCS set up its R&D centre, Tata Research Design and Development Centre (TRDDC) in Pune [3]. A strong group in software engineering took shape at TRDDC in the mid-1980s. The group started articulating and evangelising concepts of software engineering, some of which were already in practice within TCS. This group was able to develop a highly successful suite of Computer Assisted Software Engineering (CASE) tools and carried forward the work initiated by TCS Systems Group in a methodical way. At another level, TCS also internally evangelised the System Engineering approach to software problems.
The agenda now involved identifying reusable components, knowledge repositories, creating a software tool foundry, developing highly sophisticated reverse engineering tools for software maintenance. The jigsaw pieces of industrialisation of software development started falling into place. One of the byproducts of this industrialising process was the development of the highly acclaimed MasterCraft™ – a suite for automatic code generation once the business logic is fed into it [4].

Setting standards

On the front of standards TCS intensified its earlier work with IEEE and brought in SEI’s CMM philosophy into the organisation quickly. TCS is the world’s first organisation to achieve an enterprise-wide Maturity Level 5 on CMMI® and P-CMM® based on the most rigorous assessment methodology.

TCS has now combined its own vast store of home-grown processes with the best aspects of global standards, such as the SCMM, the PCMM, Six Sigma, ISO 9001 and the Tata Business Excellence Model, to develop its own proprietary quality model, the Integrated Quality Management System (iQMS™). TCS hopes that this archetype will soon become an industry standard.

The iQMS™ is central to project management at TCS; it comprises a major chunk of its DNA. This system provides guidelines for the conduct of every project and the means for monitoring it. Together with the various software development methodologies laid out by TCS’s software engineering process groups, iQMS™ lays out a comprehensive roadmap for each project. TCS has ensured that all its development centres, be they in China, Hungary, Chile, Brazil, Uruguay, US, Canada, UK, Singapore, India, Australia, Japan etc., follow the same processes and achieve the same high quality.

Learning from manufacturing

TCS could not have set up the software equivalent of Henry Ford’s assembly line, if it did not build an efficient supply chain. In the 1960s and 1970s TCS started working in close collaboration with the newly set up Indian Institute of Technology (IIT) at Kanpur, Bombay and Madras and later expanded the company’s academic interaction to over 200 engineering colleges in India and several universities abroad. Today, TCS’s Academic Interaction Programme covers a whole spectrum of activities from faculty development; curriculum development in some colleges; scholarship and financial aid to deserving graduate programmes as well as sponsored research and collaborative development of intellectual property.

In India, this programme has contributed to raising the standards of computer science and software engineering education. As a result, TCS could recruit over 100,000 high quality engineers in the last four years and move them through its strong internal training programme that covers everything from software engineering to soft skills. The spade work and internal systems have helped to absorb this large human resource into the organisation quickly and deploy them into large projects.

To make TCS operations more efficient it set up a system meant for a global services company, very similar in concept to ERP in manufacturing. This system covers everything – project billing, employee services, leave, pay roll and other HR services, internal communication, branding, online appraisal processes, knowledge management etc. Youngsters in TCS (incidentally, the average age in TCS is 26 years) thought that such an ultimate tool should be named Ultimatix, a la RenĂ© Goscinny and Albert Uderzo.

Truly global networked delivery

In global manufacturing, it is well recognised that Toyota has taken the assembly line revolution of Henry Ford to the next level by introducing distributed manufacturing, just in time manufacturing, single minute exchange of dies (SMED) etc., which collectively have come to be known as the Toyota Model [4].

Similarly, TCS had to take its software factory approach to the next level. As its client list and diversity grew across continents, the company could not remain an India-based software developer serving global clients. About a decade ago TCS realised that it needed to further globalise its software development system, which became possible due to the global telecom revolution. The solutions and products offered by TCS are in bits and bytes and not in steel or aluminium. Hence, in some ways, TCS could venture into uncharted territory where a brick and mortar manufacturer like Toyota could not physically go.

Initially, TCS created the hub-and-spoke system in global delivery where India was the hub and other centres were feeders. Today, however, TCS has gone further to an entirely new system where any of its major global development centres could act as a hub or an anchor for a global collaborative effort. This leads to reduction of time zone issues for clients; facilitates services in a variety of languages and cultures; allows real time collaboration and parallel development with teams sitting in distributed development centres and so on. It also brings out optimum utilisation of in-house expert resources. TCS clients also enjoy de-risking greatly from putting all the eggs into the basket of one centre. Incidentally, TCS already has over 10,000 non-Indian employees.

The TCS Global Network Delivery Model™ is the business equivalent of what Paul Baran proposed in his work entitled Introduction to Distributed Communications Networks for Rand Corporation, in 1964. It later became the conceptual framework for packet switched networks with no single centre, and no single path, like Arpanet and, ultimately, the internet [5].

The pioneering conceptual and systemic work done by TCS percolated to other Indian IT companies in the last 10-15 yrs and lo and behold, India now has a vibrant, highly competitive, and high quality software services industry! The author has been asked many times about an order of magnitude difference in size between software companies in India and China. Even IBM, Accenture and HP have very large development centres in India with tens of thousands of Indian engineers. Are the engineering human resources in China any less in quantity than in India? The answer, as we all know, is no. However, Chinese software companies lack scale and the largest among them have less than 5,000 engineers. The reason is simple: they have yet to master the industrialisation of software development.

Many observers have pointed out the role played by English education, mathematical and analytical abilities among Indian students, propensity of Indian youth towards science and engineering as careers, labour arbitrage etc., as the determining factors in the rise of Indian IT industry. No doubt all these factors have played a role.

However, all such deterministic analysis ‘forgets’ the human factor of leadership. It is similar to saying that if a country has steel, gasoline and machinists then they will have a vibrant auto industry! Without the genius and hard work of Henry Ford and Toyota, the global auto industry could not have reached the scale and sophistication that it has today. Similarly, without the development and adoption of software engineering methodology in TCS and other Indian companies, global software services would not be a vibrant large scale industry that it is today.

References
1. Ford, H. and Crowther, S., My Life and Work, Garden City Publishing Company, Inc., New York, USA (1922), www.gutenberg.net/etext/7213
2. Christensen, C.M., The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail, Harvard Business School Press, (1997).
3. Kanavi, S. (Ed.), Research by Design: Innovation and TCS, Rupa & Co. (2007).
4. Liker, J.K., The Toyota Way: 14 Management Principles from the World’s Greatest Manufacturer, McGraw-Hill Professional (2004).
5. www.rand.org/about/history/baran.html
Shivanand Kanavi
Global head, marketing and strategic communication,
CMC, Mumbai
shivanand.kanavi@cmcltd.com


No comments: