Pilotez la qualité d'un logiciel en quelques clics

Pilotez la qualité d’un logiciel en quelques clics

CETIC Quality Cockpit

Le suivi de l’évolution de la qualité des développements informatiques est difficile. Les manquements sont souvent détectés trop tard dans le processus de développement, ce qui augmente le coût de correction. En outre, l’effort de tests est difficile à piloter et peut être amélioré. Les analyses prennent rarement en compte les risques métier de l’application.

Date: 13 octobre 2010

Domaine: Secteur numérique 

A propos du projet: CE-IQS 

Introduction - Qui s’intéresse à la qualité ?

Avoir une idée exacte de la qualité d’une application est une préoccupation récurrente pour les managers. Soit dans le cadre d’une acquisition d’un logiciel ; soit dans le développement ou la maintenance d’une application de manière interne ou externalisée. Quelque soit l’utilisation, le CETIC Quality Cockpit (CQC) s’adresse à vous.

En quelques mots, le CQC c’est quoi ?

Le CETIC Quality Cockpit est une plateforme d’analyse de code continue et qui repose sur des règles de bonnes pratiques issues de plusieurs années de recherche dans le domaine de l’analyse de code. Ces règles s’appuient sur les standards de programmation reconnus (ISO 9126, SQUARE, ISO 25000, CMMI) et les bonnes pratiques de développement liées à chaque technologie.

Diviser pour mieux régner : pas toujours !

De manière générale, la qualité d’un logiciel peut être décomposée en deux aspects : la qualité interne et la qualité externe. La qualité interne est liée à l’implémentation par exemple par le respect de bonnes pratiques de développement qui facilite la maintenance et l’évolutivité du code. La qualité externe est la qualité perçue par les utilisateurs de l’application et concerne son comportement fonctionnel en termes de fiabilité, d’efficacité et de sécurité. Ces deux aspects sont souvent contrôlés dans des processus différents. Si la qualité interne peut être mesurée par des analyseurs de code, la qualité externe est assurée par l’exécution de tests. Force est de constater qu’il est difficile de réunir ces deux informations pour obtenir une vision globale de la qualité et mieux la contrôler. Le CQC répond à ces besoins en fournissant une vision de haut niveau destinée aux managers. Il offre donc les outils nécessaires pour suivre et gérer l’évolution d’un logiciel et contrôler ses risques.

Une application est constituée d’un ensemble de modules fonctionnels, implémentés un peu partout dans le code, chacun ayant une importance différente sur le bon fonctionnement de l’application. Contrairement à d’autres analyseurs de code, le CQC permet d’identifier ces modules fonctionnels et de prendre en compte leur criticité pour mettre en valeur les résultats des analyses.

Comment le CQC peut-il vous aider ?

D’une part, le CQC offre, au moyen de tableaux de bord, une vision objective et centralisée de la qualité d’une application. De plus, il identifie les parties critiques d’une application sur base des attentes qualitatives des managers mais aussi des modules fonctionnels et de leur importance. Dès lors, le CQC est l’outil indispensable qui permet de piloter au mieux l’effort de développement, de maintenance mais aussi l’effort de test.

Par exemple, comment piloter l’effort de test ?

Optimiser l’effort de test est un défi récurrent pour les managers. Pour piloter efficacement le test d’une application, il est nécessaire de se poser les questions suivantes :
- Quelles sont les parties de code qui doivent être testées ? En d’autres termes, quelles sont les parties de code qui présentent une probabilité importante de bugs ?
- Quelles sont les parties de code qui nécessiteront un effort de test plus important ?
- Quelles sont les parties de code critiques, fonctionnellement parlant ?
- Quelles sont les parties qui ont déjà été couvertes par les tests et quel est le résultat de ces tests ?
- Est-ce que les parties couvertes actuellement par les tests correspondent bien aux parties critiques de l’application ?

Pour répondre à toutes ces questions, le CQC est l’outil indispensable. Il détermine la pertinence de tester une partie de code, l’effort nécessaire et le compare à l’état actuel des tests. Le résultat permet de prendre des décisions pertinentes et efficaces sur l’allocation de l’effort de test afin d’optimiser la qualité d’une application.

Quels sont les autres avantages de la plateforme ?

- Analyse continue, qui permet de détecter les problèmes au plus tôt pour minimiser les coûts de maintenance.
- Approche SaaS (software as a service) qui minimise les coûts d’installation et de maintenance du CQC.
- Accessible à tous les acteurs du développement pour une vision commune de la qualité actuelle du développement.
- Intégration dans le processus de développement, en permettant de descendre jusqu’à la ligne de code.
- Amélioration du niveau technique et de la performance des équipes de développement.
- Last but not least : le service du CETIC, en matière de recommandations, d’analyse avancée, de coaching, de paramétrisation…

Conclusion

En résumé, le CQC est l’outil incontournable pour :
- Contrôler les risques, notamment business,
- Réduire les coûts,
- Suivre et gérer l’évolution,
- Accroître la performance et la maitrise d’ouvrage.

Nicolas DEVOS et Fréderic FLEURIAL MONFILS