About the Technology: Test-Driven Development is a method in which the development is driven with automated tests. As opposed to conventional development, TDD solves a different set of problems. It does so by proposing that before you write any nontrivial piece of production code, you write tests that the code will at first fail, and then when written correctly, will pass. TDD advocates say this approach has two major benefits. First, because the tests embody specific uses of the yet-unwritten software, they will help tease out the design of the software, complementary to other techniques such as requirements specification and modeling. Second, the tests create a safety net, enabling the programmer to engage in the risky but necessary practice of refactoring--continuously reorganizing the code--without fear of breakage (from Infoworld, August 8, 2003).