Skip to main content

Toute organisation sur la planète pratique l'ingénierie de la qualité, qu'elle en soit consciente ou non. Le simple fait de créer un produit ou un service implique de se confronter au défi de fournir une haute qualité. Ignorer la qualité a presque toujours conduit à des résultats désastreux

En fait, rien qu'aux États-Unis, le coût des logiciels de mauvaise qualité en 2018 s'élevait à 2,8 trillions de dollars.

Tout le monde est à la recherche du saint graal des produits et services de qualité : plus de clients et de croissance, des coûts réduits et des marges bénéficiaires accrues. La discipline de l'ingénierie de la qualité résulte de cette quête, qui est loin d'être terminée.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

L'ingénierie de la qualité est un ensemble de méthodologies, de processus et de principes qui aident une organisation à améliorer ses processus métier afin d’atteindre un certain niveau de qualité pour ses produits ou services. En tant que professionnel averti de l'assurance qualité, vous aurez remarqué la définition circulaire contenant le mot qualité, ce qui nous amène à la question suivante :

Qu'est-ce que la qualité ? Quels sont les aspects de la qualité ?

La qualité n'est pas facile à définir car elle comporte plusieurs aspects subjectifs. D'ailleurs, le philosophe et auteur Robert Pirsig a écrit un livre sur la qualité : « Traité du Zen et de l’Entretien des motocyclettes », dans lequel il expose sa Métaphysique de la Qualité.

Fait intéressant, ce livre a été refusé par 121 éditeurs qui le jugeaient de mauvaise qualité. Pirsig a cependant persisté, et l’éditeur n°122 a estimé que « Ce livre est d’une brillance au-delà du croyable, c’est probablement un chef-d’œuvre… » et l’a publié, après quoi il s’en est vendu plus de 5 millions d’exemplaires.

Pirsig avait peut-être raison en affirmant que la qualité est difficile à définir, mais nous la comprenons tous intuitivement. Cependant, en tant qu’ingénieurs, il n’est pas dans notre nature de nous en satisfaire, alors nous allons tenter de dresser une liste des aspects de la qualité.

Aspects de la qualité.


À l’échelle mondiale, l’industrie manufacturière utilise diverses normes et approches de qualité pour mieux standardiser la qualité, comme l’ISO 9001, Six Sigma et la gestion totale de la qualité (Total Quality Management).

Ingénierie de la Qualité dans les Logiciels

L’industrie logicielle a compris que l’approche corrective préconisée par l’assurance qualité et le contrôle qualité — consistant à rechercher et à corriger les bugs après coup — avait atteint ses limites.

L’ingénierie de la qualité offre une voie d’avenir grâce à une démarche proactive et préventive, mettant en œuvre des systèmes pour résoudre les problèmes de qualité auxquels est confronté le développement logiciel en général, et le développement de produits en particulier.

En mettant de côté la philosophie « la qualité dépend du point de vue de chacun », l’ingénierie de la qualité logicielle traite deux aspects qui permettent d’assurer un haut niveau de qualité :

La qualité fonctionnelle, qui concerne les aspects fonctionnels d’un produit ou d’une solution logicielle : Fait-il ce qui est attendu ? Est-il conforme à une spécification de conception ?

La qualité structurelle qui concerne les aspects non fonctionnels du logiciel : Est-il robuste ? Sécurisé ? Très disponible ? Facile à maintenir ? 

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

L’évolution et le Cycle de Vie de l’Ingénierie de la Qualité dans les Logiciels

L’ingénierie de la qualité logicielle connaît une véritable renaissance, les organisations mettant tout en œuvre pour prévenir ou détecter les défauts le plus tôt possible.

Cela a engendré une multitude de nouveaux outils d’ingénierie de la qualité et de méthodes, notamment l’automatisation des tests, les tests shift-left, DevOps, DevSecOps, l’Intégration Continue et le Déploiement Continu (CI/CD), SDET, le développement piloté par les tests (TDD) et le développement piloté par le comportement (BDD), la gestion des risques, et l’intelligence artificielle.

Ensemble, tous ces éléments forment une approche émergente de l’ingénierie de la qualité.

Le cycle de vie de l’ingénierie de la qualité.

Le rôle des données et des indicateurs dans l’ingénierie de la qualité

Edwards Deming, gourou du management de la qualité, a aidé les procédés de fabrication japonais à devenir une force de classe mondiale dans les années 80 et 90.

Il est bien établi que les données et les indicateurs comptent pour la qualité. En fait, ils sont l’un des principaux moyens de déterminer si votre initiative d’ingénierie qualité prend racine et fonctionne. Mais de quels indicateurs parlons-nous ?

Utiliser des indicateurs pour provoquer le changement est un processus loin d'être trivial.

Aujourd’hui, il est possible d’obtenir bien plus de données que ce que nous savons exploiter, et il est facile de se noyer dans cet océan d'informations. Il est donc important de déterminer quelles données et mesures sont pertinentes. Pour paraphraser le très honorable Rumsfeld, « Méfiez-vous des inconnues inconnues ! »

