Appareil modèle Cascade

Le modèle en cascade, également connu sous le nom de Waterfall, est l'une des approches les plus connues du développement logiciel. L'auteur du modèle est Winston Royce. En 1970, il décrivait l'essentiel de son innovation dans un article détaillant ses avantages et ses inconvénients. Au même endroit, il a expliqué comment ce modèle peut être affiné en un modèle itératif. Initialement, dans le modèle en cascade, les étapes de développement se déroulent dans l'ordre suivant :

  • Définition et coordination des besoins ;
  • Approbation du projet ;
  • Codage;
  • Création d'une version de travail du produit logiciel ;
  • Test et débogage ;
  • Installation du logiciel;
  • Soutien.

Selon le modèle en cascade, l'exécution des actions par le développeur se déroule de manière séquentielle - point par point. Dans un premier temps, des travaux sont en cours pour déterminer et convenir des exigences logicielles sous la forme d'une liste à compléter.

Après cela, il y a une transition vers la création et l'approbation du projet, à la suite de quoi une documentation est écrite décrivant comment mettre en œuvre les exigences logicielles précédemment convenues.

Si la conception est terminée, les développeurs prennent en charge la mise en œuvre. Vient ensuite la fusion du code - l'intégration de parties individuelles du projet, sur lesquelles ont travaillé divers membres de l'équipe.

L'étape suivante consiste à tester et à déboguer le produit. Les erreurs trouvées précédemment sont corrigées ici.

Enfin, le programme est installé et pris en charge. Il s'agit d'apporter, si nécessaire, des modifications à la fonctionnalité et d'éliminer les erreurs constatées.

Le modèle en cascade suppose que vous pouvez passer à l'étape de développement suivante de manière strictement séquentielle - uniquement après l'achèvement de la tâche précédente. La possibilité de retour en arrière ou d'incohérence dans les phases n'est pas prévue.

Avantages et inconvénients

De temps en temps, le modèle en cascade est critiqué en raison de son manque de flexibilité. Beaucoup ne l'aiment pas car l'objectif de gestion de projet y prévaut, alors que le respect des délais, le coût et la qualité du développement sont beaucoup plus importants.

Cependant, lorsqu'il s'agit de grands projets, la gestion y est souvent plus importante, car cela réduit les risques du projet et améliore la transparence du travail.

Malgré les lacunes, la version 3 du PMBOK ne spécifie formellement que la méthodologie du « modèle en cascade ». Les autres options, y compris la gestion de projet itérative, ne sont pas proposées.

Avantages du modèle cascade :

  • Le développement de l'équipe est plus facile à contrôler. Le client connaît ce sur quoi les programmeurs travaillent actuellement, il peut modifier les délais et le budget du projet.
  • Le coût du développement est approuvé à la première étape. Après s'être mis d'accord sur toutes les étapes de mise en œuvre, le produit logiciel est écrit en continu.
  • Des testeurs expérimentés ne sont pas nécessaires. Pour la phase de test, vous pouvez utiliser la documentation du programme.

Inconvénients du modèle cascade :

  • Étant donné que les tests commencent au stade de l'achèvement du développement, si un bogue est découvert, il en coûtera plus cher pour le corriger qu'au stade initial. Après tout, les testeurs ne trouveront une erreur que lorsque le développeur aura déjà fini d'écrire le code et les rédacteurs - la documentation.
  • Le client se familiarise avec le produit fini une fois le développement terminé. En conséquence, il ne peut évaluer le produit que lorsqu'il est presque complètement prêt. S'il n'aime pas le résultat, le coût du budget du projet augmentera considérablement en raison de la nécessité d'une correction.
  • Plus il y a de documentation technique, plus il faut de temps pour terminer le travail. Une telle documentation nécessite davantage de modifications et d'approbations.

"Waterfall" est souvent utilisé dans les projets des industries médicale et aérospatiale, où il existe déjà une large base de documents, sur la base desquels il est possible d'établir des exigences pour de nouveaux logiciels.

Lorsque vous utilisez le modèle en cascade, l'essentiel est d'écrire des exigences détaillées. Lors des tests, il ne doit pas s'avérer qu'il y ait un bogue quelque part qui ait un effet néfaste sur l'ensemble du projet.