Definition

Modèle en cascade (Waterfall)

En génie logiciel, le modèle en cascade est une version répandue du modèle de gestion du cycle de développement des systèmes et des applications. Souvent considéré comme l'approche classique du développement, ce modèle décrit un cycle linéaire et séquentiel. Son alternative la plus connue aujourd’hui est la méthodologie Agile.

Chaque phase du développement en cascade comporte des objectifs distincts. Imaginez une cascade dégringolant d'une haute falaise en montagne. Une fois que l'eau est passée par-dessus la falaise et commence à dévaler le flanc de la montagne, elle ne peut plus remonter. Le développement en cascade suit exactement la même logique. Dès qu'une étape est terminée, le développement passe à l'étape suivante ; il n'y a pas (ou peu) de retour en arrière.

L'avantage de ce modèle est qu'il permet la départementalisation et le contrôle de gestion. Il est possible de définir un calendrier comportant des échéances pour chaque étape. Ainsi, un produit peut avancer dans le processus de développement comme une voiture dans un poste de lavage afin, en théorie, d'être livré dans les délais.

Le développement commence par la conception, puis passe par les différents stades de l'élaboration, de la mise en œuvre, des tests, de l'installation, du dépannage, avant de se terminer par l'exploitation et la maintenance.

Les différentes phases se succèdent dans un ordre strict, sans aucun chevauchement ni étapes itératives.

L'inconvénient du développement en cascade est qu'il n'autorise guère la réflexion ou la révision. Une fois qu'une application se trouve en phase de test, il est très difficile de revenir en arrière afin de modifier un élément mal conçu lors des phases précédentes.

Il existe des solutions de substitution au modèle en cascade, dont la plus connue est certainement le développement Agile.

Cette définition a été mise à jour en juillet 2016

Pour approfondir sur Outils de développement