
Comment appliquer la méthode agile aux projets ML ?
Lorsqu’il s’agit de mettre en œuvre un projet de ML, nombreux sont ceux qui préconisent d’appliquer la méthode agile, quelle que soit la taille de votre entreprise et le secteur dans lequel vous évoluez.
Voici un article qui résume tout ce que vous devez savoir sur la méthode agile – ses définitions, sa méthodologie ainsi que tous les conseils et astuces pour vous aider à la mettre en place lors de la réalisation de votre projet de Machine Learning !
La méthode agile: histoire et définition
La méthode agile, c’est quoi ?
Le terme “agile” est utilisé pour décrire les méthodologies de développement logiciel utilisées dans les processus de BI (Business Intelligence) et d’IA (Artificial Intelligence) afin d’établir une flexibilité, d’améliorer les fonctionnalités et de s’adapter facilement aux nouvelles demandes autour du projet.
Bien que divers principes agiles existent depuis les années 1970, la définition complète de la philosophie agile a été créée au tout début du millénaire. En 2001, un groupe de 17 développeurs américains a rédigé un manifeste afin de définir une nouvelle méthode de travail répondant à leur frustration majeure à l’égard des processus de développement traditionnels. Selon les auteurs, le traditionnel cycle de développement dit ‘en cascade’ n’était plus adapté aux contraintes et exigences des institutions qui évoluaient vite.
Les valeurs et les principes définis par ce manifeste permettent aux équipes de s’adapter, de réagir rapidement et efficacement au changement, et d’être dans un état de ré imagination constante sous-tendue par un retour fréquent des clients.
Les principes clés de la méthode agile
La méthode agile repose sur 4 principes, à savoir :
1. Les individus et les interactions plus que les processus et les outils
La méthode agile privilégie les personnes par rapport aux processus. L’application de la méthode agile nécessite de mettre l’accent sur les individus et les équipes, les personnes et leur énergie, leur innovation et leur capacité à résoudre les problèmes.
Bien que des processus et des outils soient évidemment utilisés dans le développement d’un projet, ils doivent passer au second plan et être intentionnellement simplifiés en vue de soutenir directement la création du produit.
2. Des logiciels opérationnels plus qu’une documentation exhaustive
Avec la méthode agile, les équipes doivent privilégier le logiciel fonctionnel à la documentation exhaustive. Cela ne signifie pas que vous ne devez pas créer de documentation, mais que vous devez créer une documentation qui apporte de la valeur et qui, en même temps, n’entrave pas la progression de l’équipe.
3. La collaboration avec les clients plus que la négociation contractuelle
Ce principe rappelle qu’il est plus important pour une équipe de développement d’autoriser une certaine flexibilité pour satisfaire un client, en cherchant une solution collaborative aux problèmes qui peuvent survenir pendant le développement du produit, plutôt que de s’en tenir à un contrat rigide.
4. L’adaptation au changement plus que le suivi d’un plan
La méthode agile préconise de répondre au changement plutôt que de suivre un plan. Cela ne signifie pas qu’il ne faut pas avoir de stratégie du tout !
Au contraire, il s’agit de remplacer un plan rigide par un ensemble de méthodes différentes et adaptées au changement, car si le changement est inévitable, le plus grand risque est de ne pas être prêt à l’affronter.
C’est ainsi qu’est née la méthode agile ! Définie par ses créateurs comme une nouvelle méthodologie de développement de logiciels, la méthode agile est une approche itérative et limitée dans le temps qui permet de construire des logiciels de manière incrémentielle et aide les équipes à fournir plus rapidement de la valeur à leurs clients.
Au lieu de parier sur un lancement en une fois, une équipe agile fournit un travail par petits incréments, mais consommables. Les exigences, les conceptions et les résultats sont évalués en permanence afin que les équipes puissent répondre rapidement aux changements.
Forte de son succès, la méthode agile a migré au-delà de sa portée initiale et est aujourd’hui appliquée comme méthodologie de gestion de projet dans de nombreux autres secteurs.
Par exemple, la méthode agile dans les projets de machine learning est également applicable, sur la base des 12 principes originaux. Voici quelques étapes de l’approche collaborative de la méthode agile repose :
- Prioriser la satisfaction du client en l’impliquant dans le processus de développement.
- S’organiser de sorte à pouvoir accepter les changements et mieux gérer les imprévus.
- Pouvoir livrer des versions opérationnelles du projet en permanence, afin d’optimiser l’avancée du projet.
- Promouvoir la coopération entre l’ensemble des personnes impliquées dans le projet.
- Construire le projet autour d’une équipe compétente, agile et équilibrée.
Quel est l’intérêt de la méthode agile pour votre projet ML ?
La méthode agile, qui s’apparente plus à une idéologie qu’à une méthodologie stricte, incite à améliorer les solutions en utilisant une approche collaborative avec un plan adaptatif.
Bien qu’elle soit traditionnellement appliquée aux logiciels, elle se trouve être très utile pour la gestion des projets d’IA et de ML.
Les workflows en ML définissent une séquence d’étapes préétablies qui donnent un certain résultat dans le projet ML.
Ils comprennent la collecte des données, le prétraitement des données, la construction des ensembles de données, la formation et le raffinement des modèles, l’évaluation et le déploiement en production. Ces étapes sont assez similaires aux workflows liées au développement de logiciels.
La principale différence entre les projets ML et les parcours classiques réside dans le mécanisme qui fait progresser le sujet du projet qui permet d’apporter une certaine valeur.
En ML, le parcours est conceptuel et permet une certaine flexibilité afin d’effectuer des changements en cours de parcours de développement.
Les projets ML se servent des données et des algorithmes pour créer des modèles, et pour que le système mis en place reste précis, il est souvent nécessaire de maintenir le modèle à jour avec les changements requis.
La méthode agile permet aux équipes produits de faire face aux évolutions et de construire des outils selon un processus robuste et reproductible.
Le poids des projets ML est non négligeable dans la capacité d’une entreprise à mettre à l’échelle sa performance technologique.
La méthode agile constitue un facteur essentiel des cycles de vie des projets ML car il permet d’être flexible et de s’adapter à des évolutions nécessaires du modèle. Mais plus concrètement, comment appliquer cette méthode à un projet ML ?
Comment appliquer la méthode agile à votre projet ML ?
La méthode agile repose sur une étroite imbrication entre les personnes, les processus et la technologie.
Privilégier les talents, en particulier les MLOps
Le MLOps est une discipline pour améliorer le delivery de ML dans l’ensemble du cycle de vie du produit, du concept au support de production. Il permet d’unifier le développement ‘Dev’ et les opérations ‘Ops’ dans les systèmes de ML.
A contrario, le DevOps va permettre de réduire le temps d’accès au marché tout en améliorant la qualité des produits logiciels selon le désilotage, l’automatisation et le monitoring.
L’équipe de MLOps dans l’entreprise est un des piliers fondamentaux pour apporter de l’agilité au workflow de votre projet ML. Les MLOps contribuent à de nombreuses tâches qui garantissent la livraison d’un produit, notamment :
- Le contrôle des versions, la surveillance, la gestion et la gouvernance des artefacts de développement et de production ;
- La conduite de tests automatisés, la mise en production et l’intégration des artefacts DSML (Directory Services Markup Language) et des pipelines d’intégration et de distribution continue.
- Le support de la science des données du début à la fin.
Assurer la collaboration entre les équipes
La méthode agile nécessite une excellente coordination entre les équipes sur le projet. Un projet de ML rassemble différents métiers (Data scientists, ingénieurs ML, MLOps, etc.) qui doivent collaborer de manière efficace pour répondre aux attentes d’un client commanditaire. Pour cela, les rôles des équipes doivent être clairement définis avant la mise en marche du projet ML.
Un exemple de principe: désignez des chefs d’équipes responsables des relations fonctionnelles avec les autres équipes, et qui sont responsables de la coordination. Il est aussi important pour chaque équipe de savoir vulgariser leur expertise aux autres pour démocratiser les connaissances au sein de l’ensemble de l’équipe.
Prenons par exemple une équipe composée de 4 personnes dont un data scientist, un ingénieur ML, un ingénieur en data et un MLOps. La première étape de définition et d’exploration est menée par le data scientist et l’ingénieur ML en collaboration avec un client interne, comme un business analyst.
La création du modèle est gérée par le data scientist et les ingénieurs ML et data. Ces deux derniers s’occupent également du développement et de toute la partie opérationnelle avec l’aide du MLOps.
Suivre une stratégie itérative et incrémentale
L’objectif principal de la méthode agile appliquée au ML vise à délivrer un travail par petites étapes, mais chacune consommables.
Les exigences, les conceptions et les résultats sont ensuite évalués à chaque étape afin que les équipes puissent réagir rapidement aux changements et proposer une nouvelle version du produit lors de l’étape suivante.
Chaque incrément de la méthode agile est petit, consommable et délivre de la valeur tout du long. Cela permet globalement de minimiser les risques.
Le schéma ci-dessous est un exemple des étapes clés du processus de développement d’un produit ML, qui passent du MVP au EVP en passant par le MMP.
Une fois arrivée à la ‘V1’, il est également important de soulever les problèmes rencontrés afin de les résoudre lors des prochaines itérations.

Aleia applique la méthode agile à la fois pour le développement logiciel de notre plateforme mais également lors de l’accompagnement de nos clients sur leurs projets.
Notre stratégie est fondée sur l’agilité, l’extensibilité et l’augmentation de la productivité.