Test Driven Development
Test Driven Development is about writing the test first before adding new functionality to the system. This seems backwards as first, but doing this:
- Defines success up front.
- Helps break our design down into little pieces, and
- Leaves us with a nice suite of unit tests proving our stuff works.
Agile developers work in this circle of life when adding new code. Write the test first. Make it pass. Then refactor.