"Why Software Gets In Trouble" is part 2 of the latest edition of Weinberg's "Quality Software" series.
In it, Jerry describes many of the ways errors occur, the correct way of thinking about errors (such as "Errors are not a moral issue" and "Quality is not the same thing as absence of errors"), how companies and processes get into a state where errors are more likely to occur (increased pressure, high levels of stress, poor estimation, lack of control, etc), and the effects of breakdowns.
This book is fairly short, yet surprisingly thorough over its seven chapters:
Chapter 1: Observing and Reasoning About Errors
Chapter 2: The Failure Detection Curve
Chapter 3: Locating The Faults Behind The Failures
Chapter 4: Fault Resolution Dynamics
Chapter 5: Power, Pressure, and Performance
Chapter 6: Handling Breakdown Pressure
Chapter 7: What We've Managed To Accomplish
For me, this was a very timely book. My team is going through some of the same pressure patterns Jerry writes about. For virtually every point made, I found myself saying "I remember when that happened", and sometimes "That's happening right now!"
If you are a Software Testing professional, you should read this book. You should then give a copy to your manager, and to your manager's boss. Then, be prepared to discuss with them the realities of software development from a tester's point of view. After reading "Why Software Gets In Trouble", you'll almost certainly have a more enlightened (and hopefully more receptive) audience.
One note: You should read the appendices first, so you will understand the diagrams and references to "Patterns" scattered throughout the book.
A disclaimer: Jerry put out a call for reviewers on his website (http://secretsofconsulting.blogspot.com/2011/02/free-books-looking-for-few-more-book.html) and gave a free e-copy of this book to those who would agree to post a review. Since I enjoyed his book "Perfect Software: And Other Illusions About Testing" so much, I agreed - this is my review.