Waterfall ou Agile ? La gestion de projet dans le développement web et l’informatique est une problématique particulièrement importante car elle influence aussi bien la constitution des équipes que la façon dont sera géré le projet, en interne mais également avec le client final.
La méthode Waterfall est considérée comme la méthode de gestion de projet traditionnelle. Elle fonctionne, comme son nom l’indique, sur un système de cascade : une séquence est développée après l’autre, jusqu’à aboutir au produit final, lequel est livré au client au terme de plusieurs mois de développement.
Plus récente — mais pas tant que ça, son invention remontant au début des années 90 — la philosophie Agile fonctionne pour sa part en itération et inclut très tôt le client dans la boucle de développement. Elle permet la livraison d’un produit en version test, mais déjà fonctionnel, permettant d’éprouver les fonctionnalités les unes après les autres.
Le mode Agile a connu un véritable essor ces dernières années. Il est aujourd’hui préféré par les équipes de développement, particulièrement dans les startups. Il a en effet beaucoup d’avantages, dont des coûts de production moins élevés et un temps de développement plus court. Doit-il cependant évincer la méthode Waterfall dans la conception web et informatique ?
Waterfall, une méthode largement éprouvée
La gestion de projet en mode séquentiel, ou Waterfall, a été conceptualisé depuis les années 70. Autant dire que depuis, la méthode a fait un bon chemin jusqu’à nous et a eu l’occasion de prouver la solidité de sa structure.
Les étapes traditionnelles de la méthode en cascade sont les suivantes :
- Analyse du besoin client
- Conception du cahier des charges
- Prédiction de l’échéancier et du budget
- Développement
- Recettage
- Maintenance
C’est une approche stricte de la gestion de projet, largement plébiscitée par de nombreuses industries et dont l’ambition est de créer un produit fini complet et conforme au cahier des charges. Chaque séquence amène à la suivante et le projet avance de façon linéaire.
Cette méthode se révèle particulièrement efficace dans le cadre de petits projets. La conception d’un site Internet classique, par exemple, peut très bien se satisfaire de la méthode Waterfall. Celle-ci permettra d’estimer très clairement les besoins du client et de lui présenter un échéancier et un budget clairs et rassurants.
Les difficultés rencontrées avec la méthode Waterfall
Le principal problème rencontré en gestion de projet avec la méthode en cascade est justement la logique de son fonctionnement. En effet, dans un fonctionnement en séquence, chaque étape dépend des précédentes et cela rend une conception en Waterfall très rigide.
Sur une période de développement de plusieurs mois, la vision du projet peut grandement évoluer, voire les besoins changer. Or, en web et en informatique, il y a un fort besoin de réactivité et de flexibilité, lié à la structure économique du marché et à l’évolutivité de celui-ci.
Comme la livraison survient en fin de projet, le produit final peut se révéler en décalage complet avec les attentes du client. Dans ce cas de figure, les ajustements vont demander d’importantes modifications qui impacteront chaque séquence de développement… et le budget !
Waterfall, les avantages :
- Modèle éprouvé
- Efficace sur les petits projets de quelques semaines de développement
- Cahier des charges et budget clairs
- Respect scrupuleux du cahier des charges
Waterfall, les inconvénients :
- Peu ou pas de place pour les imprévus
- Rigidité face aux changements
- Risque de déphasage entre le moment de l’analyse du besoin et la livraison finale
- Ajustements post-livraison coûteux
Les méthodes agiles, la flexibilité au sein de la conception produit
Le concept de philosophie Agile nous arrive tout droit des années 80-90. Représentant un courant qui se démarque du traditionnel fonctionnement en cascade, la philosophie ou courant Agile se décline en différentes méthodes, dont les plus populaires sont Scrum et Lean (méthode Kanban).
On reconnaît la méthodologie Agile à son fonctionnement :
- Plannification et priorisation des fonctionnalités
- Itération (sprint planning, sprint, mêlée)
- Livraison (ou sprint review meeting)
- Nouvelle itération, etc.
Chaque itération représente un cycle de développement court qui ne dépasse pas quelques semaines. Ce fonctionnement permet, au terme de chaque sprint, de réévaluer les priorités et d’envisager plus facilement des améliorations. Il s’agit d’une approche incrémentale.
Cette façon de gérer le développement du produit permet de solliciter beaucoup plus tôt le client final, lequel travaillera conjointement avec l’équipe aux améliorations des fonctionnalités. Cette méthodologie laisse une place plus large à la communication. Les différents partis du projet sont impliqués dans la conception, ce qui amoindrit les risques de déphasage entre le prestataire et client.
Par ailleurs, les modifications sont moins coûteuses et moins longues. Chaque itération étant indépendante, revenir sur une fonctionnalité ne demandera pas de remanier complètement le projet, contrairement à ce qu’on a pu constater avec la méthode Waterfall.
Les risques de la conception en mode Agile
On l’a vu, la méthode Agile est bien plus souple que la méthode Waterfall, mais ce qui fait sa force peut aussi faire sa faiblesse. En effet, avec la méthodologie Agile, on peut finalement se retrouver avec un produit final complètement différent par rapport à ce qui était initialement prévu.
Par ailleurs, la méthodologie demanda la multiplication des sessions de tests et recettage. Chaque modification s’accompagnera de nouveaux tests. Par ailleurs, les modifications peuvent amener des bugs qu’il sera nécessaire de résoudre, rallongeant l’itération.
La méthode Agile convient donc moins bien que la méthode Waterfall à un projet qui comporte déjà une vision précise du produit final. L’intéret d’utiliser la méthode incrémentale à ce type de projet est faible, et risque au contraire d’amener à une perte de vue des objectifs finaux.
Méthodes agiles, les avantages :
- Coûts de production amoindris
- Temps de développement (itérations) plus court
- Meilleure communication avec le client
- Échanges actifs au sein des équipes de développement
- Flexibilité
- Rapidité
- Adapté aux domaines à l’évolution rapide
Méthodes agiles, les inconvénients :
- Risque de décalage entre l’objectif et le produit final
- Risque de multiplication des sprints
- Beaucoup de temps à consacrer au débugage
Quelle approche choisir pour son projet ?
La méthode Agile comme la méthode Waterfall ont chacune leurs forces et leur faiblesses. Au final, le choix dépend grandement de la nature du projet et du marché dans lequel il sera voué à évoluer.
Un projet déjà très structuré sur un marché stable n’a pas forcément d’intérêt à être conduit en mode Agile et profitera bien mieux de l’organisation et la structure des méthodes en cascade.
Au contraire, un projet qui demande un développement plus rapide pour se placer sur un marché sujet à de nombreuses évolutions aura fort à gagner à se voir inscrit dans une philosophie de développement Agile. Un tel projet profitera parfaitement des forces de l’agilité, car rapidité et flexibilité sont essentiels au succès sur ce type de marché.
C’est la raison pour laquelle le mode Agile est plus largement préféré dans les mondes du développement et de l’informatique. Ces deux domaines sont soumis à une importante pression, du fait des évolutions constantes auxquels ils sont soumis et à forte concurrence qui domine le marché.
Par ailleurs, la popularisation de nombreux frameworks de développement front-end et back-end s’inscrivent parfaitement dans la lignée du courant Agile. L’Open Source permet cette agilité en permettant de déployer des applications et logiciels plus adaptables, faciles à maintenir et plus abordables.
La philosophie Agile remet l’utilisateur au centre du développement produit : Découvrez notre interview d’un coach Agile !
Leave a Reply