Gestion de la qualité logicielle
La gestion de la qualité logicielle est l'ensemble des activités organisationnelles et de projet qui définissent les objectifs de qualité, garantissent que les processus et les produits les atteignent, et améliorent continuellement la capacité à livrer des logiciels de qualité.
Definition
La gestion de la qualité logicielle comprend l'assurance qualité, qui garantit que des processus appropriés sont définis et suivis, et le contrôle qualité, qui vérifie que les produits de travail répondent à leurs exigences, ainsi que la mesure et l'amélioration des processus pour accroître la capacité de qualité au fil du temps.
Scope
Ce sujet couvre les modèles et attributs de qualité logicielle ; la planification, l'assurance et le contrôle qualité ; la mesure et les métriques logicielles ; les revues, audits et la conformité des processus ; les cadres de maturité et d'amélioration des processus tels que CMMI et ISO/IEC 15504 ; et les normes de qualité incluant ISO/IEC 25010 et ISO 9001 appliquées aux logiciels.
Core questions
- Comment les objectifs de qualité logicielle sont-ils définis et rendus mesurables ?
- En quoi l'assurance qualité et le contrôle qualité diffèrent-ils dans leur approche ?
- Comment la maturité des processus est-elle évaluée et améliorée ?
- Quelles métriques indiquent de manière significative la qualité des produits et des processus ?
Key theories
- Assurance qualité versus contrôle qualité
- L'assurance qualité est orientée processus, garantissant que des pratiques appropriées sont mises en place et suivies, tandis que le contrôle qualité est orienté produit, vérifiant que les livrables répondent aux exigences ; les deux sont nécessaires et opèrent à différents moments.
- Maturité et amélioration des processus
- Les cadres issus des travaux de Humphrey, tels que le CMM et CMMI, modélisent la maturité des processus organisationnels par étapes et guident l'amélioration systématique et mesurable de la capacité logicielle d'une organisation.
Clinical relevance
La gestion de la qualité relie la pratique de l'ingénierie aux résultats commerciaux en rendant les objectifs de qualité explicites, en surveillant la conformité et en améliorant les processus ; des processus matures et mesurés tendent à réduire les défauts et la variabilité, ce qui est particulièrement important dans les grandes organisations logicielles ou celles soumises à réglementation.
Evidence & guidelines
ISO/IEC 25010 définit les caractéristiques de qualité des produits, CMMI et ISO/IEC 33000 (anciennement 15504) fournissent des cadres d'évaluation et d'amélioration des processus, et ISO 9001 applique la gestion générale de la qualité aux organisations logicielles.
History
Les idées de gestion de la qualité issues de la fabrication, notamment celles de Deming et Crosby, ont été adaptées aux logiciels par Humphrey à la fin des années 1980, menant au Capability Maturity Model et à son successeur CMMI ; les normes internationales ont ensuite formalisé les modèles de qualité des produits et l'évaluation des processus.
Debates
- Maturité des processus versus agilité
- Il est débattu de savoir si les cadres de maturité des processus lourds tels que CMMI améliorent les résultats ou imposent une bureaucratie qui entre en conflit avec les valeurs agiles ; les praticiens cherchent de plus en plus à combiner une discipline de processus mesurable avec une réactivité agile.
Key figures
- Watts Humphrey
- Philip Crosby
- W. Edwards Deming
- Barry Boehm
Related topics
Seminal works
- humphrey1989
- iso25010
- swebok2014
Frequently asked questions
- Quelle est la différence entre l'assurance qualité et le contrôle qualité ?
- L'assurance qualité est proactive et axée sur les processus, garantissant que les bonnes pratiques sont définies et suivies pour prévenir les défauts, tandis que le contrôle qualité est réactif et axé sur les produits, inspectant et testant les livrables pour détecter les défauts ; les deux font partie de la gestion de la qualité.
- Une maturité de processus plus élevée garantit-elle un meilleur logiciel ?
- Une maturité plus élevée tend à réduire la variabilité et les taux de défauts et améliore la prévisibilité, mais ce n'est pas une garantie ; les cadres de maturité doivent être appliqués de manière judicieuse, et un processus excessif peut entraver plutôt qu'aider s'il n'est pas adapté aux besoins de l'organisation.