2010 Annual Meeting

Engineering a Flat World: An example from the software engineering discipline

Engineering in a Flat World
J.W. Marriot Hotel, Washington, D.C.
October 3, 2010

The Chairman, the President, members of the academy, and guests, it is a great privilege to address the finest engineering talent in the world. I thank this academy, the most prestigious engineering academy in the world, for electing me to be a foreign member.

I have benefitted immensely from globalization. In fact, my company, Infosys has leveraged the power of globalization for its growth. Therefore, I have decided to speak on “Engineering a Flat World, an example from the field of software engineering”. What is a flat world? Tom Friedman used the term ‘flat world’ to popularize the power of globalization. A flat world is a world that facilitates globalization to flourish. What is globalization? I will define it at two levels. At the macro level, it is about frictionless flow of capital, services, goods and labor across the globe. It is also about global sharing of ideas, knowledge and culture. It is about creating a shared concern and plan for fighting global issues like poverty, AIDS and environment. At the microeconomic or firm level, it is about sourcing capital from where it is cheapest, sourcing talent from where it is best available, producing where it is most efficient and selling where the markets are, without being constrained by national boundaries. Infosys, IBM and Nike are all good examples of globalization at the firm level. 

Globalization provides opportunity for every nation to offer the best-value-for-money products and services in the global bazaar without being restricted by bureaucracy, political hindrance or xenophobia. It provides a corporation with an opportunity to hire the best talent in the world, and to list on the best stock exchanges of the world. A globalized corporation is different from a multinational corporation (MNC). A MNC, generally, starts a subsidiary in a country to produce and sell in that country alone. A globalized corporation, on the other hand, produces its products for the entire world in a country or a region where it is cheapest to produce. In a typical globalized corporation, product development takes place where the human talent and innovation is best; production takes place at the factories situated in countries where it is most cost-effective to produce; and sales take place in countries with the required disposable incomes.

Globalization has indeed advanced significantly in industries where a corporation from a country or a region has a distinctive, monitizable competitive advantage to offer in the global market. Examples abound. The computer industry, investment banking, hospitality industry, and education sector are all clear examples of the prominent market share that the US has in the global bazaar, thanks to the distinctive competitive advantages and brand positions built up by the US companies and universities in these sectors.

A good example of leveraging the power of globalization is my own company – Infosys. In 1981, we realized that the demand for software in the developed world would skyrocket, thanks to reduction in prices of hardware and availability of inexpensive software engines that support robust, on-line transaction processing on minicomputers and super mini-computers. At the same time, we saw a tremendous shortage of skills in the developed world. Additionally, almost every prospect told us about the cost and time overruns in most software projects, and that they wanted to bring engineering discipline to large-scale software development. Being in India, we found a large supply pool of technically-trained talent with excellent work ethic available at very competitive costs. This led to the creation of the Global Delivery Model (GDM), a model based on collaborative distributed development model of software (CDDM). CDDM helps multiple teams spread across geographies to work together bridging time zones and distances to enhance productivity and to form a monolithic team to solve complex problems. In this model, about 20% to 25% of the total project effort involving heavy customer interaction is delivered by our people at or near customer premises while 75% to 80% of the total effort with little or no customer interaction is delivered from scalable, talent-rich, technology-based, process-driven and cost-competitive development centers in countries like India and China. This model combines the prime time of our customers in countries like the US and the prime time of development centers in India to create a 24-hour work day. GDM is essentially about creating an efficient, high-quality, high productivity and value-for-money software factory leveraging the talent pool available in countries like India. Such a model has resulted in the delivery of superior quality software at a fraction of the prevailing prices, thereby leaving money on the table for customers to invest in hiring local talent in other areas of competitive advantage for them.

What are the challenges of engineering a successful Global Delivery Model (GDM)? I will describe some challenges in setting up and operating such a virtual software factory linking up nations and continents. There are three challenges – scale, quality and productivity, and innovation. I will use the example of Infosys, my own company, to explain the managerial and technical challenges involved in operating such a model.

I will first talk about the managerial challenge of scale. Infosys, today, has about 110,000 software engineers spread over 90 countries. We induct about 25,000 new engineering trainees each year. Our philosophy is to recruit people with learnability. We define learnability as the ability to extract generic inferences from specific instances and use them in new unstructured situations. Such learnability is extremely important to us in solving customer problems in Information Technology (IT) since our competence has to span cultures, technologies and application domains. Such a learnability profile of our staff provides the ability to succeed in an environment where the only constant is change. Selecting these 25,000 graduates out of the 1.5 million plus applications we receive every year requires the company to invest heavily in large and constantly-updated on-line question banks, improved processes and systems, high quality recruiters and equip them with up-to-date technology to enhance parallelism in recruitment activities and improve their productivity.

