Chapter 1 Issues—The Software Crisis
Total Page:16
File Type:pdf, Size:1020Kb
Chapter 1 Issues—The Software Crisis 1. Introduction to Chapter This chapter describes some of the current issues and problems in system development that are caused The term "software crisis" has been used since the by software—software that is late, is over budget, late 1960s to describe those recurring system devel- and/or does not meet the customers' requirements or opment problems in which software development needs. problems cause the entire system to be late, over Software is the set of instructions that govern the budget, not responsive to the user and/or customer actions of a programmable machine. Software includes requirements, and difficult to use, maintain, and application programs, system software, utility soft- enhance. The late Dr. Winston Royce, in his paper ware, and firmware. Software does not include data, Current Problems [1], emphasized this situation when procedures, people, and documentation. In this tuto- he said in 1991: rial, "software" is synonymous with "computer pro- grams." The construction of new software that is both Because software is invisible, it is difficult to be pleasing to the user/buyer and without latent certain of development progress or of product com- errors is an unexpectedly hard problem. It is pleteness and quality. Software is not governed by the perhaps the most difficult problem in engi- physical laws of nature: there is no equivalent of neering today, and has been recognized as such Ohm's Law, which governs the flow of electricity in a for more than 15 years. It is often referred to as circuit; the laws of aerodynamics, which act to keep an the "software crisis". It has become the longest aircraft flying stably in the air; or Maxwell's Equa- continuing "crisis" in the engineering world, tions, which describe the radiation of energy from an and it continues unabated. antenna. 7* 1 In addition, software is not manufactured like has been pointed out in the press [2], the State of Cali- hardware; it does not have a production phase nor fornia has had problems with computer projects of manufactured spare parts like hardware; it is typically over $1 billion in value, and the problems resulted custom-built, not assembled from existing components from the acquisition policies of the State of California like hardware. Even in today's society, software is (how contractors and consultants are selected and viewed with suspicion by many individuals, such as managed by the State), and from hardware-software senior managers and customers, as somewhat akin to integration difficulties, as well as from causes strictly "black magic." related to software development. The result is that software is one of the most diffi- The article identifies the first use of the term cult artifacts of the modern world to develop and "software engineering" in a 1968 conference of the build. NATO Science Committee in Garmisch, Germany. (See also the Bauer article in this Tutorial.) Many 2. Introduction to Papers approaches that have been proposed to improve soft- ware development are discussed; the author feels that The opening paper fortuitously appeared in a most of these ideas have not lived up to the expecta- recent issue of Scientific American as the editors were tions of their originators. Also discussed is the idea casting about for a way to incorporate a recent rash of that there are no "silver bullets." (See the article by high-publicity software problems into the motivation Brooks in this chapter.) for this tutorial. The paper defines and presents essen- The Scientific American article looks favorably on tially all the major issues currently plaguing software the use of formal specification methods to solve the development and maintenance. The article is problem of software quality, and on "software reuse" "popular" rather than technical in the sense that it is (the ability to use a software product developed for journalistic in style and focuses on popular perceptions one application again later for another application) to of software as "black magic," but it raises many is- solve the productivity or cost problem. sues that software professionals need to be familiar The Software Engineering Institute's Capability with. It is also worth noting that many of the prob- Maturity Model was also favorably mentioned (see the lems described are partly or largely due to non- article by Paulk, Curtis, Chrissis, and Weber in this software issues such as politics, funding, and exter- Tutorial) as a motivation to software developers to nal constraints, but again the software professional improve their practices. The paper reports an SEI needs to know that problems unrelated to software finding that approximately 75 percent of all software engineering must overcome if software projects are developers do not have any formal process or any pro- to be successful. ductivity or quality metrics. The term "software crisis" not unexpectedly origi- Because software development depends on an edu- nated with the military, for that is where large, com- cated workforce and good communications rather than plex "real-time" software was first developed. More on a fixed plant of any kind, software is inherently a recently, as civilian and commercial software systems suitable export product for developing countries. have approached and exceeded military systems in Although the US is still strong in software design and size, complexity, and performance requirements, the project management, the article notes that third world "software crisis" has occurred in these environments countries—notably India and Far Eastern countries— as well. It is noteworthy that the Scientific American are capable of producing many more "lines of code" article mentions military systems only peripherally. per dollar. The article begins with a discussion of the highly- A sidebar by Dr. Mary Shaw provides a view of publicized and software-related failure of the baggage software engineering's history, and of how that history system at the new Denver International Airport. As of may serve as a roadmap for software engineering's the date of the article, opening of the airport had been future. Finally, the paper urges education of computer delayed four times, for almost a year, at a cost to the science students in software engineering as an essen- airport authority of over $1 million a day. tial step toward resolving the software crisis. Almost as visible in recent months, and also men- The second and last article in this chapter, "No tioned in the article, are failures of software develop- Silver Bullets: Essence and Accidents of Software ment for the Department of Motor Vehicles (DMV) of Engineering," is by Fred Brooks, one of the legendary the State of California, and for the advanced air traffic figures in software engineering. He has been called the control system of the US Federal Aviation Admini- father of software engineering project management in stration (FAA). The DMV project involved attempts to the United States. He worked at IBM in the 1960s and merge existing, separately developed systems that was the software project manager for the OS/360 managed driver's licenses and vehicle registrations. As operating system. 2 This paper, which he wrote in 1987, states that "no • Unified programming environment single technique exists to solve the software crisis, that there is no silver bullet." The easy problems Brooks also cites the Ada language, object- ("accidents") have been solved and the remaining dif- oriented programming, artificial intelligence, expert ficulties are "essential." He views the solution to the systems, and "automatic" programming (automated software crisis as a collection of many software engi- generation of code from system specification and neering tools and techniques that, used in combination, design) as technologies with the potential for improv- will reduce or eliminate software problems. Although ing software. From the perspective of another eight Brooks sees no single solution to the software crisis, years, the Al-related technologies for the most part no single technology or management technique, he have yet to fulfill the potential that Brooks saw for does see encouragement for the future through disci- them in 1987. plined, consistent efforts to develop, propagate, and exploit many of the software tools and techniques that are being developed today. (In a report, also written in 1987 [3], Brooks states his belief that most software development problems of the US Department of Defense are managerial rather than technical.) 1. Royce, Winston, "Current Problems," in Aero- space Software Engineering: A Collection of Con- Brooks believes the hard part of building software cepts, edited by Christine Anderson and Merlin is the specification and design of a system, not the Dorfman, American Institute of Aeronautics, Inc., coding and testing of the final product. As a result, he Washington DC, 1991. believes that building software will always be hard. 2. "State Fears a Computer Nightmare; Costly There is no apparent simple solution. Brooks describes 'Screw-Ups' Found in Many Government Proj- the three major advances in software development as: ects," Sacramento Bee, Sacramento, Calif., June 16,1994. • The use of high level languages 3. "Report of the Defense Science Board Task Force • The implementation of time-sharing to im- on Military Software," Office of the Under Secre- prove the productivity of programmers and tary of Defense for Acquisition, Department of the quality of their products Defense, Washington, DC, Sept. 1987. 3 TRENDS IN COMPUTING Software's Chronic Crisis by W. Wayt Gibbs, staff writer enver's new international air- some three quarters of all large sys- port was to be the pride of the tems are "operating failures" that ei- DRockies, a wonder of modern ther do not function as intended or engineering. Twice the size of Manhat- are not used at all. tan, 10 times the breadth of Heath- The art of programming has taken row, the airport is big enough to land 50 years of continual refinement to three jets simultaneously—in bad reach this stage.