Development through testing is a way to control fear during programming. Fear makes you unsure. Fear makes you want to communicate less. Fear makes you shy away from feedback. Fear makes you grumpy. - TDD By Example