Gestion de projet agile ou waterfall, comment choisir ?

Le débat fait rage entre les méthodes agiles et waterfall. La première est aujourd'hui plébiscitée par beaucoup, mais la seconde conserve beaucoup d'attraits.

Dans le domaine de la gestion de projets au sens large, le débat fait rage entre le modèle waterfall et la méthode agile, qui sont les deux approches les plus communément utilisées dans les entreprises. Les deux ont leurs inconditionnels et leurs détracteurs. La méthode agile est très populaire chez les informaticiens, et beaucoup la considèrent comme la mieux adaptée à la transformation et à la digitalisation de notre économie. Pourtant, la méthode traditionnelle, dite waterfall, a elle aussi largement fait ses preuves depuis de nombreuses années. Donc pourquoi toujours suivre aveuglément la nouveauté, quand la tradition a réussi à résister aussi bien à l’épreuve du temps ?

Dans ces conditions, quel modèle le responsable d’un projet lambda doit-il choisir ? Comme bien souvent, tout n’est pas tout noir ou tout blanc. Tout est d’abord une question de contexte, et pour trancher, il devra bien reconnaître sur quel type de terrain il devra évoluer.

Mais avant toute chose, il est important de bien comprendre quelle est la philosophie et quels sont leurs avantages respectifs des deux méthodes.

Comprendre la méthode waterfall

Le concept de base derrière le modèle waterfall, qui a été décrit pour la première fois en 1970, est apparent dans son nom même : waterfall ou en cascade en français. Un projet procède par étapes de façon séquentielle à partir de sa conception, chaque étape menant à la suivante. Même s’il existe diverses versions différentes, le modèle de base se décline en une série de six étapes :

Exigences (analyse des besoins du donneur d’ordre) ; Conception ; Planning (échéancier et budget) ; Mise en œuvre ; Vérification ; Maintenance.

Le modèle waterfall découle des processus stricts utilisés dans des industries telles que le bâtiment ou l’automobile. Utilisé depuis de nombreuses années, il possède encore beaucoup d’adeptes. Il s’agit d’une approche logique et séquentielle, étape par étape, qui vise à créer le meilleur produit final possible. Toutefois, elle ne laisse que difficilement place à l’imprévu, où à des ajustements après la clôture du projet. En effet, si la demande du client est modifiée, ou si les conditions de réalisation changent, il faut revenir au départ, car toutes les étapes en seront potentiellement affectées. C’est justement ce manque de flexibilité qui a conduit au développement de la méthode dite agile.

Les bases de la gestion de processus agile

La méthode agile fournit avant tout une architecture de gestion de projet qui autorise de fréquentes itérations, adaptations et mises à jour. Une des premières variations de cette méthodologie est Scrum, développé en 1986, qui a introduit le concept de la volatilité des besoins. Ce principe reconnaît la réalité que des clients peuvent avoir dans le temps des besoins et des attentes différentes que celles qu’ils ont exprimées au départ, et que de nouveaux développements peuvent s’avérer nécessaires après la clôture du projet. Scrum tient compte de cette réalité en étant extrêmement flexible afin de tenir compte des évolutions qui peuvent se produire.

Dans la méthodologie agile, les équipes adoptent une approche incrémentale plutôt que séquentielle, et travaillent en cycles courts – appelés sprints – pour apporter des améliorations en continu. A la fin de chaque sprint, les priorités du projet sont réévaluées et des tests sont menés. Les erreurs et bugs éventuels sont ainsi découverts et les retours du client sont intégrés dans la conception avant le démarrage du sprint suivant.

Choisir la bonne approche

Les méthodes agile et waterfall ont donc chacune leurs avantages et inconvénients. Faire le bon choix dépend de beaucoup de paramètres : la culture d’entreprise, l’environnement, le mode de développement interne/externe, l’expérience de l’équipe, mais surtout du type de projet.

Le processus agile permet d’effectuer plus d’ajustements et d’améliorations plus rapidement en cours de route, mais chaque changement prendra probablement du temps pour éliminer les erreurs et les bugs. De même, si le projet initial n’a pas une organisation définie, le produit final peut être nettement différent de ce qui était prévu au départ. Avec l’organisation plus stricte du processus waterfall, les nouvelles versions sortent plus finalisées, ce qui facilite (théoriquement) l’évaluation précise du budget, du temps et des ressources nécessaires pour réaliser l’ensemble du projet.

En fait, la méthode waterfall doit être privilégiée lorsqu’il existe une vision claire du produit final dès le départ. Lorsque le client n’a pas la possibilité de modifier l’étendue du projet une fois qu’il a débuté. Et lorsque la définition, et non la vitesse, est la clé du succès.

A l’inverse, la méthode agile sera mieux adaptée lorsque la rapidité est le principal critère  de succès, lorsque l’étendue du projet doit pouvoir être modifiée en cours de route, lorsque les intervenants sont adaptables et autonomes, et lorsque le projet s’applique à un domaine en évolution rapide.

Certains même proposent un rapprochement entre les deux méthodes et préconisent une approche hybride, en commençant un projet en waterfall et en le terminant en agile, ou inversement en fonction du contexte.

Utiliser une plateforme qui gère les deux méthodes

En conséquence, il est essentiel de disposer d’une plateforme de gestion de projet qui gère les deux méthodes, afin de pouvoir passer sans peine de l’un à l’autre en fonction des circonstances. Les responsables de projet doivent pouvoir mettre en place un cycle waterfall en utilisant des diagrammes de Gantt, ou un cycle agile en utilisant des tableaux de bord et des workflows personnalisés. Quelle que soit la méthode choisie, ils doivent être capables de suivre au plus près la marche du projet avec un échéancier précis, et maintenir une communication continue et transparente avec tous les membres de l’équipe et les donneurs d’ordre.