Unit tests are great, they help a developer gain control over his code and catch bugs and regression issues. Test Driven Development is a methodology that uses unit tests but it's not about writing unit tests - in fact the tests are only a design tool. TDD is a methodology that solves problems in an iterative way, it's about emergent design that creates a maintainable solution. In this session I'll talk about common mistakes and misconceptions, how to benefit from TDD and show how to design your code using unit tests. The code for this talk can be found on GitHub: https://github.com/dhelper/DesignWIthTests