Intégration : Cahier de recette (cet ami qui vous veut du bien)
Par NiCoS le jeudi 21 août 2008, 17:45 - Intégration - Lien permanent
Je vais lancer une série "Intégration" dans laquelle je vais parler de points vue dans mon quotidien ou dans mon passé en SSII.
Cela faisait un moment que je voulais écrire ce billet, convaincu de plus en plus que le cahier de recette devient un élément de plus en plus crucial dans un projet informatique.
Idéalement, je vois une première version réalisée à l'issue de la phase des spécifications. Sans aller parler de "Test Driven Development" (Développement piloté par les tests, qui l'on peut résumer synthétiquement par le fait d'écrire les tests avant de coder quoi que ce soit), l'idée de rédiger le cahier de tests à l'issue de la phase de spécifications a tout son sens selon moi. Rédiger le cahier de recette (technique et/ou fonctionnel) à cette étape apporte les avantages suivants :
- Cela permet de consigner par écrit ce qui semble parfois "tellement évident" à certains membres du projet et qui peut ne pas l'être pour d'autres ou bien pas si évident que cela (périmètre de tests, éléments à tester, conditions de tests, etc).
- On peut s'apercevoir qu'il y a des manques dans les spécifications que l'on peut alors enrichir (règles de gestion, cas non imaginés de premier abord, etc) : imaginons par ex un intranet groupe avec une authentification intégrée, par défaut, on imagine très bien le cas du français se connectant sur l'application depuis son poste france, mais que se passe-t-il s'il se déplace dans une filliale pour laquelle l'authentification intégrée n'est pas en place ? L'utilisateur pourra-t-il se connecter malgré tout à l'application ?).
- Dans le cas d'une relation avec un prestataire, cela évite les mauvaises surprises en phase de recette (le cas de recette 12, pourtant tellement évident coté client et absolument pas (pré)vu par le prestataire)
- A l'issue de la phase de développement, vous pouvez demander au prestataire de vous indiquer le résultat de sa recette vis à vis de ce cahier de recette (qui aura pu être complété/détaillé entre temps).
- Lors de la phase de recette, vous avez un référentiel sur lequel peut s'appuyer votre démarche de recette.
En tout état de cause, il est important de faire vivre votre cahier de recette : de test très macro (état initial > étapes > résultat) réalisés dans un premier temps, vous pourrez le compléter (nouveaux cas) ou bien le détailler/préciser ou encore définir des "sous-cas" de tests.
Il est également important de communiquer ce cahier de recette aux parties impliquées pour avoir leur réaction et échanger. Cela peut le cas échéant donner lieu à des avenants/aménagements des phases de développement (cas d'évolution). Le fait que ce soit dans votre cahier de recette ne veut pas forcément dire qu'il doit être accepté systématiquement par votre équipe de développement / prestataire ; en effet, si cela n'est pas dans le périmètre de départ ou a un impact trop significatif sur les développements, il vous faudra en discuter (c'est sur qu'en cas d'engagement au forfait...)
Pour être honnête, moi même en SSII, j'ai très peu appliqué cette méthode - seulement lors de mes dernières missions en AMOA lorsque j'étais en SSII ou pour un projet interne actuel chez mon actuel employeur. Dernièrement, lors d'un POC (Proof Of Concept / Prototype), j'avoue avoir été étonné que personne ne s'en est pré-occupé avant que j'en fournisse un - permettant d'ailleurs de découvrir le cas du français en déplacement dans une autre filliale par ex. Tout le monde savait qu'il fallait tester deux fonctions "authentification" et "indexation" et il a bien été démontré que cette soit-disant évidence des tests n'allait pas de soit sur de nombreux sujets ou tout bonnement sur le périmètre même du POC.
La seule explication au fait que cela ne soit pas plus utilisé à présent dans les méthodes de développement est un temps de spécification mal estimé conduisant à ce qu'il soit négligé / repoussé à la phase de tests. Vous en voyez d'autres (bonnes|mauvaises) raisons ?
Commentaires
Pas le temps / pas le budget / côté artisanal ?
manque de temps/budget : ça rejoint le mauvaise estimation du temps des specs, non ?
Pour le coté artisanal, j'ai hésité à mentionner cet aspect et remettre clairement en cause la méthodologie projet appliquée soit par des SSII ou en interne. A posteriori, j'aurais du car au final les projets sont gérés souvent grâce au bon sens du chef de projet (et encore, à ce niveau là, on peut avoir des surprises aussi...). Expérimentant maintenant les SSII en étant coté client, j'avoue avoir du mal à voir la méthodologie projet de ses "grandes" SSII.
Tiens, tu te lances dans la SF ? Parce que franchement des cahiers de recette, il y a si longtemps que je n'en ai pas vu que je ne sais pas si je saurais en reconnaître un en le croisant dans la rue.
Mais c'est rassurant de savoir qu'il existe des projets où les charges et les délais sont suffisamment réalistes pour pourvoir utiliser d'autres outils qualités que le recours à http://www.megabambou.com
Et pour répondre plus sérieusement à ta question, tous les projets sur lesquels j'ai bossés ces dernières années avaient été évalués de façon bien trop irréalistes (c'est à dire au minimum sans tenir compte de tous les aléas) ou avaient des délais de livraison trop courts pour qu'on puisse consacrer du temps à la démarche qualité. Mais je suppute que ce soit un travers des projets web. Sur de vrais projets sérieux, on ne pourrait pas se permettre d'être aussi léger.
Non non, je te jure que ça existe, j'en ai rédigé chez JC Decaux et même lorsque j'étais encore à CA lors de ma mission chez Carlson Wagonlit Travel. J'en ai même vu un soumis par une MOA lors du projet de la Société Forestière (mais diffusé que lors de la recette, provoquant des surprises chez tout le monde sur le prévu / non-prévu).
Euh, je témoigne pas de l'existence de tels projets, attention hein... pas non plus encore vu pour le moment.
Pour ce que je vois dans les projets autres que web à JCD, je n'ai pas l'impression que les projets web soient mieux ou moins biens lotis que des projets non-web (mais restant des projets informatiques : SAP & co par ex...).
En tous cas, le cahier de recette technique ET fonctionnel font partie du kit méthodologique interne. C'est déjà ça