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.
|Product dimensions:||6.00(w) x 9.00(h) x 0.49(d)|
About the Author
I try to incorporate my knowledge of science, engineering, and human behavior into all of my writing and consulting work (with writers, hi-tech researchers, software engineers, and people whose life-situation could require the use of a service dog). I write novels about such people, including The Aremac Project, Aremac Power, Jigglers, First Stringers, Second Stringers, The Hands of God, Freshman Murders, Earth's Endless Effort, Mistress of Molecules, Where There's a Will There's a Murder, The Death Lottery-all about how my brilliant protagonists produce quality work and learn to be happy. My books may be found linked from my website: geraldmweinberg.com.
I've won many awards for my writing but the "award" I'm most proud of is the book, The Gift of Time (Fiona Charles, ed.) written by my student and readers for my 75th birthday. Their stories make me feel that I've been at least partially successful at helping smart people be happy.
- Gerald M. (Jerry) Weinberg
Most Helpful 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.