Введение
Назначение этой статьи – дать базовое понимание специалистам, далеким от разработки, о том, как опасны устаревшие компьютерные системы и код и чем они могут навредить бизнесу.
Возможно, вы уже слышали слово “легаси” (legacy) от сотрудников технических отделов и, как правило, в негативном ключе. Данным термином обозначают методы, технологии и компьютерные системы или прикладные программы, которые по каким-либо причинам признаны устаревшими. Однако всегда ли такое наследство несет негативный эффект для бизнеса, обязательно ли от него избавляться и как понять, что оно действительно вам мешает?
Как правило, с проблемами легаси чаще сталкиваются программисты, аналитики, тестировщики и специалисты поддержки, о чем свидетельствует разнообразный опыт нашей собственной команды. Для конечных пользователей эти проблемы, как правило, остаются под капотом, а для CEO скрываются за цифрами отчетности, не выделяясь какой-то явной логикой.
По сути, вся ситуация напоминает перманентный тюнинг внешнего вида и салона автомобиля, движок которого дышит уже с трудом, но пассажиры об этом не догадываются. Рано или поздно это чудо автопрома непременно заглохнет где-то на полпути между точкой А и точкой Б, но до этого момента будет производить вполне приятное впечатление, особенно если пассажирский салон более чем комфортен, и подвеска, или будем говорить прямо – первая линия поддержки, позволяет практически незаметно переносить случайные выбоины на пути.
Впрочем, и здесь не стоит сразу бросаться менять старый и проверенный трактор на новомодный смарт. Все зависит от целей и текущего состояния вопроса.
Как понять, что легаси вам мешает?
Вот список тревожных симптомов и проблем, которые вы можете заметить, даже не будучи специалистом:
Отсутствие четкой и ясной документации на поддерживаемые бизнес-процессы
Возможно, сейчас документация кажется вам неважной, ведь каждый из ваших сотрудников -- настоящий профи, и может среди ночи рассказать весь бизнес-процесс от А и до Я, а информационная система, в которой они работают, изучена ими вдоль и поперек. Однако реальный опыт, как правило, показывает, что это далеко не так, более того, очень часто даже терминология, которой пользуются сотрудники разных отделов, существенно отличается. Самый базовый пример: попытка выстроить бизнес-процесс утверждения договоров на поставку. Юристы воспринимают термин “договор” совершенно иначе чем бухгалтерия, и оба отдела акцентируются на совершенно разных этапах утверждения договора.
Сейчас компании более охотно признают ценность прозрачных и хорошо организованных бизнес-процессов, и найти статью о плюсах такого подхода не составит труда. Как пример: Benefits of BPM | 11 Massive Advantages of Business Process Management. Впрочем, данная статья примечательна еще и исследованиями на которых основана, в частности на исследовании от 2020 года о том, что вспышка COVID заставила предприятия больше вкладываться в автоматизацию своих бизнес-процессов и изменила их оценку важности замены устаревших процессов.
Ригидность к улучшениям
По какой-то причине вы не можете легко и быстро интегрироваться с ведущими сервисами, своевременно масштабировать или гибко модифицировать ПО и поэтому вечно опаздываете вскочить на подножку уходящего поезда рыночных возможностей.
Поверьте, это не череда трагических случайностей, а тревожный симптом.
Особенно четко этот симптом наблюдается в государственных учреждениях, где ригидность обусловлена форматом работы, и любые изменения требуют долгосрочного согласования. Например, чрезмерные затраты правительства США на ИТ инфраструктуру в 2019 году (более 70 миллиардов долларов) послужили причиной внутреннего расследования, которое показало, что основной проблемой является именно устаревшее ПО.
Однако и коммерческие компании, чей формат работы предусматривает гибкость и открытость новым технологиям, также страдают от легаси. Авиакомпании, банки, страховые и ретейлеры рано или поздно сталкиваются с тем что они неспособны преодолеть ригидность устаревшего ПО. Как результат, их работа становится нестабильной, они не могут выводить на рынок новые продукты и услуги и даже стабильно поддерживать существующие. К примеру компания Delta Air Lines в августе 2016 году столкнулась с непредвиденным сбоем казалось бы надежных систем бронирования, регистрации на рейс и посадки, что вызвало простой в течение нескольких часов и отмену более 2000 рейсов. Этот и другие кейсы приведены в статье “Legacy systems are problems for boardrooms not computer geeks,” Financial Times, Jan. 31, 2017.
Уныние в ИТ команде и потеря лояльности пользователей
Казалось бы, как легаси может воздействовать на атмосферу в команде?
Секрет тут прост, любая модификация легаси-систем сродни заплатке на атомную бомбу: скорее всего не рванет, но трогать лишний раз не хочется. Специалисты по устаревшим языкам и технологиям обходятся дорого, достаточно вспомнить проблему 2000 года, а новички стремятся поставить на старое окружение заплатку из чего-то современного, и все это со временем превращается в монструозный зоопарк технологий, куда не каждый специалист решится сунуться. В результате пользователи начинают всё чаще жаловаться на проблемы, а развитие продукта затормаживается.
Кроме того, повышается вероятность увольнения сотрудников, которые будут демотивированы и не захотят раскапывать проблемы в старом монструозном коде, на который нет документации, либо она передавалась как устное народное творчество.
Конечно, незаменимых сотрудников нет, но стоит помнить, что поиск и адаптация нового сотрудника имеют свою цену, и чем сложнее и запутаннее проект, в котором надо научиться разбираться, тем дольше новый сотрудник будет входить в курс дела (и получать деньги за то, что разбирается в старом коде!). Тем временем, важные для бизнеса задачи придётся решать всей остальной команде.
А теперь представьте, что резкие изменения рынка (а последнее время они всегда резкие) требуют от вас мгновенного реагирования. Можно не представлять, а прочитать в какие условия поставлены компании сейчас: Коронавирус (COVID-19): влияние на бизнес.
Типичные пути решения
Итак, мы выяснили, что наличие легаси -- это не только проблема ИТ-отдела, но и возможная угроза для стабильности и роста компании. Рассмотрим типичные способы борьбы с такой ситуацией:
игнорировать – данный путь может дорого обойтись, если вы уже видите перечисленные выше проблемы, но иногда является оптимальным. В конечном итоге, если траектория бизнеса неизменна, лучше положиться на старого и надежного боевого товарища, вместе с которым пройдены вода, огонь и медные трубы;
полностью заместить новым ПО – иногда этот путь оказывается единственно возможным, поскольку легаси, как болезнь, может очень быстро “заразить” и все смежное окружение;
постепенно/покомпонентно замещать – это, как правило, путь революции снизу, когда ИТ отдел планомерно проводит рефакторинг домашней системы, однако он требует практически безграничного упорства и последовательности;
реинжиниринг бизнес-процессов и следом за ними ПО – данный путь является, пожалуй, самым радикальным, практичным и эффективным, однако он трудоемок и требует осознанной поддержки руководства.
Заключение
Как видим, легаси может навредить бизнесу, а не только нервам программистов, работать с легаси можно по-разному, и для разных случаев разные способы хороши.
В следующей части статьи мы более подробно рассмотрим, когда и какой путь стоит выбирать, а также расскажем, как выбор технических средств может помочь работать с легаси.
Вам может быть интересно: