A software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests.
"By adopting TDD, we can ensure that our code is thoroughly tested before it is deployed."