La norme ISO 9126 (« Technologies de l’Information : Qualités des produits logiciels ») définit un ensemble d'indicateurs pour la qualité logicielle, et « facilite » ainsi le processus d'évaluation logiciel et la spécification d'exigences fonctionnelles ou non-fonctionnelles. Cette norme est en application depuis 1992.
Cette norme définit 6 caractéristiques permettant de décrire la qualité du logiciel, elles-mêmes détaillées en sous-caractéristiques.
Il s'agit d'un ensemble d'attributs permettant de vérifier si le logiciel répond aux besoins fonctionnels exprimés. On y retrouve notamment les notions de pertinence, d'exactitude, d'interopérabilité, de sécurité et de conformité.
Il s'agit ici de décrire les attributs permettant d'évaluer l'aptitude d'un système à maintenir son niveau de service : tolérance aux pannes, conditions de remise en service, maturité…
On retrouve dans cette caractéristique un ensemble d'attributs permettant de caractériser l'effort nécessaire à un utilisateur potentiel pour utiliser le système : facilité de compréhension, d'apprentissage, d'exploitation ou encore pouvoir d'attraction.
Cette caractéristique permet de qualifier le rapport entre le service rendu par le logiciel et les efforts qu'il faut entreprendre pour le faire fonctionner (quantité de ressources utilisées notamment).
Il s'agit ici d'évaluer les possibilités de faire évoluer le système dans le cas de nouveaux besoins : facolité d'analyse, de modification, stabilité et testabilité de la solution.
Cette caractéristique décrit la possibilité de transférer le logiciel d'une plateforme à une autre, et les efforts nécessaires pour le faire : facilité d'adaptation et d'installation, coexistance, interchangeabilité.
La norme ISO 9126 ne fournit qu'un cadre de description, mais pas de méthodologie associée. Une autre norme, ISO/CEI 14598, définit une démarche méthodologique pour l'évaluation d'un système logiciel au regard des caractéristiques et sous-caractéristiques définis dans l'ISO 9126.
Ces deux normes ont été intégrées et révisées dans une nouvelle norme, appelée ISO/IEC 25041 : Ingénierie des systèmes et du logiciel - Exigences de qualité et évaluation des systèmes et du logiciel (SQuaRE) - Guide d'évaluation pour les développeurs, les acquéreurs et les évaluateurs indépendants.
Le processus est décrit en quatre étapes :
La norme ISO 9000-3 (acquisition, la fourniture, le développement, l'exploitation et la maintenance des logiciels et des services de support associés) donne un cadre pour la gestion des projets informatiques, à destibation de l'équipe qualité : cadre du système qualité (responsabilités du client et du fournisseur, audits, actions correctives…), cycle de vie du produit (spécifications, pan qualité, conception, tests, déploiement…) et support (formation, gestion des configurations, base documentaire…).
La norme ISO/IEC 12207 donne un cadre pour la formalisation des processus, à destination des équipes IT : acquisition, développement, installation, déploiement, maintenance.
La norme ISO/IEC 15504 (initialement connue sous le nom de SPICE : Software process improvement and capability determination) fournit un cadre pour l'évaluation des processus. Elle fournit un référenciel de niveaux de maturité, à l'image de CMMi (voir plus bas).
CMMi (Capacity maturity model integrated) est une initiative plus globale, dans le sens où elle ne vise pas uniquement la qualité logicielle d'un point de vue produit (est-ce que le produit est de qualité ou pas), mais elle s'intéresse au niveau de maturité de l'organisation qui élabore le logiciel.
Cinq niveaux de qualité définissent une échelle permettant de qualifier une organisation :
Le tableau suivant présente une vision de l'ensemble des normes et initiatives présentés sur cette page, les enjeux et problématiques adressés et les acteurs concernés.
Initiative | Problématiques abordées | Acteurs concernés |
---|---|---|
ISO/CEI 9126 | Description des caractéristiques, modèle qualité du produit final | Acquéreur, fournisseur de logiciel |
ISO/CEI 14598 | Démarche méthodologique pour l'évaluation d'un produit logiciel au regard des caractéristiques de la norme ISO/CEI 9126 | Acquéreur, fournisseur de logiciel |
ISO/IEC 25041 | Démarche méthodologique pour l'évaluation d'un produit logiciel intégrant ISO/CEI 9126 et ISO/CEI 14598 | Acquéreur, fournisseur de logiciel, évaluateurs indépendants |
ISO/IEC 12207 | Déclinaison des activités du cycle de vie en processus | Équipes IT |
ISO/IEC 15504 | Évaluation des processus et de la maturité de l'organisation | Équipes IT |
CMMi | Évaluation des processus et de la maturité de l'organisation | Entreprise |