Gestion de la qualité
La pratique de vérification et de gestion de la qualité tout au long du cycle de vie du projet est essentielle pour atteindre les objectifs voulus au bon moment. Les problèmes logiciels sont de 100 à 1000 fois plus coûteux à trouver et à réparer après le déploiement.
Relations
Eléments connexes
Description principale

Image Vérification continuelle de la qualité

Les problèmes logiciels sont de 100 à 1000 fois plus coûteux à trouver et à réparer après le déploiement. Il est essentiel de vérifier et de gérer la qualité tout au long du cycle de vie du projet pour atteindre les objectifs voulus au bon moment.

Qu'entendons-nous par "vérification de la qualité tout au long du cycle de vie" ?

Il est important d'évaluer la qualité de tous les artefacts à plusieurs étapes du cycle de vie du projet au fur et à mesure de leur maturation. Les artefacts doivent être évalués vers la fin des activités les produisant et à la fin de chaque itération. En particulier, lors de la création d'un logiciel exécutable, celui-ci doit être soumis à la démonstration et aux tests de scénarios importants de chaque itération, ce qui donne une compréhension plus tangible des compromis de conception et permet d'éliminer plus tôt les anomalies architecturales. Cette méthode s'oppose à une approche plus traditionnelle qui repousse le test des logiciels intégrés plus tard dans le cycle de vie du projet.

Qu'est-ce que la qualité ?

Introduction

La qualité est quelque chose que nous essayons toujours d'atteindre dans nos produits, nos processus et nos services. Pourtant, sur la question "Qu'est-ce que la qualité ?", chacun a une opinion différente. Voici quelques réponses courantes :

  • "La qualité... Je ne sais pas trop comment la décrire, mais je la reconnais quand je la vois."
  • "... c'est répondre à des exigences."

La référence la plus fréquente à la qualité, notamment en ce qui concerne les logiciels, est peut-être cette remarque concernant son absence :

"Comment ont-ils pu sortir un produit d'aussi mauvaise qualité ? !"

Ces réponses courantes sont significatives, mais elles ne permettent pas vraiment d'examiner avec rigueur la qualité et d'améliorer son exécution. Ces commentaires illustrent tous le besoin de définir la qualité de façon à la mesurer et à l'atteindre.

Pourtant, la qualité n'est pas une seule caractéristique ou attribut. Elle est multidimensionnelle et peut être possédée par un produit ou un processus. La qualité d'un produit se focalise sur la création du bon produit, alors que la qualité d'un processus met l'accent sur le fait de créer le produit correctement. Voir Concept : Qualité du produit et Concept : Qualité du processus pour plus d'informations.

Définition de la qualité

La définition de la qualité, extraite du American Heritage Dictionary of the English Language, 3rd Edition, Houghton Mifflin Co.,© 1992, 1996, peut être traduite ainsi :

Qualité n.f. Une caractéristique inhérente ou distinctive ; une propriété. b. Un trait personnel, en particulier un trait de caractère. 2. Caractère essentiel ; nature. 3.a. Type de supériorité. b. Degré ou mesure d'excellence.

Cette définition montre que la qualité n'a pas une seule dimension, mais plusieurs. Pour utiliser la définition et l'appliquer au développement logiciel, la définition doit être précisée. Ainsi, pour les besoins du Rational Unified Process (RUP), la qualité est définie en tant que :

"...la caractéristique d'avoir montré la réussite de création d'un produit qui répond ou dépasse les exigences définies - mesurée par des mesures et des critères définis- et qui est produit par un processus défini."

Pour atteindre la qualité il ne suffit pas de "répondre aux exigences", ou de créer un produit qui répond aux besoins et aux attentes de l'utilisateur. La qualité comporte aussi l'identification des mesures et des critères pour montrer que la qualité a été atteinte, et l'implémentation d'un processus pour s'assurer que le produit créé par le processus a atteint le degré de qualité souhaité et peut être répété et géré.

Voir également les pages suivantes pour plus d'informations sur la manière dont le RUP définit la notion de qualité :

A qui appartient la qualité ?

On suppose souvent, à tort, que la qualité appartient, ou est de la responsabilité d'un seul groupe. Ce mythe est souvent perpétué par le fait de créer un groupe, parfois appelé assurance qualité - d'autres noms incluent test, contrôle qualité et ingénierie qualité- et de donner à ce groupe le privilège et la responsabilité de la qualité.

La qualité est et doit être de la responsabilité de tout le monde. Atteindre la qualité doit faire partie de pratiquement toutes les activités de processus, plutôt que d'être une discipline séparée, ce qui rend tout le monde responsable de la qualité des produits (ou des artefacts) qu'ils produisent et pour l'implémentation du processus auquel ils participent.

Chaque rôle contribue à atteindre la qualité des manières suivantes :

  • Qualité du produit - contribution à l'atteinte globale de la qualité pour chaque artefact produit.
  • Qualité du processus - atteinte de la qualité dans les activités de processus auxquelles ils participent.

Tout le monde partage la responsabilité et la fierté d'avoir atteint un produit de haute qualité, ou la honte d'avoir créé un produit de basse qualité. Mais seules les personnes travaillant directement sur un composant de processus spécifique sont responsables de la fierté, ou de la honte, de la qualité de ces composants de processus (et des artefacts). Cependant, quelqu'un doit prendre la responsabilité de gérer la qualité ; c'est-à-dire effectuer une supervision pour s'assurer que la qualité est gérée, mesurée et atteinte. Le rôle responsable de la gestion de la qualité est le Responsable de projet.

