13 mars 2013

La recette

Quand je suis arrivé pour mon premier vrai boulot, en 87, mon chef m'a dit : "tu vas commencer par faire la recette de notre nouveau logiciel, tu vas voir, c'est très formateur !"

J'ai opiné mais je ne voyais absolument pas ce qu'il voulait dire... Faire la recette d'un logiciel ? Finalement, j'ai fait tout autre chose et j'ai appris quelques semaines que "faire la recette" était "appliquer méthodiquement une liste de tests pour vérifier que le logiciel fonctionnait bien".

Tu parles d'un informaticien. Je faisais bien une série de "tests unitaires" mais j'ignorais qu'il fallait faire des recettes...

Sans me vanter (si...), jamais la recette de ce que j'ai pu développer pendant les neuf années que j'ai passées uniquement à faire de la programmation n'a détecté le moindre bug qui soit de mon fait. Depuis tout petit, j'étais très méthodique sur les tests unitaires et j'avais les milliers de lignes des applications que je développais en tête. J'avais compté, une fois : plus de 3000 lignes, hors commentaires, déclarations de structure, de contantes et de machins "inutiles" comme les accolades en C.

Mais je m'égare déjà dans mon énième billet sur les joies de l'informatique professionnelle. J'ai déjà introduit deux notions :
- les tests unitaires faits par le développeur (appellation plus noble que programmeur) pour tester les bouts de programme qu'il développe,
- la recette, définie par un cahier de recette, avec les tests que devait faire l'équipe de développement avant de livrer un logiciel.

J'ai assez rapidement oublié cette notion car je m'en foutais. Je livrais des logiciels sans bug et mes chefs et clients étaient contents. Ils se demandaient bien comment je faisais mais n'avaient rien à redire à mon travail.

En 90, je suis devenu chef de projet et j'avais un don pour détecter facilement où seraient potentiellement les bugs de mes sous-fifres. Ils avaient tellement honte que je leur foute des semaines de travail en l'air en quelques minutes qu'ils ont appris à travailler progressivement.

En 1993, j'ai changé de boîte et dans la nouvelle (où je bossais sur les mêmes logiciels qu'avant), le chef imposait des méthodes de travail. Je m'étais engueulé avec lui, d'ailleurs. Il voulait que je fasse les cahiers de recette puis les recettes des logiciels que je développais. Je lui avais dit que je trouvais ça crétin mais j'avais du plier. Pendant trois ans, j'ai du supporter ça (en trichant un peu).

En 1996, j'ai encore changé de job. J'ai été pris par un "client" et j'avais comme rôle de tester les logiciels que lui livraient les fournisseurs (les mêmes logiciels étaient développés par plusieurs éditeurs pour des matériels différents ; c'était crétin mais tout le monde trouvait ça bien).

Ça ne s'appelait pas faire les recettes mais des certifications. Ça faisait plus sérieux, plus officiel dans un rapport client fournisseur.

J'arrive donc pour tester un logiciels (fait par un de mes anciens) concurrents. En une semaine, j'avais trouvé 155 bugs avant même que je commence à appliquer le processus officiel de certification. Je me rappelle du nombre parce que le fournisseur s'était retrouvé ridicule et nous avions passé des heures en réunion.

Je ne suis pas resté longtemps. J'ai carrément changé de job et je me suis retrouvé dans un organisme qui regroupait plusieurs clients. Mon boulot consistait à faire des agréments de systèmes tout à fait novateurs (à l'époque...) : des Minitels avec lesquels on pouvait faire des paiements en introduisant la carte à puces dans un lecteur. C'était bien plus rigolo.

Des agréments ? Oui, après avoir fait des tests unitaires, des recettes puis des certifications, j'attaquais les agréments. Ça consistais à tester des machins.

J'ai tenu deux ans puis j'ai changé de service, puis deux ans encore avant un nouveau changement : j'étais devenu responsable de l'agrément des outils utilisés pour les agréments (des simulateurs de cartes à puce pour tester les terminaux et des simulateurs de terminaux pour tester les cartes à puce).

J'étais content, j'avais pris du galon. En fait, je devais mettre en place un tas de trucs, au niveaux technique, juridique, commercial,... Et procédural. Il fallait des procédures d'agrément pour se mettre en conformité avec je ne sais plus quelle norme ISO (14445 ?) pour que nous puissions officiellement délivrer des agréments à des fournisseurs de cartes à puce et des fournisseurs de terminaux de paiement pour qu'ils puissent commercialiser leurs produits.

Nous étions un centre d'agrément officiel et j'étais chargé de l'agrément des outils utilisés pour faire les tests nécessaires à l'agrément. Néanmoins nous étions un centre d'agrément pour les tests des cartes et des terminaux, pas pour des outils...

Pour les terminaux et les cartes, c'était facile : nous rédigions les spécifications et nous vérifiions que les machins étaient conformes. 5 semaines de tests intensifs par des techniciens et nous étions capables de délivrer des tampons ou de rétorquer les produits.

Pour les outils utilisés c'était différent. Ce n'est pas nous qui faisions les spécifications mais leur fournisseurs. Nous étions les plus gros clients des fournisseurs mais ils devaient répondre aux besoins de leurs autres clients : fabricants de terminaux, de cartes, chaînes de supermarchés et banques...

Ceci est anecdotique mais nous avons passé plus d'un an à nous mettre d'accord sur la nomenclature à utiliser. Certificat de conformité, certification,... On passait des heures de réunion à discuter avec les juristes...

C'est ainsi qu'après les tests unitaires, les recettes, les certifications et les agréments, je me suis retrouvé responsable des homologations, terme toujours à la mode, aujourd'hui, dans la profession, mais avec des variantes, telles que que "homologation client", "homologation technique", "homologation fournisseur",...

La "recette" n'est pas passée de mode et a aussi ses variantes, comme "recette usine", "recette d'intégration technique", "recette d'intégration fonctionnelle",...

La certification a disparu ou presque. L'agrément est bien vivant mais réservé à des trucs officiels.

2 commentaires:

La modération des commentaires s'active automatiquement deux jours après la publication des billets (pour me permettre de tout suivre). N'hésitez pas à commenter pour autant !