Why Software Gets In Troubleby Gerald Weinberg
Many books have described How Software Is Built. It's a complex subject, and indeed, that's the
- LendMe LendMe™ Learn More
This is Volume 2 of the latest edition of the classic series, Quality Software. Its fundamental purpose is to teach how to understand the dynamics of software development organizations, to plan software projects, and to act effectively to carry out those plans.
Many books have described How Software Is Built. It's a complex subject, and indeed, that's the first title in this Quality Software Series. But people who use software (and builders, too) want to know Why Software Gets In Trouble. You might wonder why anyone would need an entire book on that subject. Why not just say "people make mistakes"?
Why not? Because there are reasons people make mistakes, and make them repeatedly, and fail to discover and correct them. That's what this book is about, and believe me, those reasons (and how to prevent them) do fill an entire book.
The reasons are both personal and organizational. If we're ever going to build better quality software, we'll definitely have to study the reasons people make mistakes. For software developers, designers, testers, their mangers, and their customers, that study starts right here.
Written from a technical and psychological perspective, describing how to think about what you do. The notation takes almost no effort to learn and use it. The diagrams are simple and easy to understand and used in a consistent manner.
The book offers ideas for coping with the very difficult problems that face those who work on projects where they don't have enough time, enough information, enough skill, or enough money to do a perfect job of anything. Given these limitations, managers have to make tradeoff decisions in light of the best understanding of cause and effect they can muster.
Reviewers say the book is a hidden treasure, containing within it the best definitions of quality ever published. It's written with a great sense of humor that helps make the lessons and insights you will get from the book easier to take.
For example, why is software development so often plagued by crisis? Weinberg helps the reader step back from developing software and examine the dynamics and patterns of software creation. By discussing patterns of quality, patterns of managing and patterns of software faults, the author shows that quality software begins with keen observation and clear thinking about software development. The text is extremely thought-provoking and is spiced with anecdotes drawn from decades of software experience.
The book is divided into two sections: "Fault Patterns" and "Pressure Patterns". Each section has a number of chapters that examine different systemic aspects of the specific issues.
"Fault Patterns" discusses different types of defects and how they occur. In addition, Weinberg examines what are software faults and how the organization deals with them means to how the people work.
"Pressure Patterns" looks into managerial behavior and why managers lose patience and feel helpless.
Meet the Author
Gerald M. Weinberg (Jerry) writes "nerd novels," such as The Aremac Project, Aremac Power, First Stringers, Second Stringers, The Hands of God, Earth's Endless Effort, Freshman Murders, and Mistress of Molecules—about how brilliant people produce quality work. More of his novels may be found as eBooks at <http://www.geraldmweinberg.com/Site/eBooks.html> or on Kindle or Barnes and Noble.
Before taking up his science fiction career, he published books on human behavior, including Weinberg on Writing: The Fieldstone Method, The Psychology of Computer Programming, Perfect Software and Other Fallacies, and an Introduction to General Systems Thinking. He also wrote books on leadership including Becoming a Technical Leader, The Secrets of Consulting (Foreword by Virginia Satir), More Secrets of Consulting, and the four-volume Quality Software Management series. He incorporates his knowledge of science, engineering, and human behavior into all of writing and consulting work (with writers, hi-tech researchers, and software engineers). Early in his career, he was the architect for the Mercury Project's space tracking network and designer of the world's first multiprogrammed operating system. Winner of the Warnier Prize and the Stevens Award for his writing on software quality, he is also a charter member of the Computing Hall of Fame in San Diego and the University of Nebraska Hall of Fame, and winner of the First Software Luminary Award. His website and blogs may be found at http://www.geraldmweinberg.com
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >
I'll be honest, about half way through this book, I thought that I found it rather bland and full of things that I was already doing. This changed however as I was assessing an application that I had been working with for years and we had found some critical faults in. I started thinking more about the book and the contents of it. After re-reading it, I realized that I hadn't been looking closely enough for faults, only going just beneath the skin. As I started to apply more and more of the information within, I began to realize more and more of what I had been learning was adding tremendously to the quality of the product. In short, after thinking more and more about this book, it's quickly gone to one that I recommend to everyone that I work with.