Test-Driven Development. TDD is an Agile development method that grew out of Test-First Design: writing tests before the code.
It evolved into TDD, which is built around three laws aimed at writing code solely to make a test pass. TDD helps you focus on the actual need (« What does my application need to handle? In which cases? ») so that you write only what is necessary and avoid superfluous code.
It's about answering exactly the need, keeping the code as simple as possible — and therefore easily evolvable and maintainable.
