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 software agile 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:
The best way not to have defects in your system is to not put any defects into your system.
Law of Douglass #30
See https://www.bruce-douglass.com/geekosphere for further information.
This points out that it is far easier to develop high-quality systems...