YAGNI (You Aren't Gonna Need It)
Un principe de Programmation Extrême stipulant que les programmeurs ne doivent pas ajouter de fonctionnalité avant qu'elle ne soit réellement nécessaire, évitant les fonctionnalités spéculatives.
Definition
YAGNI vient d'Extreme Programming (XP) et combat la tendance à construire pour des exigences futures imaginées. Ajouter des fonctionnalités inutilisées augmente la complexité du code, la charge de maintenance et introduit des bugs potentiels — tout pour une fonctionnalité qui pourrait ne jamais être utilisée. Les études montrent que 64% des fonctionnalités logicielles sont rarement ou jamais utilisées.
Pourquoi c'est important
Les fonctionnalités spéculatives gaspillent du temps de développement et créent de la dette technique. Le code qui anticipe chaque besoin futur possible devient gonflé et difficile à maintenir. YAGNI encourage la concentration sur les exigences actuelles validées.
Exemple
Violation YAGNI: construire un système de plugins générique "au cas où on en aurait besoin plus tard" quand l'app n'a besoin que d'un comportement fixe. Suivant YAGNI: implémenter le comportement unique maintenant, ajouter l'architecture de plugins seulement quand un second plugin est réellement requis.