Recette d`une application

Transcription

Recette d`une application
dossier :Gouvernance des systèmes d’information
Recette d’une application :
période de grand danger
1. Préparer la recette
1.2. Le protocole de recette
Une recette n’est pas une aventure
improvisée. Il convient tout d’abord
de s’entendre sur ce qu’il convient
de faire et de bien préciser les responsabilités. Cinq points sont essentiels :
Document bien trop souvent absent
des projets.Le but de ce document est
de fixer les conditions de réalisation de
la recette et surtout de sa validation. Il
traite non seulement de la recette
fonctionnelle – vérification que le
comportement de l’application est
bien celui attendu au vu des spécifications – mais aussi de la recette technique – celle qui valide le fonctionnement de l’application d’un point de
vue informatique. Parmi les points clés
qui doivent figurer dans ce document
se trouvent :
• la mise en œuvre d’un environnement de test,
• le protocole de recette,
Catherine Leloup,
Ingénieur Conseil
• le cahier de recette,
• les jeux d’essais,
• les responsabilités de recette.
La recette d’une application
ou d’un module applicatif est
• la définition des anomalies : ce
1.1. L’environnement de test
souvent une période difficile
d’un projet. Pourtant, c’est
une période clé, dont l’insuccès peut sensiblement obérer
le fonctionnement en service
de l’application et se révéler
par la suite un gouffre financier en matière de maintenance. Une démarche souvent trop floue et un manque
de préparation sont souvent
• La revue n° 83 - Juin 2006
à l’origine de périodes de
12
recette qui s’éternisent, sans
qu’une réelle visibilité des
modules acceptés et des
corrections restant à faire
soit suffisante.
Par définition, durant la recette, tout
peu arriver,y compris la destruction de
données, la saisie d’informations incohérentes,les « plantages » de machine,
etc. La moindre des choses est donc
de disposer d’un environnement de
recette (machines et logiciels) qui
puisse être momentanément hors service, sans que la vie quotidienne des
utilisateurs n’en soit perturbée. Une
mauvaise pratique pourtant bien
répandue consiste à sous-dimensionner les serveurs de recette – faute de
ressources techniques disponibles le
plus souvent – ou bien à considérer
comme environnement de test la
future machine de production, ce qui
rend évidemment ensuite la mise en
production problématique. Surtout
quand la réalisation est découpée en
lots, livrés au fur et à mesure.
En outre, disposer d’une plate-forme
de test performante, c’est aussi bénéficier d’un environnement de formation et donc être relativement serein
par rapport aux erreurs initiales que
ne manqueront pas de faire les utilisateurs.
qu’est une anomalie bloquante,
grave, mineure,
• les modes opératoires relatifs à la
déclaration des anomalies, leurs corrections et leur suivi,
• le calendrier de réalisation de la
recette, sans oublier la prise en
compte les délais requis pour la réalisation des corrections, et les nouveaux tests de validation,
• les conditions – souvent exprimées
en nombre d’anomalies de chaque
type toléré – de prononciation de la
recette,
• le traitement des cas particuliers,
comme les anomalies non reproductibles.
Sans ce document, c’est la porte
ouverte aux interprétations de la gravité des anomalies, source éprouvée
de tensions dans les projets et de leurs
conséquences classiques, entre découragement et désespoir.
1.3. Le cahier de recette
Le cahier de recette est le document
qui décrit le comportement que doit
avoir le système à tester, pour être
conforme aux spécifications validées
Gouvernance des systèmes d’information dossier
préalablement. Trop souvent, ce document est écrit au moment de la recette
– c’est-à-dire quand les développements logiciels sont terminés ou presque ; en
réalité, sa rédaction devrait être lancée dès la validation des spécifications. Évidemment, il doit être validé par toutes les parties prenantes.
Lui aussi comprend deux volets : recette fonctionnelle qui sera réalisée par les
équipes de la maîtrise d’ouvrage et recette technique qui relèvera des équipes
informatiques.
1.4. Les jeux d’essais
Les jeux d’essais, au pluriel. En effet, une recette n’est pas une opération autonome et indépendante de la vie de l’application. Il est aussi de bonne pratique de
vérifier d’abord le fonctionnement « en régime de croisière » de l’application,puis
de la « secouer » un peu pour s’assurer que les cas à la marge ne génèrent pas de
problèmes majeurs.Cela vaut aussi bien pour la recette fonctionnelle,où l’on s’attachera à tester l’application sur des données un peu exceptionnelles,que pour la
recette technique ou l’on simulera par exemple, une montée en charge rapide.
1.5. Les responsabilités
La recette est une étape qui demande une réelle concertation entre les intervenants du projet (maîtrise d’ouvrage, maîtrise d’œuvre, mais aussi entités bénéficiaires de l’application).Les recommandations que l’on peut faire à cet égard sont
une répartition des rôles comme suit :
l’application doit être soigneusement
encadrée,afin notamment de garantir
sa disponibilité. Le déroulement du
cahier de recette n’est, il faut bien le
constater, qu’une première étape. En
effet, par principe, des anomalies
vont être détectées.Et donc perturber
la recette : autrement dit, une erreur
constatée va potentiellement induire
d’autres dysfonctionnements, dont
la teneur ne peut être raisonnablement comprises que par l’ensemble
de l’équipe projet. Ainsi, le contrôle
d’une zone de données – comme
une date – qui ne fonctionne pas
correctement, c’est la porte ouverte
à n’importe quoi au niveau du fonctionnement de l’application en
termes de relances, workflow et
autres gestions s’appuyant sur un
calendrier. D’où anomalies en cascade, aux effets divers, mais aux
mêmes causes.
Fig. 1 : Les responsabilités en matière de recette
Bénéficiaires
Maîtrise
d’œuvre
Définir l’environnement de recette
Valide
Valide
Définit
Rédiger le protocole de recette
Valide
Valide
Rédige
Rédiger le cahier de recette fonctionnelle
Rédige
Valide
Valide
Rédiger le cahier de recette technique
Valide
Valide
Rédige
Établir les jeux d’essais
Valide
Rédige
Valide
Enfin, il est essentiel que toutes les ressources – notamment humaines – soient
mobilisées en temps et heure.
2. Réaliser la recette
Tout est prêt pour effectuer la recette. Toutefois, quelques précautions
complémentaires sont nécessaires, que nous résumerons en quatre points :
• s’assurer que tous les protagonistes ont bien compris les règles du jeu et
sont prêts à les appliquer,
• vérifier que les attendus de la nouvelle application sont bien compris,
• organiser la recette pour fournir à tout moment une visibilité réelle sur
l’avancement,
• conclure.
2.1. Les règles du jeu
et leur application
Les règles du jeu sont justement décrites dans le protocole de recette et le
cahier de recette. Quoiqu’il en soit, cela ne suffit pas. L’équipe qui va tester
En d’autres termes, un cahier de
recette – tant fonctionnel que technique – doit être conçu en modules
afin de vérifier avant tout la solidité
de l’application et de son utilisation.
La démarche doit aussi prévoir des
« arrêts » pour permettre de réaliser
les corrections des anomalies bloquantes ou graves. C’est souvent
une vue de l’esprit de croire qu’il suffit de passer tout le cahier de recette
pour conclure. En outre, les petits
problèmes techniques ont souvent
des effets dramatiques sur les utilisateurs et la sérénité est une valeur
essentielle de tout bon testeur.
Enfin, la disponibilité des utilisateurs
qui vont réaliser la recette fonctionnelle ne suffit pas : la réactivité de
l’équipe de maîtrise d’œuvre et sa
capacité à fournir un support à
l’équipe de recette sont indispensables : si l’équipe qui effectue la
recette a au préalable reçu une
formation, elle n’est pas pour autant
– encore – un utilisateur chevronné
de l’application.
• La revue n° 83 - Juin 2006
Maîtrise
d’ouvrage
Tâches
13
dossier :Gouvernance des systèmes d’information
2.2. Les attendus
de la nouvelle application
Qui dit nouvelle application dit dans
95 % des cas changement des processus métiers qu’elle supporte.
Pour la recette fonctionnelle, il est
indispensable que les équipes de
recette soient au fait de ces évolutions et testent bien ce que l’application est supposée faire et surtout
pas leur mode de fonctionnement
actuel ou passé. C’est aux directions
maîtrise d’ouvrage et aux directions
bénéficiaires d’avoir au préalable largement informé et formé les
équipes qui effectuent la recette
fonctionnelle afin que celle-ci se
concentre sur le fonctionnement de
l’outil et non pas sur les nouvelles
procédures et les modes opératoires. Il est en effet une constante
dans la mise en œuvre des technologies innovantes : le délai d’adaptation des utilisateurs est sans aucun
doute bien largement supérieur à
celui nécessaire à la maîtrise d’un
outil informatique. Négliger cet
aspect des choses, c’est s’exposer à
des dérives où l’utilisateur va tester
ce qu’il croit obtenir alors qu’il doit
respecter strictement ce qui a été
convenu dans le cahier de recette.
En revanche, l’utilisation de multiples jeux d’essais n’est pas interdite, au contraire.
• La revue n° 83 - Juin 2006
2.3. Organiser la recette
14
Une bonne pratique qu’on ne rappellera jamais assez est de ne pas
confondre recette fonctionnelle par
les utilisateurs et débogage. Pour
cela, la méthode éprouvée est celle
de la recette « usine » : autrement
dit, la maîtrise d’œuvre passe le
cahier de recette avec le premier jeu
d’essais et ne livre l’application en
recette aux utilisateurs, qu’une fois
qu’elle n’a elle-même constaté
aucune anomalie bloquante. D’où
l’intérêt du protocole et du cahier de
recette. La littérature fourmille des
différences entre tests réalisés par
les développeurs et tests fonctionnels : c’est la quadrature du cercle,
dans la mesure où aucun dévelop-
peur ne peut anticiper les usages de
l’application et aucun utilisateur
approfondir la construction technique de l’application.
recette initiale suivie d’une période
probatoire ultérieure (1) de l’application en fonctionnement sont également à préconiser.
Une autre bonne pratique est le
référencement des anomalies – bloquantes comme mineures – systématiquement et dans un système
adapté, qui n’est pas la messagerie
électronique. Plus le format des
déclarations d’anomalies sera précis,
plus les diagnostics et corrections
seront aisées. Sans oublier de bien
mettre en évidence les anomalies
fonctionnelles qui ont les mêmes
causes techniques et de planifier les
corrections soigneusement.
En effet, l’analyse des retards liés aux
projets sont bien souvent sur les
phases amont et aval de celle du
développement logiciel ; la recette
ne fait pas exception, et les calendriers ne prévoyant que quelques
jours de recette sont complètement
irréalistes.
Une troisième bonne pratique, c’est
de procéder au niveau de la fourniture des corrections par la maîtrise
d’œuvre par livraisons successives
en environnement de recette et de
ne surtout pas considérer la plateforme de test comme une plateforme annexe de développement
logiciel. Chaque livraison devra être
accompagnée de la liste des anomalies corrigées et re-testées.
Enfin, s’il arrive que certaines anomalies ne soient pas reproductibles,
il ne faut surtout pas les ignorer pour
autant, mais bien au contraire,
accroître le volume de tests, en faisant évoluer les environnements
(poste de travail, paramétrage des
logiciels clients, comptes utilisateurs,
etc.). Et surtout garder trace de leur
existence.
2.4. Conclure
Comme toutes les bonnes choses,
les recettes ont une fin, matérialisée par un procès-verbal qui
consigne que l’application est utilisable, moyennant éventuellement
quelques corrections mineures restant à faire, selon un calendrier
convenu de toutes les parties. Il est
rarissime que le respect du calendrier de mise en production soit
strictement compatible avec la correction – et donc une deuxième
recette après correction – de toutes
les anomalies. La démarche de
3. Conclusion
Parent souvent pauvre du cycle de
développement logiciel, la recette
est pourtant une étape charnière.
Les projets ambitieux sont souvent
lotis en plusieurs étapes, et la recette
de chaque lot est évidemment
lourde, car il ne suffit pas de vérifier
chaque lot indépendamment, mais
aussi de s’assurer des tests de non
régression (techniques et fonctionnels).
Une des difficultés fréquentes dans
ce processus est lié à la difficulté de
rédaction des cahiers de recette et la
mise au point des jeux d’essais. Car,
au-delà de la connaissance métiers
qui est bien sûr indispensable, il faut
aussi que les responsables utilisateurs aient le « goût » de se mettre
en situation, sans pour autant
oublier de respecter les attendus du
système. Mais il faut aussi que la maîtrise d’œuvre comprenne l’utilisation qui sera faite du logiciel. En
quelque sorte, un premier pas bien
utile pour pouvoir ensuite assurer
une bonne maintenance applicative,
et faciliter le dialogue…
1. Vérification d’aptitude et Vérification de
Service Régulier.