TDD is a great methodology that I would expect most developers to have a good knowledge of. That said, I can count on one hand the number of developers I have met who claim to follow it fully. In fact, I can count it on no hands, because the number is zero. Many argue that the Fail, Pass, Refactor loop is unnecessarily onerous and I can’t disagree with them. In addition, TDD is not a magic box which produces good code by blindly following the same procedure over and over again. You have produce a design outside of the TDD loop, something which some TDD evangelists don’t like to admit.
Now, you may wonder why I am talking so much about Test Driven Design for a book on Design Driven Testing. That is because this book attacks TDD directly in a compare and contrast style which is both humorous and enlightening. I would highly recommend any developer who is using TDD or in a TDD environment to have a read the first 3 or 4 chapters of this book at the very least, if just to make you think about some of the questions that the authors raise.
Doug Rosenberg and Matt Stephens bring you a truly enlightening and thought provoking book which is stuffed full of complex, real life code samples and a conversational style which makes the book enjoyable to read and they will never pass up an opportunity to poke fun at some of the more “ludicrous” facets of TDD . The book definitely tries to create the impression of being in design meeting in software house, and the customers and design process presented feel real and lifelike. The text can get thick at points and the paragraphs long, but this is all to the end of creating a lifelike examples.
This book definitely benefits from having a good knowledge of UML and the ICONIX methodology. I hope that you know what a Robustness Diagram is because while they do give a quick explanation of the basics, if you don’t catch on quickly you will soon be flipping back and forth wondering if you missed a chapter somewhere. However, if you haven’t use UML since that second semester of university fear not, you are quickly advised to read “Use Case Driven Object Modeling with UML” by, you guessed it, Doug Rosenberg and Matt Stephens. While I would say that “Design Driven Testing: Test Smarter, not Harder” is definitely readable without any prior knowledge, it did move quite swiftly in some sections when discussing methodologies which I was unfamiliar with.
All in all, I would say this book is definitely worth reading for pretty much any developer, especially any TDD die-hards out there. Will it get you to convert, forsake your TDD ways and pronounce that DDT is the one true Methodology? Probably not, but it will definitely give you a new perspective on things.