Meilleure pratique : Vérifier la qualité en continuLes 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. Rubriques
Que voulons-nous dire 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, si l'on demande, "Qu'est-ce que la qualité ?", tout le monde a une opinion différente. Voici quelques réponses courantes :
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 :
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 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 :
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 :
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 :
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 Chef 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" à un produitDe 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 La qualité n'est qu'une seule dimension, attribut, ou caractéristique et signifie la même chose pour le mondeLa 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é :
Voir Concepts : Dimensions de qualité, La qualité se fait toute seuleLa 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 finaux, 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 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 :
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 le RUP
La gestion de la qualité est effectuée dans les buts suivants :
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 :
|
RUP (Rational Unified Process)
|