La société CAST a conçu une série de rapports visant à dégager les tendances actuelles relatives à la qualité structurelle des applications de gestion (robustesse, performances, sécurité, facilité de modification...). En se basant sur ces travaux, l'auteur expose les principaux enseignements qu'il en a tiré.
La qualité structurelle se réfère aux caractéristiques intrinsèques et non fonctionnelles d’une application, c’est-à-dire à l’aplomb de son architecture et à la tenue de son code source plutôt que son alignement à ses exigences fonctionnelles.
Les caractéristiques de qualité structurelle sont cruciales, car elles sont à la fois difficiles à mettre en évidence au moyen des techniques classiques du test et en même temps la cause la plus fréquente des problèmes de fonctionnement des applications telles des pannes, des dégradations de performance, des intrusions par des utilisateurs non autorisés ou des altérations de données.
Les données de l’étude ont été recueillies sur une période de trois ans, proviennent de 288 applications, totalisant 108 millions de lignes de code (équivalant à 3,4 millions de points de fonction), soumises par 75 entreprises ou organismes publics. Les résultats de ces analyses sont consignés dans Appmarq, un référentiel de données sur la qualité structurelle maintenu par CAST. Ces 75 organisations relèvent de huit secteurs d’activité, à savoir l’énergie, la finance, l’assurance, les services informatiques, les technologies, les télécommunications, l’industrie et l’administration publique. Ces organisations sont basées principalement en Amérique du Nord, en Europe et en Inde. La taille des applications analysées s’étale de 10 000 à 5 millions de lignes de code, 26 % des applications contenant moins de 50 000 lignes de code et 32 % comportant entre 50 000 et 150 000 lignes de code. Ces données sont le fruit d’un travail d’analyse et de mesure de la qualité structurelle sur l’éventail d’applications de différentes technologies le plus large jusqu’à présent jamais étudié.
L’article se concentre sur quatre caractéristiques de la qualité structurelle : robustesse, performance, sécurité et évolutivité. L’évaluation de chaque caractéristique provient d’une analyse du code source visant à détecter des violations de bonnes pratiques en matière d’architecture et de codage. Les notes de chaque caractéristique de qualité structurelle sont agrégées sur plusieurs niveaux (du module à l’application) et sont calculées, sur une échelle allant de 1 (risque le plus élevé) à 4 (risque le plus faible), en utilisant un algorithme qui apprécie la sévérité de chaque violation et sa pertinence quant à chacune de ces caractéristiques.
La dette technique étant un concept relativement nouveau, ne sont disponibles que peu de données quantitatives sur ce sujet. La base de données Appmarq de CAST constitue un matériau de premier choix pour produire une estimation de la dette technique basée sur le nombre de malfaçons de qualité structurelle dans le code source.
Ces données offrent un cadre objectif et empirique de référence pour la communauté du développement. Elles fournissent également une base de référence pour apprécier les compromis possibles entre coût de correction des malfaçons du code source et risque que ces défauts peuvent entraîner en termes de pannes ou de failles de sécurité.
En utilisant un modèle d’estimation conservateur, nous estimons que la dette technique de notre échantillon d’applications s’élève à 2,82 dollars par ligne de code. Pour une application de taille moyenne de 374 000 lignes de code, cela correspond approximativement à une dette technique de 1,055 million de dollars. Le coût d’apurement de cette dette technique représente donc le poste principal de coût total de possession d’une application (TCO) et est donc à ce titre l’un des principaux facteurs du coût de l’informatique.
Les analyses préliminaires résumées dans la figure 1 montrent que les applications C/C++ présentent une dispersion dans la dette technique beaucoup plus importante que celle des applications élaborées avec d’autres technologies, bien qu’un échantillon d’applications C/C++ plus grand eût été nécessaire pour caractériser de façon fiable cette répartition.
En examinant la dette technique selon les différentes technologies, il apparait que plus le niveau d’abstraction d’une technologie est élevé, plus la dette technique est faible.
Ainsi, plus le niveau d’abstraction est élevé, moins le développeur risque de commettre des erreurs, car la plate-forme ou les frameworks de base prennent à leur charge davantage de tâches de bas niveau.
Partager |
|
![]() Bill Curtis, Bill Curtis est un des experts mondiaux les plus réputés dans le domaine de l’ingénierie et de la qualité logicielle. Il est reconnu pour avoir développé le CMM (Capability Maturity Model) lorsqu’il était Directeur du Software Process Program au SEI dans les années 90, le standard mondial d’évaluation de la maturité des processus et de l’organisation des entités de développement logiciel. Il a été nommé Directeur du Consortium pour la Qualité Logicielle des Systèmes d’Information (CISQ) par le SEI (Software Engineering Institute, université de Carnegie Mellon) et l’OMG, l’organisme mondial de définition de standards logiciels. CAST, leader mondial du marché de l’analyse et de la mesure des logiciels, permet d’automatiquement mesurer la qualité structurelle des applications et la productivité des équipes de développement. Fondée en 1990, CAST a aidé plus de 250 grandes entreprises à améliorer la satisfaction des utilisateurs de leurs systèmes d’informations et à réduire les risques informatique, tout en en diminuant les coûts de développement et de maintenance. La plupart des grandes SSII ont également adopté CAST dans le cadre de leur industrialisation et d’offres de services innovantes. CAST est cotée sur le compartiment C d’Eurolist Paris (Euronext : CAS) et commercialise ses produits au travers d’une force de vente directe solidement implantée aux Etats-Unis, dans les principaux pays Européen et en Inde, ainsi qu’au travers d’un réseau de partenaires intégrateurs. |



