Becoming a great practitioner of test-driven development takes a great deal of effort. It requires practice, experience, determination, and discipline.
Many people have tried TDD and failed. Some of them will conclude, erroneously, that TDD is broken. But it's not broken, and it's not even difficult – it just takes effort and patience to 'get right'.
But what is getting it right, anyway?
At the very beginning of this book I stated that this is a book about my dogma. There is a great deal of dogma around software development. Plenty of people believe that they know the right way to write code, and everyone else is wrong. This goes for testing, too: some people will have read this book and disagreed with much of what I've said, believing that these ideas just don't work.
Of course, all software development techniques are subjective. Everything...