If you happen to be involved in software development you know how much it costs and you can’t ignore the chances of reducing defect count and thus increasing the cost-effectiveness of the process. So I started reading this book with much interest also because the word “Practical” in the title looked very promising.
I had some trouble getting over the slightly disturbing detail that a book on defect prevention has been written draining experience and making examples from the development of the Microsoft Windows Vista. Despite this, the book is very well detailed and offers indeed practical approach, though “practical” does not imply that you can easily apply in your working context.
In my workplace software development barely reaches level 2 of CMM and the main management idea is that software development should cost no money and give results by yesterday. In this context (that I feel is not so infrequent) I find it quite hard to ask for simulation software or defect classification software when they cost several thousand bucks.
Anyway, the overall structure of the book is good in teaching what is the state of the art in preventing software defects, but basically it sums up to go up in the CMM level.
Some points in the book made me raise my eyebrow more than once. For example, when praising the qualities of code review the author states that the best time to peer review the code is as soon as it is written, even before it is run through the compiler. The reason is that in this way the maximum number of errors is caught by the process. That’s puzzling because a great deal of the same errors may be caught automatically by the compiler itself. So, though the number of detected errors is high, the advantage in doing so seems IMHO quite reduced.
Nonetheless, I think this is a good read worth reading, even if most of us fellow programmers won’t see any of those techniques in their everyday software development (I’m not talking with you working at NASA ;-)).