Training the recruited engineering graduates is not a trivial task. We have a residential training facility in Mysore in South India where 25,000 to 30,000 engineers from all over the world go through a foundation course of 29 weeks of class room training in algorithms, data structures, operating systems, programming languages, data bases, communications, software engineering, performance engineering as well as soft skills. Leadership training is another important aspect of our curriculum. Ensuring the same level of training outcome from engineers coming from schools of varied quality from all over the world is not an easy task and requires lots of good ideas and effort. In addition to a full-time faculty of over 400 teachers, we use electronic learning, video conferencing, chat sessions and other social media technologies to achieve these tasks. Every year, we invite professors from well-known universities in India, the US, UK, Canada, Australia, France and Germany to review our syllabi and to update the knowledge of our in-house faculty on leading edge ideas in computer science. Since our training programs are fast-track and intensive requiring 13 to 16 hours of study and work every day, the company has built a campus that has 10,300 single bed rooms with state-of-the-art technology-based facilities for academic learning as well as recreational and physical exercise facilities. We are told that our Mysore facility is the largest and the most advanced corporate training facility in the world. 

Motivating large, multicultural teams spread across six continents to collaborate in solving complex technical problems is a huge challenge and our leadership institute is working with well-known leadership experts from India, the US and Australia on this complex problem.  

Now, let me get to the technical challenges. Ensuring uniform quality and productivity in large-scale software development is a challenge. Therefore, models, standards, systems, tools and processes that bring uniformity in quality and productivity across a large number of engineers are very important. The Capability Maturity Model (CMM) of the Software Engineering Institute (SEI) at Carnegie Mellon University is one such popular model. This model helps a company institute systems, tools and processes to constantly improve the quality and productivity of software development. The Indian software companies have been the biggest votaries of this model. Majority of the companies that have been certified at Level 5 or the Optimizing level (the highest level) of CMM are from India. Watts Humphrey, the father of this idea, is one of the most popular figures in the software industry in India. He is to the Indian software industry what Deming was to the manufacturing industry in Japan. I am glad that Dr. Paul Nielson, the CEO of SEI, is a fellow inductee today.

In addition to CMM, the six-Sigma model is used in ensuring quality in cross-functional processes. Thanks to investments in these models, over 95% of projects taken up under the GDM are completed on time and within budget against an average of only 45% of projects completed under the older models. This is a true win for our customers. It is estimated that there is a backlog of 250,000 to 300,000 person-years of software development and an even a larger quantum of software maintenance effort. The GDM provides a model to wipe out this backlog.  

Innovating new methods and algorithms to constantly reduce cycle time and cost, improve productivity, quality and response time to customers, and to improve work-life balance of staff in any large scale software development and maintenance effort form the main charters of SETLabs – Software Engineering and Technology Research Laboratories - at Infosys. SETLabs have 600-plus researchers. They work in Collaboration, Knowledge Management, Social Computing, Digital Convergence, Analytics, Virtualization, Cloud Computing, Integrated Systems and Software Engineering, and Performance Engineering. The SETLabs researchers are working in some of these areas with well-known universities in the US like CMU, USC, UIUC and Purdue.

Solving the right problem efficiently requires that we define the problem correctly and completely the first time. The large distance and the time zone difference between the team defining the problem and the team that is devising a technological solution to the problem makes this task even more difficult. Our challenge is to spend minimal amount of time with the customer, and obtain the necessary information about the problem to be solved so that there is a high level of integrity and completeness (obviously not 100%) in problem definition. Using formal and automation techniques in various steps of Requirements Engineering – from elicitation to definition and verification – has been an important area of research for SETLabs.

Pretty often, a large problem is split into multiple sub-problems which are then parceled off to development centers (DCs) around the world. The teams at these DCs start solving these sub-problems in parallel. Given that there are likely to be linkages amongst these sub-problems both in data structures and in algorithms, successful, distributed change management algorithms become very critical. Our researchers are working on techniques for intelligent breakdown of work, smart collaboration, optimized task distribution and parallelization in development. Advancing the state-of-the-art in project management and collaboration tools to improve coordination, visibility and control is another area of research at Infosys. We are building, in association with the University of Southern California, a highly extensible, event-based, collaborative software modeling framework that provides real-time synchronization and model consistency checking. Changes to the model are automatically propagated to geographically distributed designers, and the designers are automatically notified of possible conflicts arising from concurrent modifications.

Most often, our customers give us limited time to study the problem to be solved but expect a performance guarantee for response time for critical transactions in the system. This requires us to develop performance models for yet-to-be-developed systems on new and unproven technology only with aggregate level of information. Predicting the performance of critical transactions before the system is developed in such cases is a huge challenge. Performance study of systems with millions of users, as happens in web-based systems, requires simulation models that use low user-load points and then extrapolate application performance outcomes to high-load situations. This is an important area of research for our researchers.

While challenges are plenty, the talent, tenacity and the confidence to tackle these challenges is even more impressive, thanks to institutions like yours. Therefore, I have no doubt that USNAE will continue to be a boon to this planet in making this a better world for all of us. Thank you.