« Est-ce un rêve que d’imaginer que le secteur du logiciel devienne aussi industrialisé que l’est le secteur automobile ? Nous n’en sommes pas là et je n’ai pas observé de véritable rupture, la qualité du logiciel reste moyenne », assène Antoine Gourévitch, vice-président du Boston Consulting Group, qui est intervenu sur ce thème de la dernière matinée CIO organisée par l’éditeur Cast, en partenariat avec Best Practices Systèmes d’Information.
Pour Antoine Gourévitch, c’est le système qui est en cause : « Les individus sont rationnels. Si des défauts et des retards se produisent, c’est parce que le système produit ces défauts. Il faut donc rendre les individus responsables de leurs actions, ce qui suppose un instrument de mesure.
Sinon, on ne pourra jamais expliquer aux développeurs la source de leurs erreurs. » Pour sa part, Renaud Hilleret, DSI de Predica, le pôle Assurance Groupe Crédit agricole, met en exergue un paradoxe : « La réactivité et l’agilité des applications sur intranet et extranet produisent une impression de facilité, alors que cela accroît très sensiblement le niveau de complexité cachée des applications et, de fait, complique les missions du DSI. »
Cela fragilise la position du DSI : « Aucune industrie n’accepterait le niveau de défauts de l’industrie du logiciel. Il y a des pressions à la fois sur les coûts, les délais et la qualité. De fait, la fonction de DSI est la fonction de direction la plus courte : nous sommes à la fois skipper de catamaran et capitaine de tanker », résume Christian Lothoré, DG du GIE informatique Si2m – Groupe Malakoff Médéric, pour qui « la DSI est la seule direction qualifiée de boîte noire et l’on nous demande plus de transparence.
La mesure permet de « factualiser », surtout lorsque cela s’inscrit dans des cycles longs de développement ». Investir dans la qualité du code développé est-il rentable ? Selon l’adage « Il vaut mieux prévenir que guérir », la réponse est évidente. « Lorsque le code représente près d’un tiers du coût d’un projet, il est extrêmement rentable d’investir en amont dans sa qualité, d’autant que le coût annuel de maintenance représente 20 % du coût global », calcule Christian Lothoré.
Même si, affirme Marc Renaud, DSI de Veolia Eau, « il est toujours difficile de « factualiser » pour parvenir à une transparence de la « boîte noire » qu’est la DSI, d’autant qu’il est très difficile d’imaginer une informatique « sur plan », et très souvent, on invente en marchant ». Et ce n’est pas la faute aux utilisateurs qui auraient, en amont, mal défini leurs besoins.
« Les bugs en production sont rarement imputables à une mauvaise définition des besoins fonctionnels, ils sont trop souvent dus à des défauts techniques (non fonctionnels) qui résultent d’une mauvaise conception et d’un mauvais codage et qui ne deviennent visibles qu’après la mise en production », diagnostique Bill Curtis, expert en ingénierie logicielle, coauteur du CMM & Business Process Maturity Model, directeur du Cisq (Consortium for IT Software Quality) et directeur technique de Cast.
C’est également une question de gouvernance : « Je suis à la fois DSI et DG, je me mets la pression à moi-même, le point clé reste la gouvernance, si elle est inexistante ou déficiente, cela ne marché pas, témoigne Bernard Hélie, directeur général du GIP MDS, investir dans la qualité du code est primordial dans la mesure où les applications critiques doivent être disponibles en permanence, il faut donc des indicateurs simples pour chaque processus ».
Les facteurs clés de santé d’une application | ||
Facteurs de santé | Description | Exemples de bénéfices métiers |
Transférabilité | Caractéristiques permettant à de nouvelles équipes ou à de nouveaux entrants de comprendre et de travailler rapidement sur une application |
|
Évolutivité | Caractéristiques qui rendent une application plus simple et plus rapide à modifier |
|
Robustesse | Caractéristiques concernant la stabilité d’une application et sa capacité à éviter l’introduction de défauts lors de modifications |
|
Performance | Caractéristiques concernant la performance d’une application |
|
Sécurité | Caractéristiques concernant la capacité d’une application à prévenir toute intrusion non autorisée |
|
Source : Bill Curtis : La valeur business de la qualité logicielle d’une application, Cast, 20 pages. |