ระบบเดิมนั้นไม่สะดวก แต่มักจะมีค่า พวกมันนำเสนอธุรกิจ การตัดสินใจ ปรับปรุง แทนที่ หรือเลิกใช้ จะต้องขับเคลื่อนด้วยต้นทุนและมูลค่า ไม่ใช่ด้วยความหนีเรียงจากรหัสเดิม "มันเก่าและน่าเกลียด" ไม่ใช่เหตุผล "มันทำให้เราเสียเงิน" คือ
คู่มือการตัดสินใจ
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
