TDD in existing projects
You most probably already have projects that have been implemented without any tests. It is much harder to add tests to an existing project than it is to write them first. When you don't keep in mind that you need to write a test for code sometime in the future, the code itself becomes hard to test. It is often easier to tie the different parts of the app together instead of keeping them separated with a clear and defined interface to each other. As a result, it becomes hard to separate micro features in order to test them with unit tests. In addition to this, testing methods with many side effects can be cumbersome to deal with.
When writing the tests initially, you automatically think about the tests. The code naturally becomes easier to test and more modular.
Back to your existing projects. What could you do to add tests? The way to go is to start small. Don't rewrite all the methods using TDD. This won't work, and you will most probably remove all the tests when...