Test-driven modeling
For the last recipe in the book, I'd like to present a recipe that is central to my view of the integration of modeling and Agile methods. The archetypal workflow in Agile software methods is test-driven development (TDD), in which you do the following:
Loop Write a test case Write a bit of code to meet that test case Apply test case If (defect) fix defect; Until done;
It's an appealing story, to be sure. Each loop shouldn't take more than a few minutes. This is a key means in Agile methods to develop high-quality code; test incrementally throughout the coding process.
TDD aligns with this law of Douglass: