Test Driven Development (TDD)
Has a relationship with Extreme Programming, in which one possible practice in Extreme Programming was to write the test first and then code to the test (i.e Test Driven Development). TDD did not receive its official name until about 2002.
TDD encourages simple designs and inspires confidence. It is 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 code is improved so that the tests pass. This is opposed to software development that allows code to be added that is not proven to meet requirements.
Test-driven development is related to the test-first programming concepts of extreme programming, begun in 1999, but more recently has created more general interest in its own right. Programmers also apply the concept to improving and debugging legacy code developed with older techniques.