Being pragmatic is one of the best qualities that a software craftsman can have. We should not follow practices just because someone said so, or just for the sake of it. We should constantly look for ways of doing our job better and satisfying our customers. If that means using TDD, we should use TDD. Whenever we find something else that could give us more value and a quicker feedback loop, then we should use that thing instead of TDD.

Dogmatic thinking is bad. We should constantly ask ourselves why we are doing what we do. Is there anything better that we could do instead? Are the practices we chose a good fit for our project? What is their value? Is it time to try something else?

The best way to know if one practice is better than the other is to compare the value they both bring to the project, then compare how long their feedback loops are. Nothing else should matter. If we can’t identify the value that different practices give us, maybe we should not use them.