Qui hai a che fare con un debito tecnico. In breve, il debito tecnico implica interessi, che devi pagare nel tempo, e ad un certo punto, devi rimborsarli.
Il tempo di Develloper costa denaro, quindi il debito tecnico può essere visto proprio come il debito reale e costa denaro reale.
Hai fondamentalmente due soluzioni principali e molte soluzioni intermedie. Puoi decidere di non voler rimborsare quel debito ora e continuare a pagare gli interessi. Ovviamente, questo a lungo termine costerà di più, ma ti consentirà di ottenere risultati in questo momento. Puoi anche scegliere di rimborsare quel debito, quindi non andrai più avanti finché non lo rimborserai, ma, alla fine, sarai libero da interessi.
Di solito hai delle scadenze per la consegna e perdere una scadenza causerà sfiducia nei confronti del cliente e alla fine la perderai. Questo potrebbe essere un motivo valido per rompere il debito tecnico: ritieni che ciò che guadagni con il cliente valga l'ulteriore dispendio di debito tecnico.
Sai che alla fine, devi adottare la nuova metodologia, altrimenti, otterrai sempre più debito e alla fine fallirai (ora, quando le persone decidono di ricominciare da zero o quando il progetto fallisce male).
Devi pianificare il modo in cui cambierai la base di codice esistente e passerai alla nuova pratica nel tempo, e distribuisci la modifica bit per bit su base giornaliera. Ad un certo punto, quando questi refactoring porteranno ad altre perdite, considera quale perdita è la peggiore e scegli la migliore.
Il costo del non refactoring aumenterà nel tempo (questi sono interessi del debito tecnico). Quindi questa diventerà alla fine la scelta più costosa.
Assicurati che il tuo capo capisca il concetto di debito tecnico. Anche con precauzione, creerai un debito tecnico. Ad un certo punto, il denaro da utilizzare per rimborsarlo. Quando crei un debito tecnico di proposito, DEVI avere un motivo valido per farlo e vedere il debito come un investimento (proprio come il debito reale). In tutti gli altri casi, NON FARE un debito tecnico apposta.
Potresti essere interessato a metodologie per evolvere DB e implementare tali evoluzioni: http://richarddingwall.name/2011/02/09/the-road-to-automated-database-deployment
A proposito, è un compito difficile, quindi buona fortuna. Ne vale la pena!