Avec la cascade, le projet avance dans une direction après chaque phase et passe à la phase suivante. Agile, d’autre part, se concentre sur les petites itérations et vise à fournir un produit minimum viable. Le meilleur exemple dont j’ai entendu parler est que si un client a besoin d’une voiture, vous ne commencez pas simplement à construire une voiture. La première itération est une planche à roulettes qui est un moyen de transport comme la voiture, mais extrêmement basique. La prochaine itération consisterait à ajouter plus de fonctionnalités et à construire une moto. C’est beaucoup plus proche de ce que le client a demandé. En fait, le client pourrait être satisfait de ce produit tel quel.

En raison de sa nature, la méthodologie de la cascade produit des tonnes de documentation, y compris des diagrammes, car elle doit être bien écrite avant de passer à la phase suivante. Agile nécessite moins de documentation initiale et a plus de chances de supprimer les bogues. La documentation écrite est généralement difficile à imaginer pour le client.

Agile construit rapidement quelque chose à chaque phase. Quelque chose de concret, que le client peut essayer pour permettre un meilleur retour d’information et une communication plus claire. J’ai vu les inconvénients des deux méthodes et je suis donc un hybride des deux. Je commence par documenter les procès-verbaux des réunions et à rédiger un document de spécification rapide afin d’avoir une image plus claire dans ma tête, puis je passe à une maquette rapide de C #, qui est simplement la disposition visuelle des champs et des boutons. Ceci est généralement suffisant pour obtenir d’excellents commentaires du client avant de l’envoyer à nos développeurs pour qu’ils construisent la version finale. Cela finit par produire un produit bien meilleur pour le client et épargner à mon équipe de nombreuses retouches si quelque chose manquait ou si un changement était nécessaire.