Du script R à la solution

Bureau d’étude spécialisé en épidémiologie et biostatistiques, Ekipaj a fait évoluer ses pratiques pour structurer progressivement une application. Retour sur cette expérience, ou comment passer de l’ère du script à celle de la solution.

Quel était le contexte ?
L’objectif stratégique de notre client était de développer un service exploitant une nouvelle source de données, massives mais très peu documentées. Il ne connaissait pas encore précisément les besoins des futurs utilisateurs et il n’était pas question pour lui de débuter le projet par une longue phase de spécifications.

Quelle a été le rôle d’Ekipaj dans ce projet ?
Pour le client, Ekipaj était avant tout un bureau d’études en épidémiologie réalisant des études ponctuelles et développant des représentations graphiques innovantes. La méthodologie que nous avons mise en place a permis d’aller plus loin : tout en répondant aux besoins ponctuels nous avons progressivement structuré une application cohérente et opérationnelle.

Comment développer une application sans spécifications ?
Il faut en même temps ne pas chercher à gérer tous les cas d’emblée, car cela reviendrait à rédiger des spécifications détaillées, et toujours imaginer que ce que l’on fait sera réutilisé, généralisé. Quand on vient du monde de la R&D, on a vite tendance à penser que chaque demande est unique ; il faut lutter contre cela et structurer un code de qualité.

Un code de qualité ?
Nous travaillons principalement avec le langage R. Dans le milieu de la biostatistique, une étude se traduit souvent par un long script R unique. Il faut sortir de cette logique et écrire en fonctions. Cela oblige à définir les objets en entrée et en sortie du processus et donc à préparer une généralisation. Un code de qualité c’est aussi un code commenté et documenté. C’est un point clé pour être en capacité d’évoluer.

Structurer n’est-ce pas du temps et donc un coût ?
En effet, structurer prend du temps, mais c’est un investissement, c’est renforcer les fondations avant de bâtir un étage supplémentaire. C’est aussi du temps gagné pour la prochaine étude, car les fonctions bien structurées seront plus facilement réutilisées. Un code de qualité à une réelle valeur.

Et pour aller encore plus loin ?
La première chose à faire sera de mettre en place des tests automatisés pour vérifier en permanence l’absence de régression. L’autre évolution sera de transformer les plus importantes fonctions en de véritables packages R ; cela en renforcera leur fiabilité et facilitera leur intégration dans la chaine de production.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *