logo

Faut-il absolument développer tous les projets en agile ?

March 23, 2021

Sans attendre la conclusion, affirmons tout de suite que la réponse est non : l’agilité n’est pas une méthode universelle.

Le développement en agile peut être très avantageux, nous vous en parlions dans notre article dédié à l’agilité. Toutefois, bien que ce soit à la fois une méthode tendance et efficace, cela ne signifie pas qu’il s’agit de la méthode miracle, encore moins qu’elle est adaptée à toutes les situations…

Agile or not agile, telle est la question

Tout dépend du projet : le développement agile est un outil très intéressant pour les projets caractérisés par une forte incertitude. Les autres ont beaucoup moins à y gagner et le cycle en V peut être parfaitement en phase avec les besoins de tel ou tel projet.

En revanche, cette incertitude est très présente dans la grande majorité des développements logiciels et à l’informatique en général, ce qui laisse le champ libre à l’agilité dans bien des domaines.

Dans quels cas l’usage de l’agilité n'est-il pas recommandé ?

Les limites de l’agilité

Dans certains cas, il est préférable à tous les égards d’utiliser les méthodes classiques, dites à cascade (waterfall). Le premier cas ? Lorsque l’on dispose de contraintes techniques extrêmement bien définies et immuables. Dès lors, l’agilité perd grandement de son intérêt.

Au cours du développement d’un projet, nous pensons souvent savoir de quoi nous avons besoin… avant de changer d’avis. Plusieurs fois. D’où le besoin d’agilité ! Ce constat est véridique, mais il ne s’applique pas toujours.

Un exemple concret pour mieux comprendre

Prenons un exemple de développement récent pour l’un de nos clients, la création d’une interface de contrôle pour un équipement industriel. 

Cet équipement possède des spécifications précises et documentées qui ne changent pas dans le temps, le projet a donc une inertie forte. En revanche, l’interface utilisateur est une application mobile, qui peut changer pendant le développement en fonction des retours utilisateur (comme toute app mobile).

Nous avons donc découpé le projet en deux sous-projets : 

  • une brique de connexion entre l’équipement et l’app mobile
  • une interface utilisateur

Cela nous a permis de développer et de gérer les deux projets de manière différente : le premier (l’équipement) en waterfall, le second (l’app) en agile. Chaque projet avait des besoins différents : 

  • Le premier avait une marge d’incertitude faible grâce ses specs rigides et immuables, facilement testables et sans subjectivité. Le mode waterfall était donc idéal.
  • Le second allait être amené à évoluer par sa nature, car il possédait tous les problèmes des interfaces homme-machine, d’où le recours nécessaire à la méthodologie agile.

En synthèse

En résumé, contrairement aux idées reçues, les méthodes agiles ne sont pas des méthodes passe-partout. Si pour de nombreux projets notamment logiciels nous ne pouvons que recommander l’agilité, ce n’est pas la solution ultime pour tous les projets, quels qu’ils soient.

L’agilité déployée aux projets permet de faciliter l'adaptation aux changements, mais aussi de maîtriser davantage les processus à long terme pour obtenir en bout de course une meilleure satisfaction des clients et des équipes.

L’agilité est un outil, certes puissant, mais qui ne reste qu’un outil parmi d’autres. C’est pourquoi, selon le projet, il est important de savoir quand cet outil peut être utilisé, et quand il vaut mieux s’en passer.

Mattia Longhin

Une idée, un projet ?

Dicutons-en !