Ci sono molte informazioni su strumenti e tecniche per migliorare le basi di codici legacy, ma non ho trovato casi di successo nel mondo reale. La maggior parte dei consigli è a livello micro e, sebbene utile, non convince molte persone a causa della mancanza di prove che può aiutare a livello macro.
Sto cercando specificamente miglioramenti incrementali che hanno dimostrato di essere un successo nel mondo reale quando si aggiorna una base di codice legacy di grandi dimensioni per soddisfare gli standard di qualità odierni e non una riscrittura completa.
Prima:
- Grande: maggiore di 1 MLOC
- Legacy: nessun test automatizzato
- Scarsa qualità: elevata complessità, elevato accoppiamento, difetti elevati sfuggiti
Dopo
- Test automatizzati
- Aggiornamenti / manutenzione più facili
- Alta qualità: complessità ridotta, codice disaccoppiato, pochi difetti sfuggiti
Che tipo di passaggi incrementali è stato dimostrato nel mondo reale di aggiornare con successo una base di codice legacy di grandi dimensioni per soddisfare gli standard di qualità sopra, senza passare attraverso una riscrittura totale?
Se possibile, includere una società di esempio o un caso di studio di un grande progetto legacy che ha superato un processo di miglioramento della qualità "riuscito" nella risposta per eseguire il backup.