MODULE No 14

Nom : Enfoncer le clou ou Repetita iuvant

But : Rendre les étudiants un peu plus conscients de la différence entre les deux sortes de qualité.

Antécédents : Décalogue de la qualité

Corps : reprenons la définition de qualité de IEEE 610, celle que nous avons analysée dans le premier module :

1.      Le degré avec lequel un système, un composant ou un processus rencontre des exigences spécifiées.

2.      Le degré avec lequel un système, un composant ou un processus rencontre les besoins ou les attentes des utilisateurs ou des clients.

L’idéal pour un système est de satisfaire les deux sortes de qualités, ainsi :

1.      l’utilisateur/client est content parce qu’il a le produit qu’il veut et

2.      le développeur l’est aussi parce que toute la tuyauterie est bien « agencée », bien structurée, facile à réutiliser, etc.…

Le fait que l’on emploie le même terme pour des concepts si différents (ou pour un concept si vaste, si vous préférez) rend la compréhension de la qualité bien plus difficile que si on employait deux noms différents.

Pour la durée de ce module appelons donc la première qualité Q-E et la deuxième Q-F (F pour qualité de fonctionnement).

Pur mieux comprendre la différence entre Q-E et Q-F, considérons quelques analogies avec l’emploi du terme « qualité » dans d’autres domaines :

Voiture.

·         Q-F. L’esthétique (très subjective même si on peut trouver des ensembles d’individus homogènes par rapport à ce qu’est la beauté d’une voiture) ; la puissance (complètement objective) ; la fiabilité (objective, même si elle n’est pas précisément définie lors de l’achat) ; sa force en tant que status symbol (une certaine objectivité)… et d’autres attributs de QF qui dépendent de la personnalité de l’acheteur.

·         Q-E. L’acier des pistons respecte-t-il les spécifications ? La position du moteur est-elle telle que définie en… ? Les dimensions du carburateur sont-elles supérieures au minimum requis ?

·         Liens Q-F, Q-E. Si l’acier des pistons est de mauvaise qualité alors la fiabilité sera plus faible. Mais la mauvaise qualité de l’acier est-elle due à des mauvaises spécifications ou à une mauvaise fabrication ? Si un utilisateur n’est pas concerné par la fiabilité (parce qu’il est très riche et il peut donc changer de bagnole à tous les mois), alors la Q-E de l’acier ne le concerne pas.

·         Est-ce que la position du carburateur peut être un attribut de la qualité ? Certes. Mais de la Q-F ou de la Q-E ? Si on considère le mécanicien comme un utilisateur alors c’est Q-F (ou si l’utilisateur final joue parfois le rôle de mécanicien). Mais c’est aussi une Q-E parce que si le carburateur est dans une position où, que sais-je ?, il y a trop de vibrations, alors l’arrivée de l’essence peut être perturbée.

·         Inutile de dire que la Q-F dépend des buts, des désirs et des attentes de l’utilisateur.

Cheval.

·         Q-F. L’esthétique (très subjective même si on peut trouver des ensemble de cavaliers homogènes) ; la puissance (pas tout à fait objective) ; la fiabilité (objective mais impossible à connaître parce qu’elle dépende énormément des conditions de vie du cheval) ; sa force en tant que status symbol (une certaine objectivité)… et d’autres attributs de Q-F qui dépendent du cavalier.

·         Q-E. La structure osseuse, les caractéristiques du jéjunum…

·         Est-ce que les caractéristiques du jéjunum influencent sa force symbolique ? Il est raisonnable d’en douter.

·         Inutile de dire que la Q-F dépend des buts, des désirs et des attentes du cavalier.

Homme. (dans le but de le marier)

·         Q-F. L’esthétique (très subjective même si on peut trouver des ensembles de femmes ou d’hommes homogènes par rapport à la beauté d’un homme) ; la richesse ou puissance économique (très objective) ; la fiabilité (objective mais impossible à connaître), sa force comme symbole d’un statut social (une certaine objectivité car souvent très liée à la richesse)… et d’autres Q-F qui dépendent de la personnalité de la personne qui le veut épouser.

·         Q-E. La structure osseuse, les caractéristiques du jéjunum…

