Paul-Alexandre LUCK

Critères de choix d'un produit de qualité

Cycle de production Durant la gestion de la production, en fin de phase de Conception, un ensemble de sous-produits a été identifié. Ces sous-produits sont identifiés dans le Plan d'architecture du produit composite. Durant la phase d' Analyse de chaque sous-produit, les services externes ou interfaces de ces sous-produits sont décrits avec précision. (Ces services correspondent au besoin du produit composite pour implanter ses propres services d'interface.)

Phases de production Pour chaque sous-produit il est intéressant de faire un appel d'offre produit pour déterminer s'il est possible de réutiliser ou d'adapter un produit existant, ou s'il est nécessaire d'en créer un nouveau.

Durant la phase d' Analyse d'un sous-produit les services ou interfaces sont identifiées à partir de cas d'utilisation. Les scénarios illustrant ces cas d'utilisation, serviront de jeux de test pour valider l'adéquation du sous-produit avec l'architecture envisagée pour le produit composite.

Le choix d'un produit ne dispense pas des phases d' Analyse et de Test. L'analyse précise les caractéristiques attendues par le produit (Appel d'offre). Les tests garantissent la conformité du produit choisi (Scénarios de Cas d'utilisation). Seules les phases de Conception et de Compilation sont substituées par la phase de choix d'un produit. L'évaluation des sous-produits optimums passe par l'évaluation d'un ensemble de critères qualité communs :

C'est la moyenne pondérée de ces critères qui déterminera le produit optimum.

La procédure de choix d'un produit passe par les tâches suivantes :

  1. créer un comité d'experts
  2. identifier la famille de produit
  3. décrire les particularités du produit
  4. préciser les contraintes financières, stratégiques; techniques
  5. définir le contexte d'installation, d'utilisation et d'exploitation
  6. déterminer les limites d'investigation
  7. spécialiser critères
  8. pondérer les critères
  9. rédiger l'appel d'offre
  10. sélectionner les fournisseurs potentiels
  11. envoyer l'appel d'offre
  12. réceptionner les appels d'offre (complétude, conformité)
  13. négocier l'offre produit de chaque appel d'offre
  14. noter les critères financiers
  15. sensibiliser et/ou former les membres du comité d'experts
  16. noter les critères stratégiques et techniques
  17. classer les produits
  18. approuver la validité de la sélection du meilleur produit
La phase de Conception créera un nouveau produit si aucun produit n'est acceptable, ou adaptera le produit sélectionné si nécessaire.

La phase de Test

La phase de Recette se prononcera sur la qualité du produit en fonction des résultats de test. Si le produit est accepté le produit sera acheté, sinon un nouveau cycle de production pourra être envisagé.


Les critères de choix d'un produit sont organisés en critères globaux contenant des sous-critères ou critères mineurs. Ces critères sont déterminés en fonction des services attendus par le produit (cas d'utilisation) et non pas en fonction des critères techniques de tel ou tel produit du marché.
Chaque critère reçoit une note pour chaque produit observé. La note attribuée à chaque critère pour chaque produit par chaque expert traduit la capacité du produit à répondre à ce critère :
4OUIExcellentFacile - Complet - Recevable - Transparent pour l'utilisateur -
Budjet optimum
3 BonDifficile - En test pour la prochaine évolution -
Budjet conforme
2 MoyenHabilité par un expert - Implanté partiellement -
Budjet moyen
1 MauvaisTrès difficile ou complexe - Envisagé dans une future évolution - Habillage manuel -
Budjet important
0NONRejetéImpossible - N'a pas la capacité requise - Inexistant - Inacceptable -
Budjet dépassé

Chaque note est pondéré plusieurs fois :

Cette multiple pondération permet de ne pas accorder une importance excessive aux critères globaux qui font appel à de nombreux sous-critères.

La pondération de ces critères exprime la stratégie de la gestion de la production.

Le produit optimum obtient la note la plus élévé.

Les critères suivants sont données à titre d'exemple. Chaque critère peut être décomposé en sous-critères en fonctions de caractéristiques spécifiques à la nature de produit recherché.


Critères financiers

Les critères financiers chiffres le montants des matériels, des logiciels et des prestations nécessaires pour intégrer le produit. Une configuration idéale a été préalable décrite : Volumétrie : Nombre d'utilisateurs et d'administrateurs ; environnement de dévéveloppement, de validation et d'exploitation ; temps de réponse ; mise à niveau des ressources humaines et matériels etc. Ces critères reçoivent une note correspondant à la fourchette de budjet envisageable pour chaque critère.

Critères stratégiques : Qualité du produit


Critères techniques


Langage

Il existe différents logique de language : approches algoritmique ; à règles ; séquentielle ; événementielle ; objet etc.
Certains langages sont visuels ou graphiques (UML) et d'autres programmés ou codés (C++, IDL).
Certains langages sont propriétaires ou spécialisés pour un environnement particulier (Visual Basic, Delphi Pascal, NSDK, PowerBuilder) et d'autres sont standardisés (C, C++, Java, COBOL).
Certains langages sont indépendants de l'architecture matérielle et technique d'implantation et et d'autres orientés vers une architecture spécifique (Client/Serveur, Objets distribués CORBA).

La préférence pour certains langages est probablement plus stratégique et politique que technique.


Pérennité

On connait actuellement un ensemble de standard et de normes mise en place par différents organismes. Il est important de rechercher des produits se rattachant à une norme de fait, à un standard officieux, mise en place par un groupe d'utilisateur, par un fabricant leader sur son marché, etc.
Cette standardisation est un gage de pérennité pour le produit, sa maintenabilité et son évolutivité.

