National Academy of Sciences | 150 Year Anniversary

Questions? Call 800-624-6242

| Items in cart [0]

The National Academies Press

PAPERBACK
price:$54.00
add to cart

Rights & Permissions

topleft topright

The Offshoring of Engineering: Facts, Unknowns, and Potential Implications (2008)

Citation Manager

. "Software-Related Offshoring--Alfred Z. Spector." The Offshoring of Engineering: Facts, Unknowns, and Potential Implications. Washington, DC: The National Academies Press, 2008.

Please select a format:

BibTeX EndNote RefMan


Page
196
bottomleft bottomright

The following HTML text is provided to enhance online readability. Many aspects of typography translate only awkwardly to HTML. Please use the page image as the authoritative form to ensure accuracy.


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,

Page
196
Front Matter (R1-R10)
Executive Summary (1-4)
Part I: Consensus Report, 1 Introduction (5-9)
2 Offshoring and Engineering: The Knowledge Base and Issues (10-19)
3 Effects of Offshoring on Specific Industries (20-32)
4 Workshop Findings and Discussion (33-41)
Additional Reading (42-44)
Part II: Commissioned Papers and Workshop Presentations, Commissioned Papers, Implications of Globalization for Software Engineering--Rafiq Dossani and Martin Kenney (45-48)
Implications of Globalization for Software Engineering--Rafiq Dossani and Martin Kenney (49-68)
The Changing Nature of Engineering in the Automotive Industry--John Moavenzadeh (69-102)
Offshoring in the Pharmaceutical Industry--Mridula Pore, Yu Pu, Lakshman Pernenkil, and Charles L. Cooney (103-124)
Impact of Globalization and Offshoring on Engineering Employment in the Personal Computing Industry--Jason Dedrick and Kenneth L. Kraemer (125-136)
Offshoring of Engineering Services in the Construction Industry--John I. Messner (137-148)
Semiconductor Engineers in a Global Economy--Clair Brown and Greg Linden (149-178)
Workshop Presentations, Implications of Offshoring for Engineering Management and Engineering Education--Anne Stevens (179-183)
An Academic Perspective on the Globalization of Engineering--Charles M. Vest (184-190)
Keynote Talk on the Globalization of Engineering--Robert Galvin (191-194)
Software-Related Offshoring--Alfred Z. Spector (195-201)
Implications of Offshoring for the Engineering Workforce and Profession--Ralph Wyndrum (202-208)
Industry Trends in Engineering Offshoring--Vivek Wadhwa (209-212)
Offshoring in the U.S. Telecommunications Industry--Theodore S. Rappaport (213-218)
Appendix A: Workshop Agenda (219-222)
Appendix B: Workshop Participants (223-228)
Appendix C: Biographical Information (229-230)