Agile ha successo se hai un'organizzazione impegnata a farlo nel modo giusto. Nessuna metodologia funzionerà se non hai impegno e formazione nella metodologia.
Direi anche che agile funziona meglio su una certa scala. Devi essere in grado di dividere il tuo progetto in deliverable di dimensioni ragionevoli. Non saresti in grado di costruire un edificio per uffici o un sottomarino nucleare usando agile.
Allo stesso modo, nel software, alcuni progetti sono abbastanza grandi e complessi da non poter davvero iniziare senza fare un gran lavoro di progettazione iniziale usando un approccio più a cascata. Pensa a qualcosa come un sistema operativo, per esempio. Un altro esempio potrebbe essere un sistema che attraversa molti confini organizzativi, come un sistema di record elettronico sanitario nazionale.
Una volta che hai completato l'architettura e il design generale, puoi usare agile per costruire le funzionalità, ma se hai iniziato con agile probabilmente non decollare.