mardi 25 février 2025

Établissement, validation des spécifications

 Des processus d’établissement, de validation des spécifications numériques sont à choisir. Ils portent sur les éléments numériques des offres, des ressources utilisées pour les activités de l’entreprise : ensembles matériels et logiciels, données, activités numériques.

1) Les spécifications des ensembles matériels et logiciels, des données, des activités numériques principales, sont en général établies à partir d’une définition des besoins. Leur contenu s'exprime de la même manière.

Il est conseillé qu’elles soient écrites par un responsable technique (responsable des activités concernées, fournisseur du produit ou du service…), et validées par le demandeur.

Il est souhaitable que le responsable technique réagisse sur le fond par rapport aux besoins exprimés. En tant que professionnel du numérique, il doit attirer l’attention du demandeur sur les fonctions, les exigences qui lui paraissent inutiles, celles qui lui paraissent manquer, celles qui sont trop complexes, difficiles techniquement, trop coûteuses.

L’application d’une démarche de design to cost contribue à la réduction de l’étendue des spécifications, et donc à celle des coûts et des délais. 

Les spécifications sont générales ou détaillées. La dernière version, détaillée, est celle d'un ensemble matériel et logiciel existant, de données installées, d’une activité à réaliser, en cours. Elle sert de référence à la recette finale par le donneur d'ordres, au contrôle des activités, des services, à la fabrication, la fourniture des services, la maintenance/évolution.

Leur respect doit être vérifiable, contrôlable objectivement.

Des revues des spécifications par le demandeur sont envisageables. Elles permettent d’analyser leur conformité aux besoins, leur clarté, leur exactitude, leur cohérence. Chez le responsable technique, des revues par des personnes autres que leur rédacteur permettent par exemple de donner un avis sur la faisabilité technique des ensembles matériels ou logiciels, des activités numériques, la possibilité technique de respecter les exigences définies. Le retour sur investissement de ces revues est en général élevé.

2) Le volume, la complexité des spécifications numériques sont parfois considérables. La charge correspondant à leur établissement est alors importante, surtout dans un contexte de méfiance entre demandeur et responsable technique. La validation par le demandeur est parfois difficile. Un choix est à faire sur les modalités d'établissement des spécifications. Il s'agit d'arbitrer entre la faisabilité, le coût d'établissement des spécifications, et les inconvénients qui résultent de leur insuffisance, voire de leur absence (difficultés pour la maîtrise des fonctions numériques, la réalisation des tests, le traitement des anomalies, la gestion des modifications, impact sur les relations contractuelles avec les fournisseurs externes...).

Dans le cas où la définition des besoins est formalisée, suffisamment complète et détaillée, où le responsable technique ne propose pas de modifications substantielles, elle peut constituer une spécification après validation par le responsable technique, éventuellement formalisation de modifications en nombre limité.

Sur le plan contractuel, le niveau d'engagement du responsable technique sur des coûts, des délais, la fiabilité, est en rapport avec l'existence, la complétude et la précision des spécifications.

Les modalités d'établissement des spécifications détaillées sont parfois liées aux démarches de conception. Leur établissement permet de prendre l’avis de plusieurs personnes, d’améliorer la stabilité des exigences, par leur formalisation, par une définition de meilleure qualité au départ. Il est parfois prévu par la politique qualité des entreprises concernées.

Les spécifications des ensembles matériels et logiciels, à concevoir, construire, intégrer, sont une partie de leur conception, et servent de base à leur réalisation. Il est envisageable, par exemple pour le paramétrage des logiciels, ou dans le cas d'application des méthodes « agiles », de faire réaliser le paramétrage, le développement par des équipes utilisateurs-informaticiens, et d'établir les spécifications détaillées une fois ces travaux réalisés, pour leur recette, leur maintenance/évolution.

3) Des choix sont à faire sur le contenu des spécifications numériques. Elles doivent avoir le niveau de précision nécessaire, être claires, non ambiguës.

