Il codice legacy non e' semplicemente vecchio. E' codice scritto senza pensare a chi lo avrebbe mantenuto dopo - spesso perche' non c'era tempo, spesso perche' nessuno ha mai posto la domanda. Il risultato e' un sistema che funziona, ma che ogni modifica rende piu' fragile e piu' costoso da evolvere.
Il debito tecnico ha un costo reale, misurabile: sviluppatori che impiegano tre volte il tempo necessario per aggiungere una feature; bug difficili da riprodurre e impossibili da isolare; onboarding di nuovi sviluppatori che richiede mesi invece di settimane.
Un refactoring mirato, fatto con metodo e senza interrompere la produzione, recupera questo costo in un tempo sorprendentemente breve.