Un processus par étape pour des économies importantes.
L'AQL se construit par étapes :
Convaincre la direction :
Un des moyens pour convaincre la direction est de présenter les coûts de la non-qualité pour obtenir un engagement fort. Un projet sans AQL peut entraîner des coûts de correction après livraison 10 à 100 fois plus élevés que si les problèmes étaient détectés en amont (voir plus bas les différents types coûts possibles).
Définir les objectifs qualité :
Il faut d’une part assurer la conformité aux exigences et au respect des normes (ISO/IEC 25010 et 5055) et, d’autre part, valider la satisfaction des utilisateurs. Les objectifs doivent être SMART (Spécifiques, Mesurables, Atteignables, Réalistes, et planifiés dans le Temps).
Mettre l'accent sur la prévention :
Identifiez les sources de non-qualité et appliquez des mesures correctives préventives. Par exemples des revues de code régulières et des tests de régression automatisés.
Améliorer la qualité des livrables :
Assurez-vous que chaque livrable respecte les standards de qualité définis. L'intégration continue et les tests en continus sont cruciaux pour maintenir la qualité.
Mesurer vos progrès :
Avec un tableau de bord et quelques métriques bien choisies, validez la progression vers vos objectifs qualités.
Assurer un processus d'amélioration continue :
Utilisez la méthode de la roue de Deming (Planifier-Faire-Vérifier-Réagir) pour améliorer constamment les livrables, processus et produits logiciels. Mettez en place des rétrospectives après chaque sprint pour identifier les axes d'amélioration.
Trouver l’équilibre entre rapidité et qualité.
Livraison rapide :
Les pressions pour des livraisons rapides peuvent compromettre la qualité. Les délais serrés peuvent favoriser les raccourcis qui augmentent les risques de bugs.
Stratégies d'équilibre :
Adoptez des pratiques agiles et DevOps avec une attention particulière à l'assurance qualité (AQ) et au contrôle qualité (CQ). Par exemple, intégrer les tests automatisés dans le pipeline CI/CD pour détecter les défauts le plus tôt possible.
Gestion des risques :
Différenciez les techniques de contrôle selon la criticité du produit. Par exemples, une revue par les pairs peut être plus appropriée qu’une lecture croisée selon le livrable produit. Les tests de sécurité et de performance doivent être plus rigoureux pour un logiciel de santé que pour un jeu vidéo.
Bonifier le programme qualité
Outils et formations :
Intégrez des processus bien définis, des outils de gestion des anomalies, et des formations sur les normes et les meilleures pratiques. Utiliser des frameworks (cadriciels) comme Selenium pour l'automatisation des tests, SonarQube pour l'analyse de code, et Jira pour la gestion des anomalies (il existe bien d’autres solutions, voyez celles qui correspondent le mieux à vos besoins).
Culture de qualité :
Favorisez une culture de Total Quality Management (TQM) où la qualité est une priorité à chaque étape du cycle de vie du logiciel. La qualité doit être « globale » sur trois axes : Qualité, Coûts et Délais. Encouragez les équipes à signaler les problèmes de qualité sans crainte de répercussions.
Signaler un problème ne doit pas être synonyme d’accuser un autre membre de l’équipe.
Les coûts de la non-qualité
Trop souvent survolés ou ignorés, les coûts de la non-qualité se manifestent sur plusieurs fronts. Citons notamment :
Le coût de retravail :
C’est le temps et les efforts passés à identifier et corriger les problèmes. Le temps de soutien du service à la clientèle : une erreur, un défaut c’est plus de temps que doit passer le préposé à répondre aux usagers insatisfaits.
Délai dans la mise en marché :
Les défauts créent des retards et impactent donc négativement la sortie du produit. Ce sont des opportunités et des revenus manqués.
Perte de revenus :
Selon l’ampleur des enjeux, les utilisateurs peuvent purement et simplement opter pour une solution alternative en adoptant un produit de la concurrence.
Réputation ternie :
Certaines compagnies ont gagné la peu enviable réputation de sortir des produits truffés de bugs (on peut penser à certains acteurs du jeu vidéo en particulier). Ce qui a pour effet une dégradation de l’image de marque et (souvent) une désaffection des clients.
Ressources moins efficientes :
Par définition, des équipes qui soit produisent mal, soit sont en charge de corriger les erreurs, ne sont pas efficaces. Ce sont des ressources homme jour mal utilisées.
Moral des équipes :
Si on parle beaucoup de l’impact négatif sur les clients, des produits de mauvaise qualité ont aussi des répercussions sur le moral et le bien-être des équipes internes. En effet non seulement la mauvaise réputation du produit/de leur organisation va les « contaminer », mais cette mauvaise qualité va aussi alourdir leur charge de travail.
À la lecture de cette liste non définitive des coûts vous comprendrez qu’ils peuvent être conséquents et, pire encore, qu’ils sont quelque peu liés les uns aux autres, pouvant provoquer un effet « domino ».
Conclusion
La qualité logicielle ne doit pas être un ajout de dernière minute mais une intégration continue et rigoureuse tout au long du processus de développement. L'engagement de la direction et une culture de qualité sont essentiels pour des livrables optimisés et une satisfaction client maximale.
Pour aller plus loin :
Assurance qualité : améliorer la qualité des livrables, processus et produits logicielsAssurance qualité : savoir intégrer la qualité selon le contexte des projets
Assurance qualité : créer des tableaux de bord sur la qualité et les tests logiciels
Assurance qualité : appliquer les techniques de contrôle qualité dans les projets
Photo de Lukas Tennie sur Unsplash