Il y a une idée fausse ici: Agile n'encourage pas les exigences du projet à changer. Il permet plutôt le changement sans gaspiller le travail ou sacrifier des domaines de développement importants.
Il y a quatre contraintes fondamentales à tout projet d'ingénierie; portée, coût, temps et qualité. Waterfall suppose que ceux-ci seront statiques. C'est une hypothèse incorrecte; un ou plusieurs de ces changements TOUJOURS. Le fluage de la portée, les budgets réduits et d'autres «inconnues inconnues» interfèrent TOUJOURS avec un projet, changeant les contraintes. Waterfall ne prévoit pas cela, donc quand cela se produit, le projet change de manière indésirable; les fonctionnalités importantes qui n'ont pas encore été ajoutées disparaissent, ou sont rapidement mises en œuvre, ou la version doit être repoussée, ou coûter des ballons car le PM injecte de l'argent aux nouveaux développeurs pour les aider à bien faire les choses.
Agile, en revanche, permet aux contraintes de changer, et l'attend réellement. Il le fait en effectuant des travaux en petits morceaux utilisables, selon les priorités du propriétaire, et donc les morceaux sont idéalement immédiatement utiles au propriétaire du projet. Réduit ainsi l'exposition à l'inconnu en ne faisant pas de grands projets dans un délai où les inconnues sont grandes. Si la chronologie change, des équipes peuvent être ajoutées, ou des fonctionnalités moins importantes "supprimées", et le système que l'équipe a déjà construit n'est pas affecté.
Il permet également de meilleures estimations du temps et des coûts nécessaires pour produire la portée donnée avec la qualité requise. Les gens sont notoirement mauvais pour estimer les gros travaux; il faut BEAUCOUP d'expérience, et beaucoup PLUS de calculs initiaux, pour le faire correctement. En revanche, les gens sont généralement de bons juges de ce qu'ils peuvent faire en une journée, ou une semaine ou deux. Cela produit rapidement un état stable où vous pouvez extrapoler le temps et le coût du travail restant à faire en fonction de votre rythme historique, avec une bonne quantité de précision.
Quant à la définition des points de terminaison, vous avez raison; un projet Agile PEUT durer éternellement. Cependant, il en va de même pour le SLDC traditionnel; le client revient souvent avec plus d'argent et une liste de mises à niveau. La différence est qu'il n'y a pas de ligne claire entre «analyse», «conception», «développement» et «maintenance» lorsque l'on considère le projet dans son ensemble; tout se passe brique par brique, sprint par sprint. Si, à un moment donné, le propriétaire veut appeler le projet "terminé", il le peut et il aura la somme totale des "briques" qu'il a payées dans un "mur" solide; il peut ne pas être aussi élevé ou s'étendre autant que prévu initialement, mais il est fermement en place, fait le travail et peut être ajouté à une date ultérieure avec un minimum de démolition.