Qu’est-ce que l’assurance qualité logicielle?
Voici une définition de ce qu’est l’assurance qualité logicielle (AQL) :
Un ensemble d'activités qui définit et évalue l'adéquation des processus logiciels afin de fournir des preuves qui permettent d'établir la confiance dans le fait que les processus logiciels sont appropriés pour produire des produits logiciels de qualité adéquate, pour les processus prévus, ou pour les services d'exploitation prévus et qu'ils répondent aux exigences du calendrier et du budget (Référence: Daniel Galin – 2018).
Quelle est la différence entre assurance qualité et tests?
Car il y a bel et bien une différence. L’assurance qualité logicielle est axée sur des activités de prévention des anomalies, tandis que les tests logiciels constituent une activité de détection des anomalies. Pour bien distinguer le rôle de chacun, rappelons-nous que l’assurance qualité logicielle assure la qualité d’un produit logiciel avant sa fabrication, alors que les tests logiciels en contrôlent sa fabrication. D’où l’importance de saisir la distinction.
Quels sont les coûts de négliger l’AQL?
Il est facile de déduire que l’assurance qualité logicielle est une activité beaucoup plus rentable et économique pour une organisation, que les tests logiciels. Selon les spécialistes investir un 6% des efforts d’un projet permettrait de réduire de 30% les anomalies ! En effet, il est beaucoup moins coûteux de prévenir une anomalie à sa source, que lorsqu’elle est détectée durant la phase de test. On estime qu’il en coûte jusqu’à mille (1 000) fois plus de corriger une anomalie après une mise en production, que durant la phase d’analyse. Souvent, c’est 30% à 50% du budget qui est consacré aux coûts de reprise. Malheureusement, les entreprises se limitent encore trop souvent aux tests logiciels et croient qu’elles font de l’assurance qualité.

Au-delà des coûts purement financiers, la mauvaise qualité d’un logiciel (et par extension de n’importe quel produit) impacte négativement l’organisation et son image de marque. Les clients vont devenir méfiants, entrainant une baisse des ventes et des revenus ; et les employés ne voudront plus être associés à une mauvaise image, augmentant le taux de roulement et la pénurie de main d’œuvre.
C’est une pente que même les meilleurs services marketing ne pourront pas toujours remonter.
Vitesse ou précipitation?
Aujourd’hui de nombreuses organisations cherchent à augmenter la vélocité de leurs équipes de développement et accélérer le rythme de livraison des logiciels, généralement pour offrir plus de valeur au client. Pour certaines organisations, livrer rapidement un logiciel peut être un réel avantage concurrentiel. En revanche, lorsque l’on confond vitesse et précipitation, il arrive que l’on coupe les coins ronds… dont la qualité. Que vous soyez dans un contexte classique ou agile, la qualité des logiciels est un enjeu majeur. Il faut savoir intégrer l’assurance qualité logicielle selon le contexte de vos projets TI.
Quel est l’élément clef pour réaliser de l’AQL?
Pour s’assurer de la qualité d’un produit logiciel, on doit en premier lieu s’assurer de la qualité de son processus de développement. Ce principe bien simple s’applique à tous les secteurs de l’industrie. Prenez par exemple une entreprise qui fabrique du pain. Pour en améliorer la qualité, on cherche à améliorer son processus de fabrication : on modifie la recette, la température du four, l’emballage du pain, sa manipulation, etc. En somme, on tente de modifier le processus de fabrication pour atteindre un produit de qualité de plus en plus grande. En informatique, le même principe s’applique : on doit améliorer la qualité de nos processus de développement pour atteindre un niveau supérieur de qualité de nos systèmes et produits logiciels.
Comment appliquer la gestion de la qualité dans son organisation?
La mise en place d’un programme qualité permet d’avoir les outils pour réaliser un travail de qualité selon des critères prédéfinis. Selon votre contexte, voici quelques éléments de solutions qui pourraient améliorer la qualité :
- Mettre en place un plan qualité pour chaque projet,
- Identifier les parties-prenantes,
- Rédiger des requis clairs et précis,
- Définir la méthodologie de développement logiciel,
- Appliquer les bonnes pratiques de l’industrie,
- Former les équipes à l’assurance qualité logiciel et aux nouvelles technologies,
- Instaurer des métriques adéquates de qualité et de test,
- Définir un tableau de bord pour le suivi de la qualité et faciliter la communication et la collaboration,
- Insérer des techniques de contrôle qualité dans le processus de développement (revue de code, inspection, audit, …)
- Choisir judicieusement ce qui doit être automatisé.
- Documenter le code,
- Instaurer l’approche du Shift-Left des tests logiciels,
- Etc…
En ces temps où la transformation numérique et l’économie force les organisations à innover et à se réinventer pour survivre, développons dès maintenant notre vision qualité, avant qu’il ne soit trop tard.
Pour aller plus loin :
Formations en assurance qualité logicielleVoir toutes les formations en Analyse, conception et implantation des systèmes d'information
Photo by Bradyn Trollip on Unsplash