Mathieu Eveillard pubblica il 7 dicembre 2022 (ultimo aggiornamento 17 marzo 2025) sul suo blog personale una controargomentazione punto per punto al celebre saggio di David Heinemeier Hansson (DHH) "TDD is dead. Long live testing." (2014). Articolo classificato craft / best-of.

Distinzione cruciale che secondo Eveillard sfugge a DHH: Test-first (scrivere tutti i test prima di qualsiasi codice) vs Test-Driven Development (i test mi guidano nella scrittura del codice, ogni volta scrivo un po' di codice in reazione a un nuovo test). DHH in realtà critica il Test-first chiamandolo TDD — una confusione che "nasconde un modo di programmare completamente diverso".

Tre confutazioni: (1) TDD come martello per abbattere i non credenti — Eveillard concede il punto deontologico ma ridefinisce il "buon codice" come unit test a grana fine, collocati insieme al codice, una rete di sicurezza; (2) Riequilibrare dallo unit al system — il TDD non dice nulla sui test di sistema e non afferma che non esista nulla al di fuori del TDD; i test di sistema non sostituiscono gli unit test (una dichiarazione dei redditi testata end-to-end = assurdo); piramide dei test — gli unit test per un feedback in millisecondi + individuazione precoce dei bug; (3) Mostruosità architetturali orrende (service object, command pattern) — Eveillard non riscontra questi effetti nella programmazione funzionale, quindi è attribuibile all'OOP, non al TDD.

Conclusione equilibrata: "Il TDD non è una religione, è uno strumento." Il TDD è particolarmente adatto al codice di dominio (il nucleo funzionale di un bounded context, il cuore dell'esagono) — motori di calcolo, regole di business a grana fine, casi limite ovunque — ovvero "al massimo il 30% della codebase". Cita la Legge dello Strumento (se lo strumento non aiuta, è perché si è caduti nella trappola del martello).

Rilevanza per il corpus di veille IA: un articolo di craft esterno al corpus IA in senso stretto ma che risuona con Kent Beck (Vibe Coding vs TDD 2024-10 + Augmented Coding 2025-06), l'atrofia del muscolo della scrittura di Frizzo, il Cognitive Surrender di Osmani (PR limitate a 100 righe + tempo solitario alla tastiera), Lattice (granularità fine atomi/molecole). Convergenza etica su "strumento, non religione" con Karpathy (jagged intelligence), DORA ("tutti i modelli sono sbagliati ma utili"), Talisman ("il lavoro non può essere saltato"). Convergenza sull'ambito limitato con il 35-40% greenfield vs ≤10% brownfield di Stanford e il Frontend > Backend > Infra > Research di Ng.

Da utilizzare per sessioni di formazione craft interne, dibattiti di team sul TDD, collegamento con il corpus 2026 sugli agenti di codifica, per attingere a un aforisma sintetico.