Idées fausses courantes au sujet de la qualité

Il existe de nombreuses idées fausses au sujet de la qualité et les plus courantes incluent :

La qualité peut être ajoutée à ou "testée" sur un produit

De la même façon qu'un produit ne peut être créé s'il n'existe pas de description de ce qu'il est, ce qu'il doit faire, qui l'utilise, etc, la qualité ne peut être atteinte si elle n'est pas décrite, mesurée et si elle ne fait pas partie du processus de création du produit.

Voir Concept : Mesure de la qualité et la section de ce document intitulée La qualité se fait toute seule.

La qualité représente une seule dimension, attribut ou caractéristique et a la même signification pour tout le monde

La qualité n'est pas une seule dimension, attribut ou caractéristique. La qualité se mesure de nombreuses façons - des mesures et des critères de qualité sont établis pour répondre aux besoins du projet, de l'organisation et du client.

La qualité peut être mesurée selon plusieurs dimensions - certaines ont trait à la qualité du processus, d'autres à la qualité du produit, d'autres aux deux. On peut mesurer les caractéristiques suivantes de qualité :

  • Progression - par exemple, cas d'utilisation présentés ou événements jalons terminés
  • Variation - les différences entre les délais, budgets, exigences en terme de personnel, etc. prévus et réels
  • Fiabilité - résistance aux échecs (panne, arrêt imprévu, perte de mémoire, etc.) pendant l'exécution
  • Fonction - l'artefact implémente et exécute les cas d'utilisation requis de façon adaptée
  • Performance - l'artefact exécute et répond de façon rapide et acceptable, et continue à fonctionner de façon acceptable lorsqu'on le soumet à des caractéristiques opérationnelles réalistes comme le chargement, le stress et de longues périodes d'opération.

Voir Concept : Dimensions de qualité, Concept : Qualité du produit et Concept : Qualité du processus pour plus d'informations.

La qualité se fait toute seule

La qualité ne peut se faire toute seule. Pour atteindre la qualité, un processus doit être implémenté, approuvé et mesuré. L'objectif du RUP est de fournir une approche rigoureuse à l'attribution des tâches et des responsabilités dans le cadre d'une organisation de développement. Notre but est de nous assurer que la production de logiciels de haute qualité répond aux besoins de nos utilisateurs, dans des délais et un budget prévisibles. Le RUP consigne un grand nombre des meilleures pratiques du développement logiciel moderne sous une forme pouvant être adaptée à une large gamme de projets et d'organisations. La discipline environnement vous donne des conseils sur la meilleure façon de configurer le processus selon vos besoins.

Les processus peuvent être configurés et des critères de qualité d'acceptabilité peuvent être négociés, selon plusieurs facteurs. Les facteurs les plus courants sont :

  • Risque (y compris le passif)
  • Opportunités du marché
  • Exigences en terme de revenus
  • Problèmes de personnel ou de délais
  • Budgets

Les changements dans les processus et les critères d'acceptabilité doivent être identifiés et acceptés au début du projet.

Gestion de la qualité dans RUP

La gestion de la qualité est effectuée dans les buts suivants :

  • Identifier les indicateurs appropriés (métriques) de qualité acceptable
  • Identifier des mesures appropriées à utiliser dans l'évaluation de la qualité
  • Identifier et résoudre de façon appropriée les problèmes liés à la qualité le plus rapidement et efficacement possible

La gestion de la qualité est implémentée dans toutes les disciplines, enchaînements des activités, phases, et itérations du RUP. Généralement, gérer la qualité tout au long du cycle de vie signifie implémenter, mesurer et évaluer la qualité du processus et la qualité du produit. Certains des efforts fournis pour gérer la qualité dans chaque discipline sont mis en évidence dans la liste suivante :

  • La gestion de la qualité dans la discipline exigences comporte l'analyse de l'artefact d'exigences défini pour la cohérence (entre les standards des artefacts et les autres artefacts), la clarté (communication claire des informations à tous les actionnaires, parties prenantes, et autres rôles) et la précision (niveau adapté de détails et exactitude).
  • Dans la discipline d'analyse et de conception, la gestion de la qualité comporte l'évaluation de la série d'artefacts de conception, y compris la cohérence du modèle de conception, sa traduction à partir des artefacts d'exigences et sa traduction dans les artefacts d'implémentation.
  • Dans la discipline d'implémentation, la gestion de la qualité comprend l'évaluation des artefacts d'implémentation et l'évaluation du code source ou des artefacts exécutables par rapport aux exigences, à la conception, et aux artefacts tests adaptés.
  • La discipline de test est largement axée sur la gestion de la qualité, dans la mesure où la majorité des efforts fournis dans cette discipline traite des trois objectifs de la gestion de la qualité identifiés ci-dessus.
  • La discipline d'environnement, comme la discipline de test, comporte de nombreux efforts traitant des objectifs de la gestion de la qualité. Vous trouverez ici des conseils sur la meilleure manière de configurer votre processus pour répondre à vos besoins.
  • La gestion de la qualité dans la discipline de déploiement de vos livrables comporte l'évaluation des artefacts d'implémentation et de déploiement, et l'évaluation des artefacts exécutables et de déploiement par rapport aux exigences, à la conception, et aux artefacts tests adaptés nécessaires à la livraison du produit au client.
  • La discipline de gestion de projet comporte une vue d'ensemble de nombreux efforts de gestion de la qualité, y compris les revues et les audits requis pour évaluer l'implémentation, l'acceptation et la progression du processus de développement.