Quelle est votre définition de la qualité ?

✒️ Enzo Sandré · 📆 13/07/2022 ·

Un logiciel de qualité est d’abord un logiciel qui rend correctement le service attendu. Mon rôle de professionnel est de faire en sorte qu’il continue à le faire dans le temps, que nous travaillions encore ensemble ou non.

Pour un bâtiment ou un véhicule, la qualité tient notamment à sa capacité à conserver sa fonction, à être entretenu et à être réparé. Un logiciel est différent : son environnement change constamment et son rôle est souvent amené à évoluer avec lui. Le métier de votre entreprise change, ses utilisateurs apprennent, ses contraintes évoluent et de nouveaux besoins apparaissent.

La qualité d’un logiciel ne consiste donc pas seulement à faire fonctionner correctement ce qui a été demandé aujourd’hui. Elle réside aussi dans sa capacité à accueillir les changements de demain. Un logiciel difficile à comprendre ou à modifier peut être parfaitement fonctionnel aujourd’hui tout en étant déjà de mauvaise qualité.

Roy Osherove décrit la programmation comme l’art de bâtir des châteaux de vent. Hunt et Thomas parlent plutôt de l’art de recueillir et de formaliser des connaissances. Ces deux approches rappellent une même chose : le logiciel n’est pas un objet figé. Il est une construction qui doit pouvoir être comprise, corrigée et transformée.

C’est pourquoi j’accorde autant d’importance à la maintenabilité. Un logiciel de qualité laisse aux personnes qui le reprendront demain la possibilité de comprendre ce qu’il fait, pourquoi il le fait et comment le faire évoluer. Pour moi, le travail bien fait consiste précisément à construire cette capacité de changement.

Enzo Sandré