16-01-2024 14:39:26
YAGNI (anglicisme, acronyme anglais de You
ain't gonna need it), qui peut se traduire par vous n'en aurez pas
besoin
est un principe d'extreme programming)
qui déclare que les programmeurs ne devraient pas ajouter de fonctionnalité à un
logiciel tant que celle-ci n'est pas absolument nécessaire. Ron Jeffries recommande
par ailleurs : mettez toujours en Å“uvre les choses quand vous en avez
effectivement besoin, pas lorsque vous prévoyez simplement que vous en aurez
besoin
.
Ce principe fait souvent l'objet de débats entre programmeurs. En effet, l'ajout de certaines fonctionnalités particulièrement structurantes à un logiciel déjà existant peut, parfois, s’avérer excessivement complexe. Que la présence de cette fonctionnalité ait été anticipée dès la première version du logiciel peut donc, malgré un potentiel surcoût initial, s’avérer in fine bien moins couteux que si elle avait été totalement ignorée. Une analyse fonctionnalité par fonctionnalité est donc généralement nécessaire pour éviter les problèmes que pourraient engendrer une application trop naïve du principe YAGNI. J'ose vous dire que ce débat fait parfois rage dans mon for intérieur, un débat entre moi et moi ! La réponse que j'apporte à cette confrontation personnelle est de prendre position pour l'implémentation du sujet si une implémentation ultérieure va m'obliger à défaire ce qui a été fait.
Contenu soumis à la licence CC-BY-SA. Source : Article YAGNI de Wikipédia en français (auteurs)
YAGNI n'est pas un principe dont doit s'occuper la Transformation Digitale. Il s'agit d'un sujet propre au développement et qui doit le rester. Tout au plus, jetez le mot en pâture de temps à autre pour sentir le sens du vent. En revanche, si vous rencontriez des problèmes de livraison dans les délais impartis, une petite enquête "YAGNI" peut se révéler extrêmement fructueuse.