Withstanding the test of time
The first thing most people think of when they start a project with the good intentions of test driven development is: write a test first. Diving in to writing tests without forethought, especially on large projects with a lot of developers can lead to new problems that TDD is not going to solve.