Quando un software è difficile da modificare, la riscrittura totale sembra una scorciatoia. In realtà può cancellare anni di comportamento implicito e introdurre nuovi rischi. Prima di decidere conviene capire perché il sistema attuale è diventato problematico.
Le ragioni valide
Una riscrittura può avere senso quando vincoli tecnologici, sicurezza, costi operativi o impossibilità di evoluzione rendono il sistema attuale non sostenibile.
- Tecnologia non più supportata
- Architettura incompatibile con requisiti nuovi
- Costi di manutenzione crescenti
- Sicurezza non recuperabile in modo ragionevole
- Impossibilità di testare o rilasciare con affidabilità
Quando è meglio il refactoring
Se il prodotto ha valore, il dominio è complesso e le parti critiche possono essere isolate, migliorare progressivamente può ridurre molto il rischio.
Migrare per fasi
Pattern come strangler, API di compatibilità e sostituzione per moduli permettono di mantenere il servizio mentre il nuovo sistema cresce.
Prima di riscrivere, bisogna sapere quali problemi della versione attuale sono davvero architetturali e quali dipendono da processo, test o organizzazione.
Vuoi applicarlo al tuo progetto?
Possiamo partire da una valutazione del contesto attuale e capire quali decisioni hanno priorità.
Approfondisci Cambio software houseDomande frequenti
Una riscrittura costa sempre più del refactoring?
Non sempre, ma tende ad avere più rischio e un periodo in cui vecchio e nuovo devono convivere.
Come si decide?
Con un assessment che confronti costo di evoluzione, rischio, vincoli tecnici e valore delle parti esistenti.