Principio YAGNI (“Non ne avrai bisogno”)

Il principio YAGNI ("Non ne avrai bisogno") è una pratica nello sviluppo del software che afferma che le funzionalità dovrebbero essere aggiunte solo quando richiesto. Come parte della filosofia di programmazione estrema (XP), YAGNI elimina gli eccessi e l'inefficienza nello sviluppo per facilitare la maggiore frequenza di rilasci desiderata.

Il principio aiuta gli sviluppatori a evitare sforzi inutili su funzionalità che si presume siano necessarie a un certo punto. L'idea è che questa ipotesi spesso finisce per essere errata. Anche se una funzionalità finisce per essere desiderata, potrebbe comunque risultare che l'implementazione non sia necessaria. L'argomento è che gli sviluppatori non perdano tempo nella creazione di elementi estranei che potrebbero non essere necessari e possono ostacolare o rallentare il processo di sviluppo.

Poiché YAGNI aiuta a evitare di spendere tempo su funzionalità che potrebbero non essere utilizzate, le caratteristiche principali di un programma sono sviluppate meglio e viene speso meno tempo totale su ogni versione. Proprio come il principio Worse is Better, YAGNI è contrario allo sviluppo di funzionalità extra e aiuta a evitare lo scorrimento delle funzionalità. Altri principi di programmazione popolari includono KISS (Keep It Simple, Stupid) e DRY (Don't Repeat Yourself).

YAGNI è uno dei principi più noti di XP. Questa parte di XP proviene dal libro Extreme Programing Installed, scritto da Ronald Jeffries, Ann Anderson e Chet Henderson.