The books in this section have been selected according to the guidance they provide in the pursuit of quality, safety, and reliability of software. Because the concept "quality" subsumes a vast range of desirable attributes, the books we present focus on some but not all of such attributes.

Since we are convinced that software engineering shares more than a name with other engineering disciplines, we have also included studies of engineering as such, with case studies and insights into the nature of successful design. Software engineers can and should learn from the successful habits and procedures that have been created, refined, and taught by engineers in a variety of fields.

Summer 1997 Spotlight
Invention by Design: How Engineers Get from Thought to Thing
by Henry Petroski

Petroski describes very clearly and succinctly the problems engineers face when they design radically new systems as well as when they seek to improve upon existing systems. He offers meticulously researched case studies of paper clips, pencil points, zippers, aluminum cans, fax machines, turbojets, waterworks, bridges, and skyscrapers.

The ten chapters demonstrate for instance that we can comprehend and improve artifacts by critical analysis of poor engineering and failure modes, that competing objectives are likely to lead to the constant evolution of multiple designs, that factors of safety result in more reliable structures, that the success of one product leads to the conception and development of many derivative ideas, and that the appreciation of failure modes improves our identification of engineering problems which must be "conceived and attacked."

If we value the engineering part of software engineering, we should pay serious attention to the nature of engineering and design. Contains a wealth of illustrations, an abundant bibliography, and a detailed index. (242 pages, 1996)
See also: Ada Home book review (May 1997)
Prices & orders: hardcover * ($17.47)

Engineering and the Mind's Eye
by Eugene S. Ferguson

Ferguson demonstrates that good engineering involves nonverbal thinking and the intuition based on years of practical experience, rather than merely mathematical formulas and the manipulation of equations. He argues that an engineering education that neglects nonverbal thinking, such as diagramming techniques and skills, produces a new breed of engineers who are dangerously ignorant of reality and the ways in which it differs from mathematical models constructed in academia. Ferguson provides ample evidence that successful engineering has always been based, in no small part, on visual thinking and communication. He has summarized the history of design engineering from antiquity to modern times, including an abundance of diagrams and pictures to illustrate his thesis. This is a very readable analysis of the nature of engineering. (241 pages, 1992)
Prices & orders: softcover * ($12.95)

To Engineer Is Human: The Role of Failure in Successful Design
by Henry Petroski
book cover
How do simple design errors cause great disasters? What makes a bridge collapse in mild wind? How are stainless steel knives related to New York City buses? With a collection of case studies about design and failures, Petroski challenges our understanding of engineering, success, and design, offering a striking vision of what it is engineers do: engineering is both science and art, success is foreseeing failure, and design is like a travel--from the vision here to the product there. This book is easy and entertaining to read, although the subject matter is very serious. (251 pages, 1985)
Prices & orders: softcover * ($10.40)

Fall 1996 Spotlight
Design Paradigms: Case Histories of Error and Judgment in Engineering
by Henry Petroski

According to Petroski, we learn more about design from failure than success. In this well-written book, he takes the reader on a tour of some of the greatest engineering failures and successes in history, thus illuminating his thesis with stories about e.g. Galileo and John Roebling (builder of the Brooklyn Bridge). This book should be required reading for all engineering students, to teach them how errors are introduced in the design process, and how they can be avoided --i.e. to teach sound engineering judgment. (209 pages, 1994)
Prices & orders: softcover * ($20.95)

Summer 1997 Spotlight
Bringing Design to Software
ed. by Terry Winograd

This fascinating book shows how to improve the practice of software design, i.e. the concepts, principles, rules, and choices that set the context for and direction of the programming tasks. The essays, contributed by prominent software and design professionals, apply lessons from other areas of design to the creation of software artifacts --in order to help us build software that truly works, i.e. that is both appropriate and efective for the end-users.

Brief profiles are interleaved with the 14 chapters; the profiles describe successful projects that concretize in practice the theme and insights developed throughout the book. The text is not a cookbook; it requires work on the part of the reader, who will have to consider if and how each question raised and advice offered is relevant and can be applied to his own activities and artifacts. This book is primarily for software developers, but it is also of interest for the broad community of people who conceive, develop, market, evaluate, and use software.

Until software design matures to the point where something akin to handbooks and cookbooks is practical as well as widely approved and established, the best we can do is to learn from the immediate past with the narrative help of design experts. This book is filled with gems and great lessons which can only benefit your activities as software designer.

Contains many illustrations, carefully selected references for further reading at the end of each chapter, and a detailed index. (321 pages, 1996)
Prices & orders: softcover ** ($30.25)

Safeware: System Safety and Computers
by Nancy G. Leveson

The systems, computers and software we build and use today have sometimes the potential to cause very serious accidents, such as plane crashes, deadly doses of radiation, etc. We should not wait for accidents to happen before we act. This is a complete guide to preventing accidents and losses caused by technology. Leveson stresses that safety lies in the system as a whole, not in individual parts; she demonstrates the importance of integrating a software safety focus in system engineering; she models accidents and human errors in relation to particular safety approaches; and finally she presents a "safeware" program including concern for requirements analysis, hazard analysis, design for safety, design of the human-machine interface, verification, and management. No other book covers these grounds as thoroughly, clearly, and intelligently. (680 pages, 1995)
Prices & orders: softcover ** ($49.45)

Computer-Related Risks
by Peter G. Neumann

The moderator of the Internet Risks Forum (Usenet newsgroup comp.risks) analyzes the failure modes of computer systems, and discusses options to avoid recurrences of similar events. The problems Neumann addresses are related to the nature of risks, reliability, safety, security, privacy, and human welfare. If you use computer or communication systems --i.e. if you live in the modern world-- this book is a must-read. If you develop such systems, you cannot afford to ignore the lessons contained in this book. (367 pages, 1995)
Prices & orders: softcover ** ($26.85)

Page last modified: 1999-01-03