One of the great things about TDD is that it gives you a framework for how to approach coding problems and really how to approach work. You follow a pattern that has been proven to work by countless others. You start by proving the smallest piece of the code that you can and you work your up, bit by bit, to solve the entire issue. It sets you up for success, and makes solving complex problems easier because you don't have to worry about the entire thing. You can focus on a much simpler problem and solve that. But you have to use it, ALL THE TIME! It shouldn't be something that you only use once in a while or when you feel like it. It shouldn't be something that you fake by writing a few, relatively meaningless, tests after you have completed your work. You shouldn't claim that writing out the tests first will take too long, and then follow up your work by throwing together some tests. Start with tests and build up as you go. Trust that the system will work, follow th