Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.
Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.
OCR for page 195
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications Software-Related Offshoring1 Alfred Z. Spector I’ll begin with four rather simple observations about software. Although they are simple, I believe they are important to any discussion of software-related offshoring: There is a global leveling of opportunity in the software field. The software field is very large, and its subcomponents include many diverse practices and skills. Terrific opportunities for innovation in software remain, and demand for software should increase as prices decline and innovation continues. Economists would say there is both high-price and high-innovation elasticity of demand. As applications of information technology continue to increase rapidly, they provide increasing opportunities and reinforce the centrality of software to science, engineering, and, indeed, society at large. To illustrate some of these points, I will continue with a brief description of some offshoring activities by IBM, where I was recently vice president of strategy and technology for the IBM Software Group. Then I will talk about the implications of offshoring for growth in the software field, the impact of diversity in the software industry on the potential competitiveness of different populations, the importance of the software industry to our society, and—finally—that the United States cannot expect to dominate the software industry they way it once did. I will then propose three possible scenarios for the future. In Scenario 1, although offshoring continues, the United States retains its dominant role in many segments of the software field as a result of the differentiation I mentioned above. In Scenario 3, I present a worrisome picture of accelerating migration of software jobs overseas as talent in the United States dries up, perhaps the result of an expectation-driven downward spiral. In Scenario 2, I describe an intermediate situation in which many traditional programming-related jobs migrate, but high-value growth both in the field and around its periphery is sufficient to sustain the industry in the United States. Finally, my primary conclusion is that we must attend to the talent available in the U.S. labor pool. It seems self-evident that unless we have a sufficient number of enormously talented individuals, whether U.S.-born or immigrants, who have been given the best training in the world, we will gradually drift toward Scenario 3. I also briefly mention that we must vigilantly protect the laws and economic structures that encourage continuing investment in both new research and novel businesses that generate the opportunities on which we will depend. MESSAGE 1: WORLDWIDE LEVELING To introduce my first observation about the global leveling of opportunity, I’ll tell you a personal story. In the summer of 1973, at the end of my freshman year at Harvard College, I got a programming job at Harvard. I recall vividly one particular morning, after I had pried myself out of Alfred A. Spector is a consultant and former vice president of strategy and technology of IBM Software Group. 1 The views expressed herein are the author’s and not those of institutions with which he is affiliated.
OCR for page 196
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications bed early in the morning and headed off to the then-extant Harvard Aiken Computation Laboratory to write and debug code, I found myself the sole user of the Harvard PDP-10 research time-sharing computer. This was my reward for getting up before 5:00 a.m. The PDP-10 ran at roughly 400,000 instructions per second. It had less than half a megabyte of memory and a few megabytes of disk storage; we used small magnetic tapes, called DEC tapes, for all long-term storage. Even in that early era, the Harvard PDP-10 was networked with a few other computers via the ARPANET, the predecessor of the Internet. In fact, in my work I regularly accessed computers at MIT and Carnegie Mellon. At the time, I didn’t know how much the PDP-10 cost. However, I did a little research for this presentation, and I believe that it would have cost about $2 million in today’s dollars. In addition to pursuing my debugging work, I remember my mind wandering and contemplating my career options. At the time, I was considering going into economics and journalism, but I was also thinking about computer science. That early morning I do remember explicitly thinking about the comparative advantage I had as a student at a U.S. university, capitalized by my very own PDP-10 (at least at 5:00 a.m.), and thinking about all the folks in Europe who had minimal computational access (note that Europeans used to do much less hands-on computer science because of this). At the time, I never even considered India and China as having any software capabilities. I believe my unquestionable comparative advantages impacted my career choice. Almost 35 years later, the contrast is clear. Modern computation and networking are four to five orders of magnitude better, cheaper, and more ubiquitous than they were then. And most necessary information is on the Web. Take just one example: MIT’s plan to put most of its instructional materials on the Worldwide Web. Even machine translation is making some progress making information available in multiple languages. Thus leveling of opportunity is undeniable. This leads me back to my first observation. A U.S. student going into the field of computer science today does not have as great a comparative advantage as a student even 10 years ago. This is not a reason to avoid computer science and software, but it is important to recognize that the U.S. advantage has decreased. MESSAGE 2: A VERY DIVERSE FIELD OF ENDEAVOR The second point I want to make is that “software” or “information technology” is not one large, coherent, aggregated profession, but is instead a very diverse field. This is partly because it is a very big field—more than a trillion dollars are spent on software worldwide (in aggregate). To illustrate this diversity we can look at four different “cuts” across the variety of activities in and around software (Figure 1). The first cut considers software from the vantage point of software production. Here are some aspects of the process, although not all of the elements I’ve listed are applicable to all software production: conceptual work as a basis for deciding what can and should be done competitive analysis to determine how to succeed in the market work on requirements as a basis for making a formal decision about what a program must do various perspectives for considering the design of a system: the human interface the security of operation the robustness of operation in the presence of faults other factors development of the high-level design of the major modules and information structure of a program the low-level design of individual modules coding porting to alternative platforms formal and informal verification testing of components, modules, and systems evaluation and tuning of performance intellectual property protection and licensing development of documentation/information and national language support packaging and delivery project management Undoubtedly, many more activities could be added to this list. The second cut across the field, the application domain of software, influences development processes in many ways. Systems software (e.g., operating systems, database management systems, server infrastructure, middleware) that run continuously have different requirements, such as robustness and scalability, than tools that are executed and re-executed periodically. Packaged applications that are sold to numerous customers have different requirements (e.g., significant expertise requirements in the huge number of potential application domains) from programming tools, although they must still be of use to a variety of customers within a particular industry or problem domain. Custom applications for one or a few uses or customers may be considerably easier to develop because they require less generality, and there is, therefore, less of the combinatorial explosion that makes packaged software so expensive. These different types of applications also require significantly different production methodologies. Even in each of these application areas, there are many approaches to developing software: The traditional waterfall method is a common baseline,
OCR for page 197
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications FIGURE 1 The diversity of software activities. but as requirements and designs are refined, every step might need to be revisited requiring cycles in development processes. Interest in modular assembly (e.g., web service-based development or previously object-oriented techniques), with its greatly reduced emphasis on new coding, is increasing. The newest incarnations are “mash ups,” connected groupings of reusable components that provide a new function, often intended for a modest-sized audience. Simplicity of assembly is the focus, and success is based on the existence of a massive, society-wide capital plant of increasingly modular components, such as maps, calendars, group bulletin boards and editors, etc. Open-source techniques have been remarkably effective for creating good software. To the amazement of some, volunteer groups in modest organizational structures, often using many preexisting software components, are proving adept at developing quality software. There is no agreed-upon standard methodology for creating software (and there may never be); so software development is not amenable to rigid standardization. Creating software-development organizations is not like designing a semiconductor fab, for which one can create a design that can be cloned in whatever locations have the most favorable cost or regulatory structures. Software development is too variable for that. Finally, the last cut attempts to capture the important interactions with the world around software including other items that go into the software life cycle. For example, one cannot undertake the automation of a medical procedure without understanding the impacts of failure, FDA requirements for proof of safety and efficacy, and much more. Automation strategies, the creation of business models for supporting software, an understanding of the management of holistic systems in which software will operate, and an increasing focus on risk and compliance management must all be considered part and parcel of the software field. I suspect that with more time and thought we could fill out and enlarge this multidimensional matrix in each dimension. We can conclude, however, that software is a very diverse field. Thus, when we consider offshoring, we must remember—and this is my second message—that there is great variability in software objectives, job types, and practices around the world. Thus, even if a population somewhere
OCR for page 198
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications becomes very, very good at one aspect of software, the field is so diverse that it is unlikely that population, or any population, will be very, very good at everything. If, when we think “software” we think only “coding,” we miss the big picture. MESSAGE 3: UNBOUNDED OPPORTUNITY My third message is that software offers unbounded opportunities. I emphatically disagree with those who say that software opportunities are fading away and that the bloom is off the rose. Software is a synthetic discipline for creating the logic to encode virtually anything! Software is also operational in the sense that it is a constructive synthesis that generates useful entities that work and produce value. The target domain for software is broader and more varied than for other fields of engineering. Software has applications in all areas of human interest and all human endeavors. I believe software people are ambitious. They (we) feel that those magnificent computational engines, called computers, along with their storage, communication, and I/O capabilities, are capable of vast, nearly infinite brilliance. First, consider the most traditional space of software: enterprise computing. Even the most mundane application system in any corporation has a backlog as far as you can see for improvements, endless requirements that have not been met. This necessitates a continuing prioritization process. When I managed software products at IBM, we always(!) had much more to do than we could do with available resources. So we are not running out of even the most traditional work. More important, consider the plethora of uses for computing that have been postulated. Very gradually, we are getting to some of these, but we have a huge backlog. I submit that most of the “fantasies” about computer applications will eventually come true. Whether playing chess, supporting autonomous robots, providing universal access to information, answering questions, or you name it, these and many other uses for computing just keeping coming. Some argue that Moore’s law will meet its limits in the near term and slow innovation. Even if this were true, we have massive underutilized capacity today. Even if we hit a brick wall tomorrow, it would not have a great impact. Second, although nothing grows to the stars, frequency and density scaling are continuing (particularly the latter), and this growth will continue for a while, for many reasons. Third, given the very low manufacturing cost of silicon devices, we can have as much processing power as we want as long as we are willing to embrace parallelism. The world’s fastest computers are already made up of tens of thousands of processing units, and there are no limits to their feasible expansion. Although exploiting parallelism is sometimes challenging, the challenge itself opens up fascinating opportunities. So what are the factors that could limit growth? First, design and engineering costs are the primary reasons we can’t implement all of the requirements and make rapid enough progress to meet grand challenges. Apparently, it’s not cost-effective to tackle some of these, or, presumably, rational firms would do so. Clearly, it’s not the marginal cost of production (duplication or transmission) that is stopping us. There are also management and operational costs associated with deploying software. When we software people generate new software, we often forget to take into account the life-cycle costs of maintaining and managing it. Management and operational costs are important factors that limit the impact of software. Finally, a lack of innovation is always an impediment. For many years, people think something cannot be done. Then a breakthrough occurs, and we begin to do it. For example, there was once a general consensus that we could not do “artificial intelligence.” Then, all of a sudden, we had a winning chess program and Internet-scale search engines. Maybe neither is perfect, but both are exceedingly good. If the initial entry in an application domain is successful, market forces stimulate iterative enhancements that generate a long stream of continuing advances. Thus my third message is that software is a field that offers tremendous opportunities for the future. The level of opportunity has not reached its peak. There is a tremendous amount still to be done, and given that the major stumbling blocks are not the lack of opportunity, but limited cost-effective resources and talent (innovation), I submit lower prices and greater innovation will spur more demand for people—that is, there is high price and innovation elasticity of demand for software people. MESSAGE 4: THE EXPANDING SPHERE OF SOFTWARE My fourth and last point is that the field of software is not just concerned with refining past achievements. The field is expanding (Figure 2). In November 2004, I gave a talk entitled “Research on the Edge of the Expanding Sphere” at Harvard’s Center for Research on Computation and Society. The message of that talk was that the software field clearly has a core, say, inside a sphere. Today, that core includes, for example, the study of algorithms, compilers, operating systems, distributed computing, et cetera. However, every year, the sphere gets bigger. For example, when I was a Ph.D. student in the 1970s at Stanford, there were six elements to the field of computer science: algorithms, complexity theory, software, artificial intelligence, numerical methods, and architecture. Since then, the field has grown incredibly in two ways: The density of elements inside the sphere has increased. There is more in operating systems today than
OCR for page 199
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications FIGURE 2 The software sphere is simultaneously denser and expanding. there was 30 years. There is a lot more in programming. There is a lot more in artificial intelligence, the study of algorithms, and so on. The sphere has also expanded into new domains that were once unrelated to software. Examples include e-commerce, social networking, bio-informatics, e-voting, and very many more. So there are immense opportunities in what I refer to as CS + Xi, for many values of Xi. The Xi could be art, computational biology, medical informatics, entertainment and gaming, sensor networks, and so on. CS + Xi has an impact on all aspects of the economy and on the way we conduct science as massive growth in these hybrid software-related activities continues. For example, our ability to measure all sorts of natural phenomena with very low-cost sensor networks will continue to revolutionize some aspects of engineering, but also of science. Take another example, something in which all of us have an interest, the relationship of software to health care, a circa $2 trillion industry in the United States alone. Most people believe that many hundreds of billions of dollars are wasted because of a lack of good information technology support, and that health care suffers as well. This topic, because of its scale and urgent need for creative solutions, will undoubtedly generate significant incremental demand for software. My list of examples could continue. IBM AND GLOBALIZATION As the recent vice president for technology and strategy of the IBM Software Group, I should say a bit about IBM’s recent moves toward globalization. IBM’s chairman and CEO, Sam Palmisano, has explained the many reasons IBM has created an overseas technical presence. These include proximity to markets, the capability of understanding overseas markets, the availability of talent, lower costs, and so on. In the past 10 years, IBM’s presence in India has increased dramatically, especially in the last few years. Mr. Palmisano reported in June 2006 that IBM had 43,000 Indian employees out of a total of 340,000 employees.2 Thus India now has the second-largest IBM employee population in the world. A tremendous variety of jobs are filled by Indians. Most are in IBM’s vast services business and involve custom application development, systems management, and call-center automation. However, about 5 percent of the Indian employees produce packaged software for the circa $15 billion IBM software business; this percentage is somewhat low because of the particular skill/experience requirements of that business. So, as I mentioned earlier, it is much more difficult to move certain software-related jobs overseas than others. IBM has a somewhat larger number of software-group employees in China, interestingly enough, which is a little bit inconsistent with the prevailing wisdom that India is the developing IT powerhouse. I’m not sure of the reason for this, but quality English is not as much a requirement in the development of packaged software products as it is in service-related jobs that involve direct interaction with customers. Based on my experience in the software business, I can explain the factors that influence a decision about where to locate employees: 2 In early 2007, after this talk was given, the number had risen to 53,000.
OCR for page 200
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications Talent, experience, and maturity of the teams. Software has sufficiently high margins that talent, quality, experience, and maturity can mean more than costs per hour. Organizational capability, including managerial leadership and—importantly—technical leadership. The lack of leadership tends to be the most difficult impediment to growing teams in new locales. Capability in a wide range of software activities, including interfacing with project management, customers, sales teams, and finance teams. These activities are not ancillary to software; they are a core part of the business. Co-location with a market. This is related to the previous point but bears repetition. And, very important, lower labor costs. Let me describe one situation in which IBM moved some software development from England to India fairly recently. IBM had a few tens of people doing somewhat repetitive, but still high-skill, high-profile, Java-related work in England. It took about a year-and-a-half to make the transition to India, during which time the English and Indian teams had to work together closely. The move was successful, with much of the work now being done in India. To the best of my knowledge, the English team was not unhappy because members felt there would be new, more exciting work to replace what they had been doing. That is, the move freed up the talent in England to do things that would generate more revenue growth and employment. Overall, in the position I held at IBM, my biggest worry was always about leadership. The same need for talented leadership was also important in offshore software research—and was a persistent problem throughout the decade or so when I visited IBM’s newer research sites. IMPLICATIONS I have discussed four observations relating to (1) the global leveling of opportunity in software, (2) the great variety of objectives, job types, and practices in software, (3) the high elasticity (price and innovation) of demand, and (4) the interaction and mutual impact of software and computer science on more and more fields of human endeavor (my shorthand for this last point is Xi (CS + Xi)). The most important implication is that there are vast opportunities in software. The technology provides sufficient benefits to ensure employment for many populations, with no obvious limits. This has not been true in other areas or other U.S. industries, where there has been significant degradation. Perhaps, for example, only so much innovation occurred in the steel industry over the years, and there is only so much demand. I do not believe there are similar limits in software (Message 3). Second, because of the variability in the field, some populations have comparative advantages. One can differentiate to gain comparative advantage in many ways—talent, experience, capitalization, location, trust, risk, and so on. Take just one example, the need for trustworthy systems as software moves into life-critical domains. I believe the application of software to other fields and vice versa will be increasingly important to opportunities for differentiated innovation. A situation may require not just software talent, but also multidisciplinary critical mass (Messages 2 and 4). Just because of its centrality in so many fields, computer science and software are important. The ability to lead in IT development and IT applications continues to be important for our security and our economy (Message 4). Finally, global leveling means that Americans cannot take software leadership for granted (Message 1). SCENARIOS FOR THE FUTURE To crystallize my, and perhaps your, thinking on the impact of offshoring, I’ve developed three admittedly overly simplistic scenarios. Scenario 1 Certain activities, such as testing, integration testing, internationalization (to make software ready for use in many countries), and coding are much less expensive because of offshoring. Nevertheless, elasticity of demand is still high, so lots of opportunities remain for talent in the United States. Dollars saved by the reduced costs of offshoring of certain activities are available for higher value activities that encourage growth in overall output and employment. U.S. innovation, employment, and economic contributions increase. I think this scenario is not only possible, but is also the most likely to be realized. When I was at IBM, if development had been more cost effective, more development would have been done, much of it naturally in the United States. To make this scenario even more comforting for the long term, certain coding, testing, and design activities would remain in the United States to ensure that American universities, labs, and corporations retained sufficient skill and training capabilities and to prevent insidious “technical hollowing out.” The United States is likely to retain some jobs across the spectrum for two reasons: (1) if all members of a team are co-located, the work goes faster; and (2) overseas cost benefits tend to decrease as workforces there gain skills and experience (note the significant wage inflation for talented Indian software professionals). Scenario 2 In this scenario, more and more employment in the central sphere moves offshore. But, the software field continues to change fast enough to generate new subdisciplines or, if you
OCR for page 201
The Offshoring of Engineering: Facts, Unknowns, and Potential Implications will, “superdisciplines” based on hybrids of software and other endeavors. Although the United States may have lost competitiveness in significant aspects of the core of information technology, the country’s attention has turned to topics related to CS+Xi thereby providing continuing opportunities. As long as high value is created in these hybrid activities, this is a good outcome. An analogy is to think of our jobs arranged in a pyramid. As certain jobs at the bottom of the pyramid migrate overseas, the outcome is fine as long as we can move to the top of the pyramid, which of course keeps growing higher. Scenario 2 is optimistic and possible with a field as open ended as software and CS+Xi. Scenario 3 This scenario is pessimistic. When certain activities move offshore, our students and funding agencies take this to mean that opportunities in software have dried up. As a result, U.S. talent dries up, creating a downward spiral. Although there may still be elasticity of demand for innovation, we no longer have the capability to innovate. Given the centrality of software to everything in our lives, this has profound, negative implications throughout the country. I consider this scenario a risk. CONCLUSION Given that software is central to so much in our lives, I believe IT is a crucial fulcrum for American prosperity. I think leadership in aspects of software, particularly the most innovative aspects, is important for the United States. This does not mean we must dominate all elements of software, which is fortunate, because we cannot dominate software as completely as we did in the past. I also do not think software leadership is incompatible with significant offshoring. However, we must remain strong in areas of differentiated value. As I consider what we should do, my obvious conclusion is that we should attend to our future workforce. We must have a creative workforce that has high value compared to others around the world and that can keep us on the leading edge of high-value opportunities. Ensuring that we have this workforce will require both in-depth and interdisciplinary education. I think we don’t yet fully understand the requirements and advantages of interdisciplinary education. With our flexible institutions, the United States may be better than most at “interdisciplinarity,” but, when teaching people about computer software and the fields in which we need software applications, interdisciplinary education will require a great deal of careful thought and planning. It is one thing to argue for a better educated populace. It is something far different to suggest exactly what we should do: incentives, curricula, organizational structures, ethnic and geographical diversity, and so on. It will take some very deep thinking to get these things right. I believe it is time we revisited these topics in far greater depth than we have so far! When we think of our future workforce, we must also think about immigration. There have been discussions in academic circles about how difficulties in getting into the United States have reduced the immigrant graduate population. Although we want native-born Americans to go into science and engineering, we cannot afford to lose the creative, entrepreneurial immigrants who are integral to our talent pool—and who have done so much for our country throughout our history. Finally, we must retain economic incentives to encourage people to pursue an education, to work hard and be creative, and to accomplish great things. We must have the right laws to enforce business ethics and honesty, but we must not go overboard in a way the drives the locus of industry off shore.