Innanzitutto, la risposta elenca due "problemi" che non hanno quasi nulla a che fare con Agile o ORM.
When it's not nice and simple, the SQL will be garbage.
Questo significa che il database è stato mal progettato fin dall'inizio. Molte persone non riescono a pensare chiaramente a come SQL deve funzionare, a progettare database scadenti e quindi a modificare l'SQL per farlo funzionare.
ORM richiede un pensiero molto chiaro sugli oggetti, le loro relazioni e la navigazione tra gli oggetti. La progettazione del database è qui il problema, non l'ORM e non i metodi Agile.
Our database is constantly changing. That means every couple of days someone needs to spend an hour updating the model to add a table or change datatypes that are changing (agile + ORM on a large constantly changing database is brutal).
L'alternativa senza ORM potrebbe essere settimane per cambiare il modello e correggere tutte le query SQL. Il fatto che sia solo un'ora ogni due giorni è un girone di approvazione.
Tutti i cambiamenti possono essere "brutali". Questo è un dato di fatto. Agile è una risposta di gestione (non una risposta tecnica). Il cambiamento è ancora molto lavoro.
Un ORM spesso riduce al minimo tale lavoro. Questo "problema" è la prova che ORM ha un buon ritorno sull'investimento.
So, how can an Agile process deal with a constantly changing database?
Si occupa molto bene.
Where the database design will stablelize, after using it a while to see how it works
Non c'è dubbio qui. Questo è il caso ideale. Il cambiamento rallenta.
Where constantly changing data schemas require that the database changes often.
Agile è una risposta di gestione a un cambiamento costante. Non una risposta tecnica. La risposta tecnica al cambiamento costante è - beh - cambiamento costante. Siamo spiacenti.
La gestione agile riconosce che il cambiamento è costante e pianifica i progetti di conseguenza. Una gestione non agile richiede che tutti i progetti vengano completati prima di qualsiasi implementazione, e tutte le modifiche comportano complesse procedure di controllo delle modifiche e straordinari straordinari per evitare ritardi dei progetti e molte altre cattive pratiche di gestione.
Le pratiche tecniche sono le stesse. Correggi il modello. Correggi il livello ORM.