Quel niveau de détail prévoir, et à quel stade ? Tout ne peut pas être formalisé, mesurable. Dans le domaine des services de mise à disposition de SI, par exemple, il faut éviter que la définition de niveaux de service chiffrés conduise le fournisseur à considérer que ce qui ne fait pas l’objet d’une spécification chiffrée n’a pas d’importance.

Les spécifications des ensembles matériels et logiciels contiennent souvent une définition détaillée des fonctions arithmétiques et logiques à réaliser sur les informations introduites, stockées. Elles sont parfois plus générales (par exemple : prévoir l’évolution d’un phénomène), et nécessitent la fourniture de données de référence, la définition d’un (ou plusieurs) modèle (s). Des fonctions de modélisation aident à définir le modèle, ou permettent de le faire

Les modèles mis au point en utilisant de telles fonctions, et les algorithmes associés, sont parfois difficilement compréhensibles, voire incompréhensibles. Le demandeur peut souhaiter pouvoir valider non seulement un résultat, mais aussi le contenu des modèles, des algorithmes, éventuellement opposable à des tiers, obtenir des résultats explicables. 

Des choix sont à faire sur l’établissement ou non de spécifications pour le paramétrage des progiciels. Des spécifications sont en général établies pour les logiciels d’utilisation collective, dont le paramétrage est contrôlé parce qu’il inclut l'application de règles internes de l’entreprise.

4) Des choix sont à faire sur le mode d’établissement, de mise à jour des spécifications numériques. Des processus, des outils de gestion des changements sont à mettre en place, associés à la gestion de la documentation complète de l’ensemble matériel et logiciel, des activités numériques...

Les spécifications sont parfois établies sur la base d'éléments fournis par des professionnels du numérique (par exemple fonctions techniques d'interface avec d'autres logiciels, SI, de sécurité, d'accès à des bases de données communes, formats, modèles de données, protocoles de communication...). Des interfaces utilisateurs, techniques, sont susceptibles d'être définies de façon détaillée dès ce stade.

5) Dans le cas de la maintenance/évolution des SI, des logiciels, de l’exploitation des SI, les spécifications des activités dépendent des caractéristiques des systèmes, des logiciels à maintenir, à faire évoluer, à exploiter. La spécification des exigences est de ce fait parfois associée à une prise en charge des logiciels, des systèmes. Les engagements du réalisateur des activités sont précisés, confirmés après une période lui permettant de connaître suffisamment leurs caractéristiques.

6) Les écarts entre les définitions des besoins et les spécifications sont-ils à tracer, à expliciter, à justifier ? Dans les relations contractuelles, cela n'est pas obligatoirement utile, dans la mesure où les spécifications sont validées par les parties, et constituent la référence contractuelle. Cela contribue à éviter les incompréhensions, les abandons implicites, en augmentant évidemment la charge de travail. Certains outils de génie logiciel le permettent.

7) Des choix sont à faire sur les modalités de validation des spécifications numériques par le demandeur, pour éviter les erreurs de compréhension, maîtriser la charge de validation, faire en sorte d’obtenir des spécifications correctement validées dans un délai acceptable : fixation conjointe d’un délai de validation, constitution et organisation de l’équipe de validation, définition de procédures d’arbitrage en cas de désaccord, pérennité de l’équipe de validation pour les évolutions des spécifications, association de la validation des spécifications à la préparation des tests fonctionnels de recette.

La validation des spécifications inclut en général leur contrôle (complétude, précision, cohérence, clarté, concision…).

Des spécifications détaillées sont parfois à établir et à valider sur la base de spécifications générales. Le diable étant dans le détail, il est recommandé que cette phase soit contrôlée précisément, afin de vérifier qu'elle n'entraîne pas une augmentation excessive de la complexité, des coûts, des délais. 

Les spécifications des grands systèmes, des grands logiciels, sont volumineuses et complexes. L’équipe de validation doit les maîtriser. Pour cela, elle doit y passer du temps, capitaliser ses connaissances.

La spécification des exigences numériques est susceptible d’être modélisée : flux entrants, sortants, par site, dynamique temporelle...

Aucun commentaire:

Enregistrer un commentaire