Fabricant

L'étude du profil de la société fabricant le ou les produits nous aide à apprécier le produit, son sérieux, sa pérennité et son évolutivité.

Distributeur

La société de distribution est notre interlocuteur privilégié pour la fourniture, la fourmation, la maintenance et l'évolution de notre produit : Nous devons donc le connaître et avoir l'assurance qu'il saura répondre vite et bien à nos beoins.

Formation

Le coût et la complexité de la formation sur le produit et les concepts manipulés ont une incidence non négligeable pour l'intégration d'un nouveau produit. L'intégration de personnels existants, la disponibilité de compétences sur le marché et la facilité d'accession à l'expertise des produits représentent des orientations stratégiques.

Portablité

La portabilité est une sécurité vis-à-vis des évolutions possibles des environnementrs (montée de niveau, changement de politique des fournisseur, etc.) L'architecture interne du produit peut aider à l'évaluation de sa portabilité potentielle.
Un produit n'est que très rarement autonome et nécessite souvent un ensemble de ressources ou un environnement spécifique pour exécuter ses services (Système d'exploitation, matériels, couche de communications etc.). La faculté de pouvoir facilement interchanger la nature des ces ressources exprime la portabilité du produit. La portabilité peut être différente suivant les phases de production : Compilation, Test, Exploitation.

Maquettage

Le produit peut fonctionner dans un environnement dégradé. L'architecture interne du produit n'est pas conforme à son architecture définitive. Cette architecture simulée n'est pas récupérable pour le produit définitif. Les cas de test peuvent être que partiellement représentatifs de l'ensemble des services du produit.
Une maquette permet de tester l'interface d'un produit : lisibilité, ergonomie, compatibilité, facilité etc.

Prototypage

Le produit fonctionnent dans l'environnement cible. L'architecture interne du produit est partielle. Elle est conforme l'architecture cible. Cette architecture est récupérée en partie pour le produit définitif. Seulement une partie restreinte des cas de test peuvent être couvert par le fonctionnement en prototype.
Un prototype permet de tester l'exploitabilité d'un produit : robustesse, fiabilité, rapidité, efficacité, etc.

Travail en équipe

Pour un travail en équipe efficace, l'équipe dispose de plusieurs évolutions exploitables d'un produit dans leur environnement commun.
La parallèlisation des évolutions d'un produit par les membres de l'équipe est synchronisée.
Les spécifications d'interface externe ou services des produits sont décrites dans un langage unique.
Des outils de recherche permettent de consulter l'interface ou les services des produits.
Il est possible de connaître tous les produits utilisateurs potentiels d'un produit.

Le travail en équipe repose sur :

Plus les produits sont de faibles granularités : La recherche d'un produit favorise la réutilisation de produit existant dans l'architecture interne de nouveau produit. La recherche d'un produit est facilité par une documentation externe standard (Langage de description des interfaces des produits normalisée).

L'appropriation d'un produit est facilité par une documentation externe lisible et compréhensible par tous (Langage de description des interfaces des produits normalisée).

Les évolutions d'un produit peuvent se classer en trois catégories : mutantes ; extensives ; correctives.

L'évolution corrective d'un produit est une modification de l 'architecture interne d'un produit. Elle vise à corriger des dysfonctionnements ou optimiser le produit sans incidence pour les utilisateurs du produit.

L'évolution extensive d'un produit étend l'interface du produit sans altération des services existants.

L'évolution mutante d'un produit remet en cause l'interface d'un produit ou la finalité d'au moins un de ses services. Cette mutation a des incidences sur les utilisateurs de ce produit.

L'attribution exclusive d'un produit par une ressource est nécessaire pour chaque évolution extensive ou corrective d'un produit. Il est nécessaire de synchroniser ces évolutions d'un produit et ainsi interdire la parallèlisation de ces évolutions.

Conséquences des évolutions correctives et extensives :
Une nouvelle évolution corrective ou extensive d'un produit peut se substituer à la version existante. Il s'agit ici du même produit. Il n'est pas nécessaire de disposer de plusieurs évolutions de ce produit. Les utilisateurs peuvent disposer de la nouvelle évolution sans se remettre en cause. Il ne doit pas y avoir parallèlisation des ces évolutions.
Une nouvelle évolution de produit a seule la responsabilité de sa mise à disposition.

Conséquences des évolutions mutantes :
Une nouvelle évolution mutante d'un produit ne peut pas se substituer au produit existant sans mutation des utilisateurs. Il s'agit ici d'un nouveau produit. Il peut être nécessaire de pouvoir disposer des différentes mutations du produit afin d'éviter de mettre en phase tous les utilisateurs du produit mutant au moment de sa diffusion.
Il peut être envisagé remplacer l'ancien produit par une interface de transcription vers le nouveau produit mutant. Cette interface est une évolution corrective ne nécessitant d'adaptation des produits utilisateurs.
On peut introduire un délais de pérennité pour les anciens produits, ou faire une requête vers tous les produits pour s'assurer que le produit n'est plus référencé avant de le détruire.
Les produits utilisateurs ont seuls la responsabilité d'utiliser une nouvelle évolution mutante de sous-produit utilisé.


Confidentialité

La confidentialité est utile pour ne mettre à disposition ou diffuser que des produits stables de qualité ou limiter le champ d'investigation afin d'optimiser la pertinence des critères d'une recherche.


CV : LUCK Paul-Alexandre

EMail : paulalexandre.luck@free.fr

Analyse Test Concception Compilation