Bruce's Photo

    A Review of "Decline and Fall of the American Programmer"

Speech notes prepared for Computer Ethics class
4/16/2000, by Bruce Neufeld

Overview

Edward Yourdon’s book, "Decline and Fall of the American Programmer" is a pessimistic view of the state of software engineering (SE) practice in America in the early 1990’s. It begins with the statement "The American programmer is about to share the fate of the Dodo bird." (Yourdon 1) Yourdon’s thesis is that international competition will bring about the demise of homegrown program development in a way similar to the influx of foreign automobiles in the 1970’s and 1980’s. He suggests that it is particularly ironic that the methodologies being used by insurgent foreign software developers were originated by, and are being ignored by the American data processing industry. The primary focus of the book is on software engineering methodologies, as they existed in 1991. The author makes a strong case for the formalization and codification of methods used by software developers. Perhaps as a justification for the book’s title, Yourdon provides valuable insight into the software development environment in India. The last section deals with the reading habits of programmers, complete with a list of suggested reading, geared towards technical and philosophical issues.

No Silver Bullet

After pronouncing the American software industry "dying", the author provides the anecdotal evidence of many industry insiders to show that there are "no silver bullet" solutions to the problems in software engineering. Every system described in the book is shown to have serious problems in the real world.

Peopleware

The book contains a section devoted to idea of "peopleware," the concept that human factors often outweigh technological concerns, focusing primarily on management styles. This section relies heavily on quotations from various software industry authorities. Perhaps the most telling point made by the author is related to the job mobility of the typical programmer. While American programmers tend to be hyper-mobile in their careers, the Japanese model tends towards long-term stability, even lifelong association with one employer.

Software Engineering

The majority of the book is dedicated to the author’s solutions to the problem of the decline of the American programmer, in the form of discussions of the various aspects software engineering. The following is a summary of each section.

SEI Process Maturity Model

The author advocates the use of the SEI (Software Engineering Institute) Process Maturity model. The model consists of five levels used to assess the quality of a software development organization. Much like Abraham Mazlo’s hierarchy of human needs, the SEI model begins at a basic subsistence (initial) level and proceeds through the various levels to an "optimizing" level. Not surprisingly, Yourdon rates most data processing organizations at level one or level two.

Software Methodologies

Next, the book focuses on software methodologies. The waterfall life cycle and modern variants are described in detail. Structured and information engineering methodologies followed by the newer object oriented methodologies are discussed, with no strong recommendation of one over another. Yourdon recommends that organizations find a model they are comfortable with, given their level of expertise and size.

CASE Methodologies

CASE (computer aided software engineering) programs, which were fairly new at the time the book was written, are advocated as the wave of the future. Issues that seem arcane today, such as screen resolution and color are given grave impact. Yourdon strongly suggests that smaller IT shops refrain from using any serious CASE tools until they reach level two or three on the SEI model. By stage three, he states, IT shops should be using more advanced CASE tools.

Software Metrics

Yourdon then discusses software metrics, ways of measuring software and programmer performance. He states that less important human activities, like professional sports, take advantage of metrics every day, while technologically important activities like programming are failing to use their own strengths to do the same. He discusses various areas of measurement, such as programmer productivity, program speed, size and defects.

Software Quality Assurance

Closely related to metrics is the area of software quality assurance. The author makes the case that foreign data processing shops have a much higher emphasis on quality.

Software Reusability

As a contributor to productivity, software reuse was just beginning to be discussed seriously by writers in the early 1990’s. Yourdon advocates reuse through object oriented methodology, which was a threshold technology ten years ago. Given the current state of the art, this section comes across as somewhat naïve. The strongest point Yourdon makes, however, is the aspect of how an IT organization decides the value of making reusable components against a project’s schedule pressures. He argues that the typical American IT shop tends to go for short term gains over long term gains, which is reflected in a much smaller collection of reusable components.

Software Reengineering

Yourdon suggests that restructuring, reengineering and reverse engineering are methods that need to be used to increase productivity. A lot of what he suggests is reminiscent of Fred Brooks’ "Mythical Man Month," and his "plan to make two" concept. Basically, the idea is that systems tend to not work correctly the first time out. A second design effort, often years later, to a program has the potential to undo the problems of the original. Then again, as the author states in his three myths, there is no guarantee that the reengineered program will be any more viable than the first.

Future Trends

The author’s attempt to predict future trends is very interesting. Moore’s law, the doubling of speed, the halving of cost and size every 18 months plays a big part in Yourdon’s predictions regarding hardware. Less impressive are the predictions concerning software development. He felt that by 2000, software generators, working from specifications only, would dominate the market. The most apt quote is, "technology advances faster than we think, and people change more slowly." (Yourdon 274)

Ethical Issues

This book does not deal overtly with ethics. However, strong inferences can be made from many of the recommendations the author makes. The issues of software quality and productivity are a direct reflection on the work ethic of the producers of software. Even more important, safety related issues in software challenge programmers to balance the pressures of the workplace and market forces with the risks associated with their products. In his section on software quality, Yourdon makes the statement that if a programmer cannot convince his organization to focus on quality, "be prepared to vote with your feet." (Yourdon 212) In that sense, Yourdon’s book deals more with the question of how to be ethical in the programming field, rather than the question, "why be ethical."

Conclusions

The book does a good job of providing an overview of the state of the art in software engineering in the early 1990’s. The dire prediction of the fall of American programmers has not come about, due to developments not easily foreseen ten years ago. The sustained economic growth of the 1990’s coupled with the explosive growth of the Internet has more than offset the problems noted by the author in 1991. But more importantly, perhaps, is the adoption of many of the techniques advocated by Yourdon and others in the software engineering community. I would recommend this book to anyone interested in the history of software engineering.

Works Cited

Yourdon, Edward. Decline and Fall of the American Programmer.
      Prentice Hall. Englewood Cliffs, New Jersey. 1993.

Last updated
All code, editorial content and images copyright © 1994-2008, Bruce Neufeld, unless otherwise stated.

Return to Home Page
Go Back