Systemy legacy są niewygodne, ale często wartościowe – prowadzą biznes. Decyzja o refaktoryzacji, zastąpieniu lub wycofaniu musi być napędzana kosztem i wartością, a nie niechęcią do starego kodu. "To stare i brzydkie" nie jest powodem; "to nas kosztuje" to jest.
Dlaczego to ważne
REFACTOR (improve in place) when:
- Core logic is sound; it's holding business value
- Problems are localized; you can improve incrementally
REPLACE (rewrite/migrate) when:
- It blocks important work and can't be incrementally fixed
- Maintenance cost > rebuild cost over a sensible horizon
- It's a growing security or reliability liability
RETIRE (remove entirely) when:
- Its value no longer justifies any maintenance cost
- Usage has dwindled; a simpler path exists
