Brilliant post. This sums up exactly how I feel about TDD.<p>TDD done right teaches you how to write decoupled and reusable code. The problem is that the majority of people who attempt TDD have been told it&#x27;s a good thing but can&#x27;t explain why.<p>What&#x27;s even worse is when a team pushes TDD because &quot;we&#x27;ve always done TDD&quot;.