Url
https://nsign.ru/blog/legacy-managing-risks-strategies-errors
Name
Как управлять legacy-системами в крупной компании: риски, стратегии, ошибки
Blog

В крупных компаниях разговор о legacy почти всегда начинается одинаково.

Есть задача. Формально небольшая. Пара правок в логике, отчет или доработка интерфейса. На старте все выглядит предсказуемо. Потом проходят недели. Всплывают неявные зависимости, старые баги, ручные процессы. Сроки сдвигаются. Бизнес начинает нервничать. IT снова объясняет, почему все оказалось сложнее.

Этот сценарий повторяется слишком стабильно, чтобы считать его исключением. И что важнее — он воспроизводится даже там, где сегодня кажется, что система под контролем.

Это не сбой процесса. Это состояние системы.

 

Что на самом деле называют legacy

Legacy часто путают с возрастом или стеком. Система старая. Технологии не модные. Код писали десять лет назад. На практике это вторично.

Система становится legacy не тогда, когда ей много лет, а тогда, когда она перестает быть управляемой как целое.

Обычно у такой системы есть несколько признаков. Она критична для бизнеса. Она развивалась годами без единого архитектурного замысла. Ее никто не понимает полностью. Любое изменение вызывает напряжение. Ключевые знания хранятся в головах конкретных людей.

Формально такая система может работать годами. Заказы проходят. Отчеты считаются. Клиенты обслуживаются. Именно поэтому момент, когда управляемость уходит, часто замечают слишком поздно.

Проблема не в том, что система сломана.

Проблема в том, что управлять ею как предсказуемой системой уже нельзя.

 

Почему изменения перестают быть локальными

В управляемой системе небольшая правка затрагивает ограниченный участок. В legacy это почти никогда не так.

Часть зависимостей не описана. Они появились со временем, через временные решения и обходные пути. Тестов либо нет, либо они не отражают реальное поведение системы. Границы между модулями размыты. Ручные операции встроены в поток работы. Люди боятся что-то трогать и перестраховываются.

В итоге каждая доработка превращается не в задачу разработки, а в работу с неопределенностью. Команда не ускоряется, а замедляется. Любое изменение проверяют несколько раз. Любой релиз сопровождается тревогой.

Снаружи это выглядит как неэффективность.

Изнутри — как попытка не уронить бизнес.

Именно в этой точке обычно и начинаются управленческие ошибки.

 

Типовые ошибки управления legacy

Ошибки в работе с legacy редко связаны с некомпетентностью. Чаще они возникают из-за давления и ожиданий, которые система уже не способна выдержать.

 

Первая ошибка — усиление команды без изменения подхода

Добавляют людей, подключают новых разработчиков, ожидая, что скорость вырастет. На практике скорость часто падает. Риски остаются. Координация усложняется. Управленчески это означает одно: зона неопределенности расширяется, а не сжимается.

 

Вторая ошибка — смена подрядчика в надежде на свежий взгляд

Новый подрядчик действительно быстрее на старте. Потом он упирается в те же ограничения. Через несколько месяцев разговор снова возвращается к срокам, рискам и осторожным изменениям.

 

Третья ошибка — попытка переписать систему целиком

Решение кажется логичным, пока не начинается реализация. Сроки растут. Бюджеты растут. Старая система все это время продолжает жить и требовать внимания. Часто проект так и остается в подвешенном состоянии, но ответственность за него никуда не исчезает.

 

Четвертая ошибка — игнорирование поддержки ради новых фич

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

 

Какие стратегии реально существуют

У legacy нет правильной стратегии. Есть допустимые.

Иногда компания осознанно принимает ограничения. Система остается как есть. Изменения делаются редко и осторожно. Это работает, если бизнес понимает цену такой скорости и готов с ней жить.

Иногда фокус смещается на стабилизацию. Убираются самые опасные узкие места. Появляются базовые тесты. Документируются ключевые зависимости. Система не становится удобной или быстрой, но возвращает часть управляемости.

Иногда выносят наиболее проблемные части в отдельные сервисы. Это снижает давление на ядро и позволяет развивать бизнес-функции без постоянного риска зацепить все сразу.

Иногда начинают готовиться к замене. Не с переписывания, а с анализа. Что действительно критично. Что можно вынести. Что придется оставить до последнего.

Важно понимать одну вещь. Эти стратегии выбирают не тогда, когда система окончательно сломалась. Их выбирают заранее, пока еще есть пространство для маневра. Когда система еще «работает».

 

Legacy как зона ответственности CIO

В какой-то момент работа с legacy перестает быть задачей разработки. Это становится управленческой задачей.

Здесь не работает логика ускорения delivery. Попытки просто увеличить скорость почти всегда заканчиваются ростом рисков. Главная цель смещается. Важно не сделать быстрее, а сохранить контроль.

Роль CIO в этой точке часто сводят к координации. На практике он принимает решения, последствия которых будут тянуться годами. Некоторые из них необратимы. Некоторые фиксируют архитектурные и организационные ограничения надолго вперед.

Legacy — это зона, где ответственность не делегируется полностью ни команде, ни подрядчику. Ее все равно приходится нести.

«Когда мы начинаем работать с legacy-системой, важно понимать, что это не просто устранение ошибок, а управление рисками, которые накапливаются годами. Важно вовремя вмешаться, прежде чем система начнёт ломаться под нагрузкой. Каждый пропущенный этап в модернизации увеличивает вероятность катастрофы. Чем раньше начнём, тем меньше рисков для бизнеса в будущем», — Алексей Постригайло, старший партнер, ИТ-интегратор ЭНСАЙН

 

Что стоит зафиксировать до следующей доработки

Перед тем как снова браться за очередную задачу, имеет смысл остановиться.

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

Эти вопросы не ускорят работу.

Зато они уменьшают число неожиданных проблем.

 

Вместо вывода

Legacy не исчезает само. Его нельзя решить одной инициативой. С ним невозможно работать как с обычным проектом.

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

В крупных компаниях это не самый простой путь.

Зато самый честный.

 

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