Build Horizontally, not Vertically
If you want a program that is fragile, rigid, and immobile, build vertically.
The Practical Value of TDD
Programming is a practical discipline. There are no silver bullets. The effectiveness of different techniques varies in usefulness, depending on the tools, the team, and the development environment.