Un metodo non tradizionale e agile per lo sviluppo e il design del software è il Test Driven Development (TDD): sviluppo guidato dai test. E’ un’alternativa al solito metodo a cascata (waterfall), secondo il quale, dopo un’adeguata analisi e progettazione, si inizia a scrivere il codice e solo alla fine si passa al testing e al debug.
Il TDD, invece, (previa analisi e progettazione, ovviamente) consiste nello scrivere il proprio codice ripetendo ciclicamente questi passi:
- scrivo il test prima ancora che esista il codice da testare
- il test (ovviamente) fallisce
- scrivo il codice minimo che faccia passare il test
- il test passa
- eseguo il refactoring del codice
[...]





