PRINCIPLES

YAGNI (You Aren't Gonna Need It)

Non aggiungere funzionalità che non servono ancora. Implementa solo ciò che è necessario adesso.

Il Problema

Implementare features "per il futuro" porta a codice morto, complessità inutile e tempo sprecato. Il 80% delle features anticipate non vengono mai usate.

La Soluzione

Implementare solo i requisiti attuali. Quando (e se) arriverà il bisogno, aggiungerai la feature. Codice più semplice oggi, features reali domani.

Struttura

Implementazione minimale che soddisfa i requisiti attuali. Refactoring incrementale quando arrivano nuovi requisiti reali.

Partecipanti:
Implementazione minima - solo features richieste ora
Refactoring futuro - quando serve davvero
Esempi di Codice

PROBLEMA: Features premature

Implementare funzionalità che potrebbero servire in futuro. Codice complesso inutilmente.

JAVASCRIPT
Loading...

SOLUZIONE: Implementa solo ciò che serve (YAGNI)

Codice minimo per i requisiti attuali. Aggiungerai features quando servono davvero.

JAVASCRIPT
Loading...
Esempi nel Mondo Reale
Non creare campi DB per features non ancora richieste
Non implementare export PDF se nessuno lo usa
Non aggiungere cache se l'app è veloce
Non fare microservices se un monolite basta
Quando Usarlo
Sempre: implementa solo requisiti attuali
Quando qualcuno dice: potrebbe servire in futuro
Prima di aggiungere complessità: serve ORA?
Quando NON Usarlo
Quando il requisito è certo (es. compliance legale in arrivo)
Quando il refactoring futuro sarebbe molto costoso