Kent Beck: Test Driven Development
Test Driven Development: By Example, from the preface: “In Test-Driven Development, we [write] new code only if an automated test has failed [and] eliminate duplication. These are two simple rules, but they generate complex individual and group behavior [...]”