People in information technology (IT) have always had an inferiority complex. Over the past few decades, the IT industry has projected itself as producing well-engineered and thoroughly tested products. Partridge doesn’t believe a word of it. In spite of the rigorous application of project management techniques, IT projects continue to run over budget and over schedule and generally fail to meet their design goals. Throughout the book, Partridge gives details of both conventional engineering and IT disasters--there is no shortage of examples to choose from. The IT profession consistently blames failure on a lack of adequate management, but Partridge proposes the inability of humans to manage technical complexity as being at the heart of failures in large IT systems.
The book is divided into four parts. Part 1 provides an introduction to computer technology aimed at the non-computer literate. The basic craft of programming is explained, along with some of the difficulties programmers have in representing a real, analog world in machines in which only binary integers exist. Even experienced IT professionals will find the high overview of programming presented in these ten chapters to be a sobering reminder of the associated shortcomings and pitfalls involved.
Part 2 examines systemic problems that are a consequence of the problems inherent in programming. The consequences of the unmanageable complexity of IT systems in the world are discussed, as is the largely invisible dependency of our society on computer systems.
Part 3 gives us some hope for the future by looking at a number of techniques that may address the fundamental problems with IT system development. Chapters cover the promise of expert systems, the programming support environment, program visualization, and more radical approaches, such as the use of neural networks and statistical probability tools.
The two chapters of Part 4 provide a summary of Partridge’s arguments. Chapter 24, in particular, provides a bullet-point summary of each chapter. Indeed, if you wish to quickly understand what this book is about, then just read this one chapter and use it to point you to relevant chapters for further detail. Each of the four parts has a good introduction. The table of contents is thorough, there is a good index and glossary, and each chapter has relevant endnotes.
IT systems are pervasive; almost every aspect of modern life relies on a computer program. Some are innocuous, but a failure in some could place your life at risk (for example, aircraft flight systems). Partridge’s book alerts readers to the true lack of reliability of computer programs and the risk to which citizens in our modern world are exposed. Most of us have no choice but to accept the risk.
Other works in the area of IT systems management and software development, from classics such as Brooks’  to more recent works such as Schiesser’s , assert a lack of adequate management as the main reason for IT project and systems failures and suggest that enhancing management controls will solve the problem. Partridge counters that the inherent complexity of IT systems and the fallible nature of human programmers mean that faults cannot be eliminated, only minimized. This is a book that should be compulsory reading for computer programmers and IT project managers.