·         Est-ce que les caractéristiques du jéjunum influence sa richesse ? Il est raisonnable d’en douter.

·         Inutile de dire que la Q-F dépend des buts, des désirs et des attentes du prétendant ou de la prétendante.

Note : les choix des caractéristiques dans les trois cas est très subjectif : certaines personnes, lorsqu’elles pensent à la qualité d’une voiture, pourraient penser en premier lieu à l’espace disponible ; lorsqu’elles  pensent à un cheval, elles pourraient penser à sa nervosité et lorsqu’elles pensent à un homme elles pourraient penser à sa capacité d’exprimer ses sentiments (et d’en avoir, bien sûr). Cette subjectivité dans le cas de développement d’un logiciel (ou de n’importe quelle machine) doit être « figée » en établissant les exigences de qualité.

Voici un exemple d’une (mauvaise) formulation d’une exigence de qualité pour notre homme :

EX-001. L’homme doit être capable de dire…. dans n’importe quelle situation

Pourquoi mauvaise ? Mauvaise dans le domaine technique, car « n’importe quelle situation » n’est pas testable.

Considérons maintenant un logiciel, un traitement de texte (TdT) par exemple.

·         Q-F. L’esthétique (très subjective même si on peut trouver des ensembles d’individus homogènes par rapport à ce qu’est la beauté d’une interface personne-machine pour un TdT) ; les performances (complètement objectives) ; la fiabilité (objective, même si elle n’est pas précisément définie lors de l’achat) ;… et d’autres QF qui dépendent de la personnalité de l’acheteur.

·         Q-E. L’interface de la classe xxxx respecte-t-elle les spécifications ? La position de la classe yyyy est-elle dans la couche définie en… ? Les dimensions de la méthode zzzz.rrrr sont-elles inférieures au maximum permis ?

·         Liens Q-F, Q-E. Si la classe xxxx est de mauvaise qualité alors la fiabilité pourrait être plus faible. Mais la mauvaise qualité de la classe xxxx est-elle due à des mauvaises spécifications, à une mauvaise conception ou à un mauvais codage ? Si un utilisateur n’est pas concerné par la fiabilité (parce qu’il a beaucoup de temps à perdre et il peut se permettre de perdre un texte), alors la Q-E de la classe ne le concerne pas.

·         Est-ce que la possibilité de coder certaines fonctions à l’intérieur du TdT peut-elle être un attribut de la qualité ? Certes. Mais de la Q-F ou de la Q-E ? Si on considère un programmeur comme un utilisateur alors c’est Q-F quand il ajoute les fonctions (ou si l’utilisateur final joue parfois le rôle de programmeur). Mais c’est aussi une Q-E parce que si le couplage entre le programme que l’on peut ajouter et l’environnement du TdT est très complexe alors la programmation de nouvelles fonctions peut causer des effets pervers.

·         Inutile de dire que la Q-F dépend du type de travail et des goûts de l’utilisateur.

·         Imaginez un traitement de texte avec une Q-F idéale pour un certain type d’utilisateur et une Q-E « nulle ». Ce TdT sera certainement mieux vendu qu’un TdT avec une Q-F « nulle » pour un certain type d’utilisateur et une Q-E idéale.

Et si, au lieu de considérer une application complète comme un TdT, on considérait un composant ? (La définition de qualité de IEEE 610 s’applique aussi bien au système qu’aux composants.) Peut-on parler de Q-F et de Q-E d’une classe du TdT ?

Certes. La Q-F est la qualité par rapport à l’utilisateur/programmeur qui emploie la classe en boîte fermée et la Q-E est la qualité de la classe « boîte ouverte » par rapport au programmeur qui va la modifier.

Conséquents : ne plus douter sur les différences entre les deux sortes de qualité : celle liée aux exigences formulées et celle liée aux besoins (explicites et implicites !) des utilisateurs.

Note 1 : Ce module a été préparé suite à certaines considérations sur la qualité des étudiants qui commentaient le chapitre sur le principe de Pareto.

Note 1 : Dans le Grand Robert on dit que l’un des termes contraires de « qualité » est « quantité »