Test Driven Myopia and its Remedy
lispy.wordpress.com
An alternative (or complement) to TDD would be Language Driven Development. Don’t start with tests or object models. Start with a language. Make up an imaginary language that will handle everything you want your program to do.