Side by Side: Comparing TDD and AMDD
TDD shortens the programming feedback loop; AMDD abridges the
modeling feedback loop.
TDD provides detailed specification (tests), while AMDD provides
traditional specifications (agile documents).
TDD promotes the development of high-quality code; AMDD encourages
high-quality communication between your stakeholders and other developers.
TDD provides concrete evidence that your software works, whereas
AMDD supports your entire team, including stakeholders, in working toward
a common understanding.
TDD provides finely grained, concrete feedback in minutes. However,
concrete feedback requires developers to follow the practice Prove It
With Code, and they may become dependent on non-AM techniques; AMDD lets
you get verbal feedback in minutes.
TDD ensures that your design is clean by focusing on creation
of callable and testable operations; AMDD lets you think through larger
design and architectural issues before you code.
TDD isn’t visually oriented; AMDD is.
Both techniques are new and therefore may be threatening to traditional
developers.
Both techniques support evolutionary development.
—S. W. Ambler