Like almost every spectrum of opinions, the strongest opinions are typically the least practical, and useful only in a theoretical sense and for evolving the conversation in new directions.
I think TDD has a lot to offer, but don't go in for the purist approach. I like Free Software but don't agree with Stallman. It's the same thing.
The author takes a well reasoned, mature, productive, engineering focused approach, like the majority of people should be doing. We shouldn't be applying the pure views directly, we should be informed by them and figure out what we can learn for our own work.
This was the funny thing about extreme programming. I remember reading the book when it came out. In it Kent Beck more or less said that he came up with the idea because waterfall was so entrenched that he thought the only way to move the dial back to something more incremental was to go to the other extreme end.
This took off like wildfire probably for the same reason that we see extreme social movements/politics take off. People love purity because it's so clean and tidy. Nice easy answers. If I write a test for everything something good will emerge. No need for judgement and hand wringing.
But the thing is that I think Kent Beck got caught up in this himself and forgot the original intention. I could be wrong but it seems like that.
Increasingly I've been wondering whether these agile approaches might be a detriment to most open source projects.
There is a massive pool of talented and motivated programmers that could contribute to open source projects, much more massive than any company's engineering dept, yet most projects follow a power law where a few contributors write all the code.
I think eschewing processes and documentation in favour of pure programming centered development, where tests & code serve as documentation and design tools, means the barrier to entry is much higher, and onboarding new members is bottlenecked by their ability to talk with the few main contributors.
The most successful open source projects have a clear established process for contributing and a lot of documentation. But the majority don't have anything like that, and that's only exacerbated by git hosting platforms that put all their emphasis on code over process. I wonder whether setting up new tools around git allowing for all projects to follow the waterfall or a V-cycle might improve the contribution inequality.
I think TDD has a lot to offer, but don't go in for the purist approach. I like Free Software but don't agree with Stallman. It's the same thing.
The author takes a well reasoned, mature, productive, engineering focused approach, like the majority of people should be doing. We shouldn't be applying the pure views directly, we should be informed by them and figure out what we can learn for our own work.