الأنظمة القديمة غير مريحة لكنها غالباً ما تكون قيّمة، فهي تشغل الأعمال. يجب أن يكون القرار برفع المستوى أو الاستبدال أو الإيقاف مدفوعاً بالتكلفة والقيمة، وليس بعدم الرغبة في الكود القديم. "إنه قديم وقبيح" ليس سبباً؛ "إنه يكلفنا" هو السبب.
دليل القرار
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