Je vais prendre un risque ici et dire que les indicateurs qui mesurent les résultats finaux sont les plus révélateurs de tous. Après tout, les initiatives d’ingénierie qualité doivent aboutir à une entreprise plus forte et améliorée. Cela inclut des mesures comme :

  • Volume des ventes de produits
  • Satisfaction client – en particulier les recommandations des clients à d’autres personnes
  • Volume et type de demandes d'assistance

Cependant, obtenir ces mesures peut prendre de quelques mois à quelques années après la mise en place, et personne n’a autant de temps !

Pour nous aider à suivre l'amélioration de la qualité au fur et à mesure qu'elle se produit, nous utilisons des indicateurs comme :

  • Le coût de la qualité
  • Indicateurs de détection des défauts
  • Couverture
  • Indicateurs de performance et de publication
  • Indicateurs de productivité, d’efficacité et d’efficience.

En fin de compte, toutes les données et indicateurs doivent aider les responsables de l’ingénierie qualité à identifier les risques à l’avance, minimiser les défauts et la dette technique, et accroître l’agilité ainsi que le délai de mise sur le marché.

Pourquoi l’ingénierie qualité est-elle importante ?

HISTOIRE VRAIE : Au début de ma carrière, je dirigeais une équipe logicielle qui livrait des solutions à des clients. Un beau jour, je me rends à un rendez-vous commercial pré-vente chez un client potentiel – appelons-les « Consultants Financiers Frustrés Inc. » – qui voulait une application web de gestion du temps et des notes de frais. Frustrés employait plus de 1 000 consultants auprès de leurs différents clients.

J’ai rencontré leur CTO, et il m’a expliqué qu’ils en avaient assez de leur solution de feuilles de temps sur-mesure (que quelqu’un avait mis neuf mois à développer) et qui présentait un comportement pour le moins étrange. Chaque fois qu’un employé cliquait sur un lien pour remplir un enregistrement de feuille de temps, il accédait à un formulaire qui ressemblait à ceci :

Maintenant, en tant qu’ingénieur QA averti, vous aurez sans aucun doute remarqué le problème de la taille du Grand Canyon dans ce formulaire.

Pourquoi diable un utilisateur devrait-il sélectionner son propre nom dans une liste d’employés !?

De nombreux utilisateurs, ayant mieux à faire, oubliaient de sélectionner leur propre nom dans la liste, la laissant à la valeur par défaut « Amy Adams », qui avait eu la malchance d’être le premier nom dans la liste triée.

Mais ce n’est pas tout. La pauvre Amy Adams n’était vraiment pas satisfaite de la situation, on a donc "corrigé" le problème en créant un employé fictif nommé A. Aardvark ! Je n’invente rien !

Désormais, chaque semaine, le responsable de la facturation découvrait qu’A. Aardvark était en tête du classement de productivité avec 300 à 500 heures facturées ! Cette pauvre dame devait passer une demi-journée chaque semaine à trouver et à relancer les personnes qui avaient commis cette erreur, pour leur demander de la corriger.

Et voilà comment A. Aardvark est devenu l’employé du mois le plus productif pendant plusieurs mois consécutifs, avec une productivité de 6 à 10 fois supérieure ! Je vous jure, je n’aurais pas pu inventer une telle histoire même si je l’avais voulu…

Photo d’archive de l’employé du mois, A. Aardvark.

Quoi qu’il en soit, l’histoire se termine bien pour les employés de Frustrés. En quelques mois, nous avons développé une application de feuilles de temps ultramoderne qui ne nécessitait pas que les employés sélectionnent eux-mêmes leur nom dans une liste, et ils vécurent heureux !

Et voilà, chers amis, c'est pourquoi l'ingénierie de la qualité est si importante.

Que fait un ingénieur qualité ?

Les ingénieurs qualité logiciel sont une partie intégrante de l'équipe de conception et de qualité logicielle. Ils supervisent le processus de développement logiciel, de l’idéation à l’exécution, afin de s’assurer que les produits respectent des normes de qualité prédéfinies.

Les ingénieurs qualité certifiés utilisent des techniques d'amélioration continue et divers outils de contrôle de la qualité pour garantir la conformité. Des mesures telles que les actions correctives et les actions préventives sont employées pour éliminer tout écart de qualité.

Pour répondre aux besoins variés et exigeants des organisations logicielles d’aujourd’hui, les ingénieurs qualité jouent une multitude de rôles, notamment la conception, SDET, tests, et bien d’autres encore. En général, il s'agit d'une fonction exigeante qui requiert de multiples compétences pour bien l’exercer, telles que la résolution de problèmes, le dépannage, la maîtrise de la gestion statistique des processus, les tests logiciels, l'automatisation et le contrôle qualité.

L’American Society for Quality (ASQ) propose la certification Certified Software Quality Engineer à l'attention des ingénieurs qualité.

Rejoignez-nous pour plus d’analyses

La transition du contrôle qualité et de l’assurance qualité vers l’ingénierie de la qualité est bel et bien engagée. L’ingénierie de la qualité a révolutionné la façon dont les logiciels sont conçus et continue d’évoluer.

Accélérez la croissance de votre SaaS et développez vos compétences en leadership. Abonnez-vous à notre newsletter pour découvrir les dernières analyses à destination des CTO et futurs leaders technologiques. Nous vous aiderons à évoluer plus intelligemment et à diriger avec assurance grâce à des guides, des ressources et des stratégies d’experts reconnus !