Veranderingen die gevolgen hebben voor het functioneren van een systeem hebben verschillende dimensies zoals functionele eisen, niet-functionele eisen, de architectuur, de technologieën waarin het systeem is uitgevoerd en de beschikbare kennis. Dit laatste is belangrijk: er is immers vaan een mismatch tussen de kennis op de arbeidsmarkt en de kennis die noodzakelijk is om het oude systeem draaiende te houden. Tegelijkertijd heeft het systeem zich echter ook bewezen en is het stabiel en relatief goedkoop.
Veel gebruikers zien echter alleen de nadelen van een legacysysteem. Organisaties die de afweging maken om een oud systeem voor een nieuw in te ruilen doen er goed aan een softwarekwaliteitsonderzoek uit te voeren. Een fundamenteel probleem is namelijk dat de term `legacy` geen harde definitie kent. Immers, wat legacy lijkt kan na een grondige studie een essentieel en waardevol systeem blijken. Omgekeerd kunnen ook nieuwe systemen in negatieve zin legacykenmerken hebben.