I don't call myself a TDD practitioner anymore, neither I think I should use TDD all the time.
I didn't think it was possible but it feels liberating! What made me change my mind?
I have posted a couple of posts about the drawbacks/limitations of TDD and I was surprised by some pushback I received. Not that I didn't expect the pushback, but I expected way more sober and constructive pushback. Allegedly TDD is "the only way to write software" and if you disagree you are just a rubbish developer who didn't learn TDD well.
I think one reason that TDD is not more popular is the toxic and often blind members of the community. At times, it seems that merely doubting the value of TDD makes you a bad person or professional.
This is wrong. By refusing to consider the drawbacks of TDD, we are not allowing ourselves to improve the practice or to look for better alternatives. That's when I realized that I don't want to be associated with this kind of attitude, and so I have stopped calling myself a "TDD practitioner" or a "member of the TDD community".
TDD is a useful practice and I will still use it when I think it is helpful. But I have started to question TDD even more, and have been looking for other approaches that are less counter-intuitive and take less time to learn, but still provide the same benefits. I think I found something real.
I am currently working on a video script that will explain my findings and thoughts in more detail.
Top comments (0)