TDD and Emergent Design

I’ve been reading up on Test Driven Development, starting out with Kent Beck’s book, then finding his screencasts, first the teasers at vimeo, and later the official release through the pragmatic programmers. There’s also a nice free example available on vimeo from Bret Schuchert of ObjectMentor, of which I watched the ‘Getting started with TDD in Java using Eclipse’ one.

The nicest introduction on TDD, and on why you should use TDD, and how it helps you create better designs, emerging from the test driven approach, has been Neal Ford’s articles on IBM’s DeveloperWorks: Evolutionary architecture and emergent design: Test-driven design, parts 1 and 2. I can thoroughly recommend those articles to any developer interested in improving their code (and design). I’ll certainly be reading his other articles in this series.