Le principe KISS en informatique est de faire le code le plus simple possible pour qu’il soit beaucoup plus facile à faire évoluer et à maintenir. Le but de ce principe est d’éviter à tout prix la sur-inflation fonctionnelle (feature creep) d’une application.
KISS est l’acronyme de Keep it simple, stupid.
Ce principe est très important en Agile car les entreprises ont rapidement compris que la complexité du code coûte très chère à maintenir voire impose parfois des refontes intégrales.
Faire simple n’est pas simple
C’est assez paradoxal mais faire du code simple n’est pas si simple à faire pour les développeurs bien au contraire. Dans le monde du développement que veut dire faire « simple » ?
Ne pas réinventer la roue
Refaire un framework complet est complexe, prend du temps et complexifie considérablement le code à maintenir. Il est fortement conseillé d’utiliser les framework du marché ayant de grandes communautés afin d’avoir la base de votre application déjà documentée et maintenue.
Il faut cependant faire attention à ne pas trop se fermer dans un univers comme un CMS car dès qu’il est nécessaire de toucher au code source du CMS, cela complexifie énormément votre code et rend obsolète le reste du CMS. Vous seriez contraint de maintenir votre code et celui du CMS que vous utilisez ce qui est encore plus complexe que de coder son CMS soit même.
Ne vous retrouvez pas dans la situation ci-dessous dans 2 ans lorsqu’il faut modifier du code dans le code source du CMS.
Prendre un framework est souvent préférable car il y a peu de chance d’avoir besoin de travailler dans son code source.
Doit-on utiliser les plugins/package/bundle proposés sur les framework ? C’est une question beaucoup plus complexe car il est difficile d’estimer si ceux-ci vont répondre à 100% de vos besoins ; il ne faut le faire que si on en est sûr à 100%.
Ce concept s’appliquerait également aux outils proposés en Saas par des tiers qui peuvent simplifier votre code en externalisant une partie de vos fonctionnalités.
Ces choix sont difficiles mais déterminant pour l’avenir de vos applications. Sachant que le temps moyen d’un développeur dans une entreprise est de 1 an et demi, il faut savoir faire des choix pour l’avenir.
Coder au plus simple
Certains développeurs aiment faire des codes complexes pour faire une fonctionnalité. Dans le principe KISS, il faut à tout prix éviter de travailler comme ça et de demander au développeur de faire un effort pour simplifier au maximum son code (sans renier à la qualité du rendu).
Il est parfois très difficile de simplifier et cela peut demander beaucoup de travail. Faites toujours l’effort de le faire car je peux vous dire que je ne compte plus le nombre de fois où j’ai entendu : « t’inquiète, tout ça, ça part à la poubelle dans 1 an » pour du code qui est resté en production plusieurs années.
Les développeurs qui simplifient le code aujourd’hui permettent aux développeurs de demain de maintenir ce code avec plus de facilité et permettra à certaines applications de pouvoir encore évoluer.
Si les développeurs ne se forcent pas à simplifier leur code, vous aurez le droit à ce type de développeurs dans quelques années.
Conclusion
Le principe KISS n’est pas si simple au final car il y a beaucoup de travail à faire au niveau des comportements pour arriver à appliquer de tels principes. Le principe du KISS est avant tout un principe où le développeur pense à son équipe voire aux futures recrues ; c’est une façon de renforcer l’agilité au sein des équipes.
Sachez qu’en Agile, on considère que le développeur est excellent quand il est capable de suivre le principe du KISS ; le développeur qui pense faire des prouesses individuelles illisibles des autres est souvent vu comme un mauvais développeur Agile qui a encore beaucoup de choses à apprendre.
Le KISS est une culture qui sera gagnante pour toutes les entreprises qui se forcent à en appliquer ses principes.
Bonjour,
Je trouve votre site super. C’est informatif et marrant en même temps.
En fait, je suis tombée sur votre blog en cherchant à me rassurer, car je suis entrain de me mettre à mon compte pour être coach Agile
Bravo !!!
Simone EL ACHKAR
Merci 🙂