Qui c'è un equivoco: Agile non incoraggia i requisiti del progetto a cambiare. Permette invece il cambiamento senza sprecare lavoro o sacrificare importanti aree di sviluppo.
Ci sono quattro limiti fondamentali per qualsiasi progetto di ingegneria; portata, costo, tempo e qualità. La cascata presuppone che queste saranno statiche. Questa è un'ipotesi errata; uno o più di questi cambi SEMPRE. Scope creep, budget ridotto e altre "incognite sconosciute" interferiscono SEMPRE con un progetto, cambiando i vincoli. La cascata non lo anticipa, quindi quando accade, il progetto cambia in modi indesiderati; le caratteristiche importanti che non sono state ancora aggiunte vanno via, o sono fatte rapidamente, o il rilascio deve essere respinto, o costare palloncini mentre il PM getta denaro ai nuovi sviluppatori per far sì che tutto funzioni correttamente.
Agile, al contrario, consente ai vincoli di cambiare e in realtà lo prevede. Lo fa lavorando in piccoli pezzi utilizzabili, in base alle priorità del proprietario, e quindi i pezzi sono idealmente immediatamente utili al proprietario del progetto. Riduce così l'esposizione allo sconosciuto non facendo grandi piani in un lasso di tempo in cui le incognite sono grandi. Se la timeline cambia, i team possono essere aggiunti o le funzionalità meno importanti "de-scoped" e il sistema che il team ha già creato non viene modificato.
Fornisce inoltre stime migliori del tempo e dei costi necessari per produrre lo scopo dato alla qualità richiesta. Le persone sono notoriamente cattive nel valutare grandi lavori; ci vuole molta esperienza, e un calcolo molto più anticipato, per farlo correttamente. Al contrario, le persone sono generalmente dei buoni giudici su ciò che possono fare in un giorno o una settimana o due. Ciò produce rapidamente uno stato stazionario in cui è possibile estrapolare il tempo e il costo del lavoro da svolgere in base al ritmo storico, con una buona dose di precisione.
Per quanto riguarda la definizione degli endpoint, hai ragione; un progetto Agile può andare avanti all'infinito. Tuttavia, così può il tradizionale SLDC; il cliente torna spesso con più soldi e una lista dei desideri di aggiornamenti. La differenza è che non c'è una linea chiara tra "analisi", "progettazione", "sviluppo" e "manutenzione" quando si guarda al progetto nel suo complesso; tutto accade mattone per mattone, sprint a sprint. Se in qualsiasi momento il proprietario vuole chiamare il progetto "fatto", può, e avrà la somma totale di "mattoni" che ha pagato in un solido "muro"; potrebbe non essere il più alto o esteso rispetto a quanto inizialmente previsto, ma è saldamente installato, fa il lavoro e può essere aggiunto in un secondo momento con un minimo di abbattimento.