
Долгоживущие системы нельзя просто взять и заменить, это дорого. Переезд может оказать дороже новой системы.
Поэтому на практике такие системы рефакторят кусочно, по частям. Но для этого мало сохранить код или даже внешнее поведение. Нужно сохранить связь кода с целью и ограничениями системы, с намерениями при ее создании. Эта связь должна переживать смену разработчика. Если она живёт только в головах, каждое серьёзное изменение снова начинается с археологии.
В этой части статьи
Археология. Нужно восстановить, как система реально работает, что в ней было задумано, какие ограничения спрятаны в ней или во внешней среде.
Обеспечение соответствия старому поведению. Пока новая реализация не доказала, что ведёт себя так же, любое изменение рискованно. Требуется повторить даже то, что вы не обещали (Закон Хайрама)