Что делать, если на моем ИТ-проекте много legacy-кода? — обложка

Если ваш проект создавался много лет назад, поддерживать его становится всё дороже, новые функции внедряются слишком долго, а разработчики всё чаще говорят о «техдолге» — скорее всего, вы имеете дело с legacy-кодом. Если не предпринять никаких мер, в какой-то момент затраты на поддержку могут превысить пользу от самой системы.

Проблемы старого кода

Сам по себе legacy-код не является проблемой, если система работает стабильно. Проблема — в поиске разработчиков, способных его поддерживать. Со временем это становится всё сложнее, особенно если используются редкие или устаревшие технологии. Найти специалистов для такого проекта может быть не только долго, но и очень дорого — ведь редкие эксперты на рынке стоят значительно дороже.

Другая проблема — устаревание технологий, на которых построен код. Это может привести к тому, что система перестанет работать. Например, технология Flash когда-то была очень популярной, но со временем устарела. В 2012 году компания Adobe, которая её разрабатывала, объявила о прекращении поддержки Flash, а в конце 2020 года поддержка была полностью прекращена. Из-за этого продукты, зависящие от Flash, вынуждены были либо перейти на другие платформы, либо создавать нужные компоненты с нуля.

Таким образом, у каждого продукта есть свой срок жизни. Невозможно создать систему, которая будет работать вечно без обновлений и поддержки. Продукт, которому больше не оказывают поддержку, со временем устаревает настолько, что становится непригодным для использования. Поэтому систему с legacy-кодом нужно обновлять.

Подходы к обновлению устаревшего кода

При обновлении legacy-кода важно минимизировать влияние на бизнес, поскольку система уже работает и у неё есть активные пользователи. Это означает, что обновление нужно проводить постепенно — компонент за компонентом.

Если по каким-то причинам постепенное обновление невозможно, приоритетом становится поддержка текущей системы и одновременная разработка новой версии. Параллельная разработка позволит в будущем быстро и без сбоев перевести пользователей на новую версию. Важно заранее продумать перенос данных — это обеспечит плавный переход и исключит потерю информации.

После завершения разработки новой версии можно некоторое время поддерживать обе системы параллельно. Это позволяет части пользователей протестировать новую версию и дать обратную связь. На основе этой обратной связи можно доработать новую версию и постепенно перевести всех пользователей на более современную.

Подводим итоги

Каждый продукт имеет свой срок годности. Если система долгое время не обновлялась и накопила большое количество устаревшего кода, её обновление необходимо.

Обновлять систему можно постепенно — по компонентам или параллельно разрабатывать новую версию. Оба подхода позволяют сохранить продукт, внедрить современные технологии и стандарты, минимизируя риски для бизнеса.

Если у вашей системы те же проблемы с устаревшим кодом – мы предлагаем бесплатный аудит с подробным отчётом и рекомендациями по решению имеющихся проблем.

Забронируйте звонок или напишите нам

Подробно про аудит системы можно почитать здесь

  • Вопросы клиентов