Как стать автором
Обновить
0
Typeable
Functional programming, High assurance, Consulting

Взгляд на легаси со стороны «пассажира»

Время на прочтение5 мин
Количество просмотров5.1K

Введение

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

Возможно, вы уже слышали слово “легаси” (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): влияние на бизнес

Типичные пути решения

Итак, мы выяснили, что наличие легаси -- это не только проблема ИТ-отдела, но и возможная  угроза для стабильности и роста компании. Рассмотрим типичные способы борьбы с такой ситуацией:

  1. игнорировать – данный путь может дорого обойтись, если вы уже видите перечисленные выше проблемы, но иногда является оптимальным. В конечном итоге, если траектория бизнеса неизменна, лучше положиться на старого и надежного боевого товарища, вместе с которым пройдены вода, огонь и медные трубы;

  2. полностью заместить новым ПО – иногда этот путь оказывается единственно возможным, поскольку легаси, как болезнь, может очень быстро “заразить” и все смежное окружение; 

  3. постепенно/покомпонентно замещать – это, как правило, путь революции снизу, когда ИТ отдел планомерно проводит рефакторинг домашней системы, однако он требует практически безграничного упорства и последовательности;

  4. реинжиниринг бизнес-процессов и следом за ними ПО – данный путь является, пожалуй, самым радикальным, практичным и эффективным, однако он трудоемок и требует осознанной поддержки руководства. 

Заключение

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

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

Вам может быть интересно:

  1. Когда стоит выбирать микросервисы

  2. Как мы выбираем языки программирования в Typeable

  3. В чем польза формальных спецификаций вроде OpenAPI?

  4. Haskell – хороший выбор с точки зрения безопасности ПО?

Версия на английском языке

Теги:
Хабы:
Всего голосов 6: ↑5 и ↓1+7
Комментарии21

Публикации

Информация

Сайт
typeable.io
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия

Истории