Assurance Qualité
Qualité du produit et performance du projet

La maîtrise de la qualité à pour objectifs pratiques de réduire les coûts par la réduction des dysfonctionnements et par la même de garantir une régularité de production. La  maîtrise de la qualité implique en premier lieu la maîtrise des processus d'ingénierie du logiciel. Celle-ci se base désormais sur la normalisation ISO 15504 ou CMM qui représente actuellement l’état de l’art en matière de conduite de projet de développement.

L’assurance qualité[1] regroupe l’ensemble de ces préoccupations dans un cadre générique dont l’aboutissement opérationnel peut s’exprimer par la production d’un document spécifique à un projet particulier : le plan d’assurance qualité. Ce plan est constitué de la description systématique des conditions d’exécution du projet et du pilotage permanent des processus. L’adaptation permanente de ces deux activités s’effectue dynamiquement par l'élimination des défauts ou des déviations mis en évidence lors de leur exécution.

Facteurs et critères de qualité

Typiquement, la qualité est confondue avec un contrôle final de recette. La définition objective de la qualité comme une conformité à des exigences formellement définies est due a Crosby qui précise : « Les objectifs de qualité sont à atteindre par la prévention associée à un contrôle planifié et non par un constat après coup. » En ce qui concerne la responsabilité de l’action, Deming écrit : « La découverte d'un dysfonctionnement spécifique et son élimination relève de la responsabilité des personnes directement rattachées à l'exécution de l'opération correspondante. » En ces termes, il définit le principe du management par la qualité de service et offre du même coup une solution  « Agile » au pilotage de la complexité.

Dans une communication intitulée Factors in Software Quality, J.A. McCall, a identifié plus de cinquante facteurs candidats, permettant d'exprimer la qualité, puis ensuite il a sélectionné les onze principaux :

ú        l'adaptabilité mesure l'aptitude du logiciel à faciliter l'adjonction de nouvelles fonctionnalités ou la modification de fonctionnalités existantes (cet aspect couvre la correction des défauts provenant d'une mauvaise expression des besoins),

ú         la confidentialité mesure l'aptitude d'un logiciel à être protégé contre tout accès non autorisé ,

ú         la correction mesure le degré de conformité par rapport aux spécifications,

ú         la couplabilité mesure l'aptitude d'un logiciel à être intégré dans un ensemble plus vaste,

ú         l'efficacité mesure l'aptitude d'un logiciel à minimiser la consommation des ressources qu'il utilise,

ú         l’ergonomie mesure l'aptitude d'un logiciel à être d'une utilisation agréable et facile pour l'utilisateur à qui il est destiné,

ú         la maintenabilité mesure l'aptitude d'un logiciel à faciliter la localisation et la correction d'erreurs résiduelles (il s'agit bien là de correction de défauts de non-conformité par rapport aux spécifications et non de défauts provenant d'une mauvaise expression des besoins),

ú         la portabilité mesure l'aptitude du logiciel à minimiser les conséquences d'un changement d'environnement technique,

ú         la réutilisabilité mesure l'aptitude du logiciel à une réutilisation de tout ou partie de ses composants dans le cadre d'un autre projet,

ú         la robustesse mesure l'aptitude du logiciel à conserver un comportement conforme aux besoins dans le cas d'événements imprévus,

ú         la testabilité mesure l'aptitude d'un logiciel à faciliter la vérification de son comportement par rapport à des critères de test et de recette. 

L’assurance qualité « ISO 15504 - CMM »

Dans une organisation impliquée dans la normalisation de sa chaîne de production de logiciel, la notion de Plan Qualité s’applique à l’organisation et englobe les 18 pratiques préconisées par CMM. La notion de Plan d’Assurance Qualité s’applique toujours au projet  et correspond  à un document décrivant le protocole du projet en incluant les points suivants :

ú         la formalisation des Exigences et des contraintes du projet,

ú         l’organisation de la communication,

ú         la précision de la méthodes et du processus de production,

ú         la description des livrables et des conditions de recette à chaque étape,

ú         la planification de contrôles systématiques de qualité appliqués aux livrables.

Ces informations se répartissent en deux parties majeures ou font l’objet de deux documents distincts :

ú         le Plan d’Assurance Qualité du logiciel,

ú         le Plan d’Assurance Performance du projet.

Cette distinction permet de prendre en considération les deux visions complémentaires mais parfois antagonistes liées à la dichotomie MOA / MOE (Figure 1. — Visions MOA / MOE du projet). De plus, le plan incorpore à son début des sections dédiées à la responsabilité organisationnelle des intervenants en regard de l’assurance qualité.

Figure 1. — Visions MOA / MOE du projet

L’assurance qualité « Agile »

Une direction des études informatiques soucieuse de sa performance s'attache à définir, préalablement à chaque projet, son niveau de besoin en terme de suivi et de qualité. Cette notion de « niveaux de services » recouvre entre autres :

ú         le niveau de conduite de projet,

ú         le niveau de levée des risques,

ú         le niveau de qualité documentaire,

ú         le niveau de qualité applicative.

Les deux liste suivantes présentent un exemple plus détaillé de cette vision « à la carte » de la rigueur « juste nécessaire » que requiert la qualité assujettie à des conditions de performance économique.

1. Niveau de service « projet »

ú         Planification et suivi de l'avancement.

ú         Planification et suivi des risques.

ú         Planification et suivi de la sécurité.

ú         Formalisation des activités de conduite de projet.

ú         Formalisation de la gestion des changements.

ú         Formalisation de la gestion de la configuration.

ú         Formalisation de la gestion des tests.

2. Niveau de service « application »

ú         Production de l'application, qualité technique.

ú         Production de l'application, qualité fonctionnelle.

ú         Production de la documentation technique.

ú         Production de la documentation d'utilisation.


Qualité applicative et qualité technique

En termes de qualité de la production, il importe de dissocier la qualité applicative de la qualité technique.

La qualité applicative se mesure par le degré de satisfaction de l’utilisateur à l'égard :

ú         de la couverture fonctionnelle de ses besoins réels,

ú         de l’ergonomie générale et des facilités d’appropriation,

ú         des temps de réponse de l’application,

ú         de divers autres facteurs d’appréciation.

La qualité technique est un ensemble de critères qui couvre :

ú         le nombre de « bugs » résiduels,

ú         la lisibilité du code et sa documentation,

ú         la concision des modules programmés,

ú         l’unicité et la hiérarchisation des fonctions internes,

ú         la non-redondance des appels de fonctions,

ú         la réduction des parties d’interfaces similaires,

ú         la généralisation et la sécurité des procédures d’erreur.

C’est en conservant à l’esprit ces recommandations que sera rédigé le Plan d’Assurance Qualité du projet normalisé CMM.


[1] Une responsabilité formelle doit être chargée des activités d'assurance qualité.




Un chapitre complet est consacré aux nouvelles formes de l'assurance qualité dans l'ouvrage :

Systèmes d'information et processus Agiles

Systèmes d’information et processus Agiles a pour objectif de former les ressources (maîtrise d'ouvrage comme maîtrise d'œuvre), engagées dans un projet d’organisation et/ou de système d’information.
www.RAD.fr ® © Jean-Pierre Vickoff