Какие риски могут вас ожидать, если вы решите исправить унаследованную систему или заменить её на новую версию:
1. Унаследованные системы зачастую очень важны для бизнеса. Этими системами уже пользуются, они уже приносят деньги, поэтому ошибки в коде могут очень дорого стоить.
2. Если система уже была запущена, то пользователи научились с ней работать, обходить проблемы, которые она содержит. Например, вы наверняка слышали в магазинах: «Сейчас система зависла, надо подождать немного, потом перезагрузить компьютер, и я проведу оплату ещё раз. Ничего страшного, так бывает». Ваша новая реализация, возможно, будет лучше, но не забывайте про то, что у пользователей уже сложились «ритуалы», поэтому потребуется переобучение людей.
3. Знания об истории развития унаследованной системы могут быть потеряны, поэтому вы рискуете забыть реализовать функциональность, которая была в старой системе.
4. Обычно работа по исправлению идёт под давлением сроков и большого количества технических долгов, что грозит потерей мотивации в команде.
5. Во время замены системы некоторое время будет замедление разработки, так как вы будете входить в проект, постепенно переписывая то, что уже есть в унаследованной системе. Надо убедиться, что бизнес готов к этому замедлению.
6. Если заказчик или инвестор, взвесив все риски, решается взяться за работу, то вам следует понять важную вещь: для него не будет разделения на «новую систему» и «старую систему». Система всегда едина. Возникли неожиданные проблемы в неожиданном месте? Теперь это ваша проблема. Вы в этом не виноваты? Код был хрупким и поэтому всё сломалось? Для заказчика теперь вы ответственный за весь код, вам и решать все проблемы. Приготовьтесь к тому, что будете самостоятельно искать, отлаживать, профилировать унаследованную систему значительное время.
По списку видно, что замена унаследованной системы не будет простым занятием, поэтому перед стартом работ желательно хорошо подготовиться.