How I failed at Test-Driven Development and what it took to get it right

It took some time before I could say that TDD really works (for me). I don’t think the problem was TDD, but my design and coding skills.