Dipende. Esistono molti tipi di migrazione.
In molti casi, migrerai da un'applicazione completamente funzionale a un'altra applicazione pienamente funzionante. Dato che la nuova applicazione è un'applicazione completamente funzionale, i requisiti funzionali sono completamente noti - dopo tutto, qualcuno ha costruito la cosa.
Lo sforzo di migrazione riguarda principalmente la conversione delle strutture del database in base alla nuova applicazione. L'obiettivo è un evento big bang in cui la vecchia applicazione viene ritirata e tutti gli utenti vengono indirizzati alla nuova applicazione.
In questo caso, sarebbe piuttosto difficile inserirlo in un approccio agile o iterativo. C'è solo una versione. I dati devono essere convertiti tutti in una volta, durante la finestra go-live.
Quindi, mentre si possono avere diverse sessioni a secco, ognuna delle quali produrrà rapporti di fallout (dati che non possono essere convertiti), alla fine non c'è software funzionante fino alla fine. Ciò è in contrasto con l'idea agile che si stanno apportando piccole modifiche in un modo in cui ogni versione è un prodotto funzionale con un sottoinsieme di funzionalità.
In altri casi, potresti avere due applicazioni in esecuzione in parallelo e convertire i moduli uno alla volta. Ad esempio, se si esegue la conversione da Clearquest e Subversion a TFS, è possibile migrare il codice in una volta sola, quindi migrare i difetti, quindi eseguire la migrazione delle attività. Si potrebbe prima elaborare un sistema di identità federato per consentire a un utente di passare agevolmente da un'applicazione all'altra, quindi configurare il sistema di menu in modo che punti a software diversi a seconda di ciò che è stato convertito nel momento attuale. Probabilmente questo potrebbe essere affrontato in modo agile.
In altri casi, non stai realmente migrando ma ri-implementando. Ad esempio, se si sta eseguendo la migrazione da un'applicazione personalizzata a un'altra applicazione appena acquistata e un'analisi delle lacune ha dimostrato che è necessario personalizzare anche la nuova applicazione. In questo caso il progetto potrebbe essere Agile, perché stai ri-implementando le funzionalità man mano che vai.
Non direi che la dichiarazione è fallace senza sapere di più su cosa sia il progetto. In una banca, se stanno migrando il loro host principale, sarebbe sicuramente un evento big bang, a causa dei requisiti di integrità dei dati: un conto bancario non può avere due registri principali oppure si verificheranno seri problemi di contabilità. Ma se stanno mantenendo il loro ospite ma stanno cambiando un paio di siti web rivolti ai clienti, potrebbe essere concepito in fasi successive. Inoltre, è molto probabile che uno di questi stadi sia troppo grande per adattarsi a ciò che è in genere pensato come un'iterazione.