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.
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.
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.
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é :
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.
Il existe de nombreuses idées fausses au sujet de la qualité et les plus courantes incluent :
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é 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é 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.
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.
|