Un Manifeste pour une Data Science Agile
Auteur : Russell Jurney
Source : A manifesto for Agile data science
Date : 23/10/2017
Traducteur : Fabrice Aimetti
Date : 10/04/2020
Traduction :
Appliquer des méthodes de développement Agile de logiciels à des projets de data science.
Découvrez Agile Data Science 2.0 pour explorer en profondeur la théorie et la pratique de la data science Agile.
À titre personnel, je pratique la data science Agile, le développement itératif et évolutif d'applications analytiques, depuis une dizaine d'années, bien avant que je ne sache comment l'appeler. En tant que développeur solitaire, il était naturel de faire évoluer de manière itérative le logiciel d'analyse que j'avais construit. Lorsque j'ai rejoint une équipe, je m'attendais à ce que les choses fonctionnent de cette manière. Ce n'était pas le cas.
J'avais été exposé aux méthodes Agiles en tant que développeur web, j'ai donc été surpris, lorsque j'ai commencé mon premier emploi de data scientist, de constater que la data science n'était pas Agile. Dans les semaines qui ont suivi mon arrivée, j'ai dû spécifier un système prédictif complexe que j'ai ensuite confié à quelqu'un d'autre qui a eu besoin de six mois pour le construire avant qu'il ne soit déployé. Cela contrevenait à tout ce que je savais sur la façon de construire un logiciel, mais la dimension du système et la qualité des outils de big data rendaient cela nécessaire. Le projet a failli échouer et a été sauvé à la dernière minute. J'ai perdu beaucoup d'heures de sommeil et j'en ai retiré d'importantes leçons.
Je n'ai jamais voulu revivre cela. J'ai donc essayé d'imposer l'Agile à la data science, avec plus ou moins de succès. Lorsque j'ai commencé à appliquer des méthodes de développement Agile de logiciels à la data science, j'ai vu un modèle émerger. La difficulté ne résidait pas dans les détails de la mise en oeuvre, mais dans la manière de penser aux possibilités offertes par l'Agile lorsque l'on travaille avec des données en plus du logiciel.
Alors que mes expériences au sein de plusieurs entreprises commençaient à échafauder ma pensée, j'ai élaboré le Manifeste de la Data Science Agile. Ce manifeste se concentre sur la façon de penser, plutôt que sur ce qu'il faut faire. Les spécificités du Kanban ou du Scrum fonctionnent pour la data science, tant que l'équipe pense de manière dynamique en réponse aux opportunités qui émergent de l'exploration des données. John Akred a fait un travail intéressant sur les spécificités de la mise en oeuvre de la data science Agile, mais je n'ai pas d'opinion sur la façon dont vous suivez l'état d'avancement du travail. L'essentiel est d'aborder la data science de manière active et dynamique.
Le Manifeste de la Data Science Agile
Itérer, itérer, itérer
La prise de conscience provient de la 25e requête d'une chaîne de requêtes, et non de la première. Les tableaux de données doivent être analysés, formatés, triés, agrégés et résumés avant de pouvoir être compris. Les tableaux pertinents proviennent généralement de la troisième ou quatrième tentative, et non de la première. La construction de modèles prédictifs précis peut nécessiter de nombreuses itérations d'ingénierie des fonctionnalités et de réglage des hyperparamètres. En data science, l'itération est l'élément essentiel de l'extraction, de la visualisation et de la production de la connaissance. Lorsque nous construisons, nous itérons.
Déployer les productions intermédiaires
L'itération est l'acte essentiel dans la création d'applications analytiques, ce qui signifie que nous nous retrouvons souvent à la fin d'un sprint avec des choses qui ne sont pas complètes. Si nous ne déployions pas de résultats incomplets ou intermédiaires à la fin d'un sprint, nous finirions souvent par ne rien envoyer du tout. Et ce n'est pas ça l'Agile ; je l'appelle la "boucle de la mort", où un temps infini peut être perdu à perfectionner des choses dont personne ne veut.
Les bons systèmes s'auto-documentent, et dans la data science Agile, nous documentons et partageons les ressources incomplètes que nous créons au fur et à mesure que nous travaillons. Nous consacrons tout le travail au contrôle des sources. Nous partageons ce travail avec nos coéquipiers et, dès que possible, avec les utilisateurs finaux. Ce principe n'est pas évident pour tout le monde. De nombreux data scientists viennent de milieux universitaires, où des années d'efforts de recherche intenses ont abouti à un seul grand document appelé thèse qui a abouti à un diplôme de haut niveau.