Un standard pour mesurer la qualité logicielle
Faciliter l'automatisation des outils de mesure de la qualité et accorder les métriques entre les éditeurs, tels seront les principaux enjeux auxquels le nouveau Consortium of IT Software Quality sera confronté.
01 Informatique
le 08/10/09 à 00h00
Les faits
Le SEI (Software Engineering Institute) et l'OMG (Object Management Group) ont annoncé un partenariat pour créer le Cisq (Consortium of IT Software Quality). Principal objectif de ce consortium : développer un standard pour les métriques de la qualité logicielle.
L'analyse
Des environnements de développement et d'exploitation de plus en plus hétérogènes ; des technologies et des langages issus de différents fournisseurs qui s'entremêlent ; des développements et une maintenance externalisés… Voilà de quoi rendre les relations entre donneurs d'ordre et fournisseurs de plus en plus complexes pour les sociétés qui conçoivent des logiciels ou externalisent leur développement. Elles ont en effet besoin d'un bon niveau de service incluant des mesures sur la fiabilité, la capacité de montée en charge, la sécurité et d'autres aspects de la qualité logicielle. De fait, les bénéfices et le retour sur investissement de la qualité logicielle ont été démontrés (lire 01 Informatique n° 1978, p. 28). Un défaut coûte 100 fois moins cher à corriger lorsqu'il est repéré lors des spécifications que s'il est détecté en production. Sans compter le déficit d'image qu'il engendre pour la société. Afin d'améliorer la qualité, il existe des méthodes, des référentiels, et des outils. Outre les outils de test, une démarche d'amélioration de la qualité s'appuie sur des outils de mesure. C'est ici qu'intervient le Cisq, qui vient combler un besoin de standardisation au niveau de la mesure de la qualité logicielle.
Des normes encore imprécises
Car dans ce domaine, il n'existe aucune norme, aucun référentiel pour comparer et mettre en perspective les outils des différents éditeurs. On trouve bien les normes ISO telles que l'ISO/IEC TR 9126, qui décrit les caractéristiques internes et externes de la qualité et normalise son vocabulaire. Mais elle ne définit pas les mesures de qualité de manière suffisamment précise pour qu'elles soient calculées à partir du code. Il y a également des normes qui s'intéressent aux processus de la qualité (ISO/IEC TR 15504) ou au cycle de vie du test logiciel (ISO/IEC 29119). De son côté, le référentiel CMMi (Capability Maturity Model Integration) s'attache à la qualité des processus de management et de développement applicatif. Enfin, des organismes comme le CFTL (Comité français du test logiciel) et l'ISTQB (International Software Testing Qualification Board) proposent des recueils de bonnes pratiques, par exemple pour la constitution du plan de tests. Mais finalement, il s'avère impossible de comparer les mesures pour réaliser des bancs d'essai ou du contrôle qualité par des applications tierces.
Créé conjointement par le SEI et l'OMG, le Cisq sera constitué de sociétés issues du Global 2000 (classement des 2 000 plus grands industriels de l'informatique), ainsi que d'intégrateurs systèmes, SSII et éditeurs de logiciels. Ils travailleront ensemble pour élaborer un standard de mesure de la qualité logicielle et promouvoir un écosystème capable de supporter son déploiement. Le consortium devra mettre au point ce standard de façon suffisamment détaillée pour permettre une mesure automatisée de la qualité. Le Cisq aura cinq grands objectifs. Il devra conseiller les entreprises et les chefs de gouvernement en les alertant sur l'importance critique et stratégique de la qualité des applications informatiques. A lui de concevoir des attributs de mesures standardisées destinés à l'informatique et aux métiers pour évaluer la qualité logicielle et les risques des applications multi-tiers. Le consortium proposera des méthodes pour utiliser les mesures de qualité lorsqu'une entreprise s'apprête à négocier et gérer l'acquisition ou la maintenance de logiciels. Il aura également pour mission de développer et de promouvoir un modèle de licence pour les professionnels fournissant des services afin de mesurer la qualité de l'application informatique. Enfin, le Cisq mettra en place un forum en ligne destiné à l'industrie informatique de façon à répondre aux enjeux en matière de qualité des applications.
“ Depuis des années, les cadres informatiques se plaignent de l'absence de normes de l'industrie pour tester la qualité des logiciels ”, affirme Richard Mark Soley, PDG de l'OMG. “ Le Cisq nous aidera à comparer l'efficacité d'un développement interne, à évaluer la qualité des applications acquises auprès de sources externes, et à prévoir la qualité et le coût des services informatiques pour l'entreprise. ” Pour présider ce nouveau consortium, les fondateurs ont fait appel à Bill Curtis, directeur scientifique chez Cast Software. Retenu pour son expertise en ingénierie logicielle, ainsi que pour son savoir-faire dans la mise en place de programmes de standardisation, il a été directeur du programme CMM (Capability Maturity Model) au sein du SEI dans les années 1990. Bill Curtis a fait du CMM une référence du niveau de maturité des processus et de l'organisation des entités de développement logiciel.
La sécurité également au menu du Cisq
Si le Cisq se focalisera sur l'automatisation des outils de mesure de la qualité, il n'exclut pas de s'intéresser également aux méthodes de la qualité logicielle. Dans la mesure où la sécurité est un composant critique de la qualité, elle fera également partie des centres d'intérêt du consortium, comme l'explique Bill Curtis, son directeur : “ Nous avons déjà pris contact avec les équipes du projet Common Weakness Enumeration, dont les travaux sont gérés par le Mitre au nom de l'US Department of Homeland Security. Il s'agit d'un catalogue de plus de 600 failles de sécurité et d'anti-patterns (modèles de conception contraires aux bonnes pratiques – NDLR) bien connus dans le code. Des travaux sont en cours au sein de l'OMG pour standardiser la façon dont ces failles de sécurité seront représentées. Actuellement, nous pensons que ces normes OMG sont appropriées pour définir tout anti-pattern de qualité ou faille de sécurité, et qu'elles fourniront une bonne base pour les travaux du Cisq visant à développer un référentiel d'anti-patterns et de mauvaises pratiques de codage connus. ”
Pour l'heure, l'éditeur Cast s'est engagé à adopter les standards émergents du Cisq dans sa solution Application Intelligence Platform. IBM a également rejoint le consortium, lequel s'attend à accueillir très bientôt d'autres éditeurs de logiciels de gestion du cycle de vie des applications. La première version provisoire de la spécification est prévue pour le dernier trimestre 2010. Les premiers outils conformes à la norme devraient apparaître en 2011.
Après l'amélioration des processus de développement, l'ingénierie logicielle s'attaque donc à la productivité des développeurs et des testeurs, ainsi qu'à la qualité des applications en détectant l'origine des défauts au plus tôt dans le cycle de vie de l'application. Le développement logiciel suit ainsi les étapes traditionnelles conduisant à la maturité d'un secteur, à l'instar des industries ayant réussi à éliminer les aléas dans leurs processus de fabrication. Avec à la clé, une réduction des coûts et un impact positif immédiat sur la satisfaction des utilisateurs.
Les fondateurs du Cisq
Le Software Engineering Institute à l'université de Carnegie Mellon a développé CMMi (Capability Maturity Model Integration), un ensemble structuré de bonnes pratiques destiné à appréhender, à évaluer et à optimiser les activités des entreprises d'ingénierie logicielle. CMMi fait aujourd'hui référence dans les processus d'amélioration.
L'Object Management Group est une association américaine à but non lucratif, dont l'objectif consiste à standardiser et à promouvoir le modèle objet sous toutes ses formes. Il est notamment à l'origine des standards UML (Unified Modeling Language) et Corba (Common Object Request Broker Architecture), ainsi que de la recommandation MDA (Model Driven Architecture). L'OMG est compétent pour créer des standards, alors que le SEI est plutôt doué pour réunir des exécutifs autour de la table et les convaincre d'adopter les standards.
Comment se mesure la qualité logicielle
Toute mesure que l'on peut calculer à partir du code est un axe potentiel pour le Cisq. Ces mesures seront développées en utilisant les normes OMG de définition et de représentation des mesures logicielles. Le Cisq travaille également à coordonner les efforts avec les nouvelles normes ISO 25000, qui remplaceront la norme ISO 9126.
Les mesures de taille, telles que le nombre de lignes de code ou des métriques fonctionnelles.
Les mesures de qualité, comme la facilité de maintenance, la robustesse, la sécurité, la complexité ou encore, la performance du code.
Les mesures de défauts, d'erreurs et d'autres événements indésirables.
Les définitions d'anti-patterns architecturaux ou de mauvaises pratiques de codage qui peuvent être détectés dans le code.
Les mesures concernant les problèmes de qualité liés aux coûts informatiques.
Ce qu'ils en pensent
Le directeur du CISQ - Bill Curtis (Cisq et Cast Software) : “ le Cisq s'intéresse aux mesures et à la manière de les définir afin qu'elles soient automatisables ”
“ En réduisant le coût et en améliorant l'automatisation de la mesure de la qualité, nous espérons augmenter considérablement l'accent mis sur la qualité des applications dans l'industrie. Les membres du Cisq peuvent également décider de prendre d'autres initiatives liées à la qualité telles que les méthodes. La meilleure façon d'élargir le marché de la qualité logicielle est d'améliorer les standards relatifs aux mesures et aux pratiques. L'OMG a constaté que les entreprises qui sont les premières à adopter les standards obtiennent un avantage concurrentiel décisif. Cast Software s'est engagé à adopter les standards créés par le Cisq et promus par le SEI et l'OMG. ”
L'éditeur - Bruno Legeard (Smartesting) : “ l'initiative Cisq est remarquable par la légitimité de ses fondateurs ”
“ Pour Smartesting, l'initiative Cisq est intéressante car elle peut aider, à terme, à constituer une mesure sur les projets, à laquelle contribueront la production et la mise en œuvre des tests fonctionnels. La mise au point de tels standards de mesure de la qualité n'est viable en pratique que s'ils sont pris en compte par des outils automatisant la mesure. La génération des tests fonctionnels permettra d'automatiser cette mesure. Mais aussi de contribuer à rendre visible, au niveau des équipes métier et des responsables IT, le niveau de qualité des applications et son évolution dans le temps. Nous allons donc suivre cette initiative, et étudions l'opportunité d'être aussi contributeur direct au futur standard. ”
Le prestataire - Bertrand Cornanguer (Acial) : “ les référentiels CMMi fournissent un cadre afin d'assurer la qualité logicielle ”
“ La démarche CMMi est bonne et laisse à chaque entreprise le soin de déterminer les outils et les métriques qu'elle juge pertinente. Néanmoins, cela induit une charge d'analyse qui fluctue selon la taille et l'organisation de l'entreprise. Cisq aura l'avantage de proposer une vision globale et les bonnes pratiques mises en œuvre par un panel hétérogène de sociétés, et aidera ainsi à franchir les barrières organisationnelles de ces sociétés. En effet, entre MOA, MOE, production et qualité, la transversalité ne se fait pas toujours d'elle-même et nécessite un accompagnement, que nous apportons. Cisq nous assistera dans notre démarche en fournissant un référentiel précis permettant d'apprécier la qualité d'un SI. ”