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: