Napsat test - na základě specifikace (požadavků) reprezentovaných např. případy užití (usecases).
Test bude používat samotný kód prostřednictvím rozhraní.
Napsat kód - aby splnil specifikaci a komunikoval se světem pomocí rozhraní (API).
Spustit automatizované testy.
V případě chyb kód přeprogramovat (refactoring) a
spustit testy znovu.