Critères de choix d'un produit de qualité
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.)
 |
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 :
- créer un comité d'experts
- identifier la famille de produit
- décrire les particularités du produit
- préciser les contraintes financières, stratégiques; techniques
- définir le contexte d'installation, d'utilisation et d'exploitation
- déterminer les limites d'investigation
- spécialiser critères
- pondérer les critères
- rédiger l'appel d'offre
- sélectionner les fournisseurs potentiels
- envoyer l'appel d'offre
- réceptionner les appels d'offre (complétude, conformité)
- négocier l'offre produit de chaque appel d'offre
- noter les critères financiers
- sensibiliser et/ou former les membres du comité d'experts
- noter les critères stratégiques et techniques
- classer les produits
- 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
- formera les intégrateurs (installation et exploitation),
- installera le produit sélectionné dans l'environnement cible,
- formera les utilisateurs (utilisation),
- déroulera les scénarios 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 :
4 | OUI | Excellent | Facile - Complet - Recevable - Transparent pour l'utilisateur - Budjet optimum |
3 | | Bon | Difficile - En test pour la prochaine évolution - Budjet conforme |
2 | | Moyen | Habilité par un expert - Implanté partiellement - Budjet moyen |
1 | | Mauvais | Très difficile ou complexe - Envisagé dans une future évolution - Habillage manuel - Budjet important |
0 | NON | Rejeté | Impossible - N'a pas la capacité requise - Inexistant - Inacceptable - Budjet dépassé |
Chaque note est pondéré plusieurs fois :
- la pondération à l'intérieur d'un critère global permet d'ajuster le poids du sous-critère par rapport aux autres sous-critères ;
- la pondération du critère global permet de préciser le poids global de ce critère.
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.
- Produit
- Aménagements de l'environnement existant ou ciblé
- Adaptation du produit si nécessaire
- Coût mensuel d'exploitation, maintenances et évolutions
- Formations initiales
- Mise à niveau des ressources existantes
- Concepts, principe et démarche
- Utilisation
- Administration
- Formations lièes aux évolutions du produit
- Utilisation
- Administration
- Assistances
- Utilisation
- Administration
Ces critères reçoivent une note correspondant à la fourchette de budjet envisageable pour chaque critère.
Critères stratégiques : Qualité du produit
- Standardisé et normalisé
- Portabilité, adaptabilité, distributivité
- Développement
- Déploiement
- Lisibilité, documentation
- Externe (Exploitation)
- Utilisation (Interface publique)
- Installation
- Exploitation
- Interne (Maintenance)
- Dossier de conception (Paln d'architecture interne)
- Jeux de test ou jeux d'essai
- Traces
- Debogueur
- Exploitabilité, facilité mise en oeuvre
- Utilisation
- Administration
- Pérennité
- Concepts
- Architecture interne
- Formalisation, Compilation, codage, langage
- Fournisseurs
- Fabricant
- Lieu d'implantation
- Taille de l'assistance technique
- Taille des équipes de développement
- Santé financière
- Références
- Distributeur
- Lieu d'implantation
- Taille de l'assistance technique
- Santé financière
- Références
- Accessibilité, facilité d'appropriation, ergonommie
- Niveau de connaissances préalable
- Intégration des équipes existantes
- Formation
- Développement
- Maintenance
- télémaintenance
- télédistribution
- gestion des configurations et des évolutions
- Exploitation
- Traces, remontées d'incidents
- Compétences potentielles sur le marché
- Délais d'approvisionnement
- du produit
- de la formation
Critères techniques
- Standardisé avec les normes et standards du Plan qualité
- Compatibilité avec l'environnement existant ou ciblé
- Vérifiabilité, Testabilité,aides à la mise au point
- Ergonomie des interfaces, utilisabilité
- Couverture du besoin, richesse des services
- Lisibilité
- Documentation externe
- Documentation interne
- Dictionnaire, annuaires ou points de vue, références croisées
- Travail en équipe, confidentialité
- Configuration, assemblage, modularité, granularité
- Gestion des évolutions, parallèlisation
- Exploitabilité
- Robustesse
- Fiabilité
- Rapidité
- Evolutivité, adaptabilité
- Cycle de vie des sous-produits
- Création
- Modification
- Destruction
- Cycle d'évolution
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 :
- la granularité des produits ou composants ;
- la recherche de produits ;
- l'appropriation d'un produit ;
- la gestion cohérente et synchronisée des évolutions d'un produit ;
- l'attribution exclusive d'un produit à une membre de l'équipe.
Plus les produits sont de faibles granularités :
- plus le cycle d'évolution des produits est court ;
- plus le partage des produits est facilité en évitant les accès concurrents ;
- plus le nombre de ressources peut être important ;
- plus la parallèlisation des évolutions de produit est possible ;
- plus le nombre de produits à administrer est important.
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