Разрыв между поколениями парализует внедрение корпоративных технологий, но новые инженерные подходы могут предложить способы решения этой проблемы, пишут на портале InformationWeek Рэйчел Лейкок, технический директор Thoughtworks, и Эдвард Хиатт, операционный директор Mechanical Orchard.
COBOL по-прежнему используется почти во всех банкоматах, 90% крупнейших страховых компаний и 92% крупнейших розничных продавцов в США. В результате многие заголовки новостей указывают на старение рабочей силы как на основную проблему стабильности корпоративных технологий.
Но реальная угроза заключается не только в уходе программистов на пенсию; это также глубокий разрыв в руководстве и конкурирующие стимулы, которые создают паралич технологической функции.
Опытные технологи, которые десятилетиями управляли системами на базе мэйнфреймов и занимали руководящие должности в своих организациях, видят принципиально иную картину, чем их более молодые коллеги. Эти системы надежно работали 30, 40, даже 50 лет, пережив обвалы рынка, изменения в законодательстве и бесчисленные бизнес-трансформации. С их точки зрения, модернизация представляет собой ненужный риск для систем, которые, как доказано, работают.
Это не просто консервативное мышление. Это рациональное принятие решений, основанное на опыте. Традиционные проекты модернизации заканчиваются неудачей в более чем 70% случаев, а печально известные многомиллиардные списания попадают в заголовки новостей. Для руководителей высшего звена, приближающихся к пенсии, принятие на себя проекта трансформации, который может определить их наследие, оказывается неприемлемым риском. Риск заключается не только в их карьере; это также вполне реальная возможность сбоев в бизнесе и ущерба репутации из-за неудачных попыток модернизации.
Между тем, у приходящих в бизнес начинающих специалистов в области технологий есть выбор: присоединиться к компаниям, изначально ориентированным на цифровые технологии, где они будут работать с передовыми технологиями, постоянно внедрять новые функции и возможности и создавать продукты, охватывающие миллионы пользователей, или они могут присоединиться к традиционным организациям, где они будут тратить месяцы на изучение устаревших языков программирования только для того, чтобы внести незначительные изменения в старые системы. Стать хранителями давно существующих систем не слишком привлекательно для разработчиков, приходящих в эту область с целью создания и внедрения инноваций.
Это создает порочный круг: организации не могут модернизироваться, потому что им не хватает специалистов, готовых взять на себя карьерный риск, исторически связанный с масштабными проектами модернизации, и они не могут привлечь таланты, потому что не модернизировались.
Это противостояние влечет за собой значительные финансовые последствия. Недавние инциденты подчеркивают срочность ситуации. Например, крупные финансовые учреждения Великобритании столкнулись с более чем 800 часами сбоев в ИТ-инфраструктуре в период с января 2023 г. по февраль 2025 г., многие из которых были вызваны устаревшими системами на базе мэйнфреймов. Авиакомпании столкнулись с аналогичными сбоями, затронувшими глобальные потоки людей и товаров.
Однако появляются новые подходы к модернизации, основанные на генеративном искусственном интеллекте, которые коренным образом меняют соотношение риска и выгоды. Эти методы сочетают проверенные методы разработки ПО, такие как непрерывная интеграция, непрерывная доставка и разработка через тестирование, с современными инструментами, которые делают поэтапное переписывание более безопасным и эффективным, чем традиционные подходы «большого скачка».
Поведение системы важнее трансляции кода
Вместо прямой трансляции существующего кода эти методологии фокусируются на поведении системы, фиксируя входные и выходные данные работающих систем для создания спецификаций поведения, которые служат всесторонними тестами для обеспечения поведенческого соответствия между старыми и новыми системами.
Современные подходы фиксируют фактическое поведение существующих систем во время выполнения, создавая всеобъемлющие наборы тестов на основе реальных потоков данных в производственной среде. Они извлекают институциональные знания и фактическое поведение системы из самого кода. Такое воспроизведение поведения означает, что нам больше не нужно полагаться на предположения. Мы можем видеть конкретные доказательства того, что каждый входной параметр производит ожидаемый выходной параметр.
Хотя концептуально это было возможно и раньше, это было недостижимо в необходимом масштабе и могло занять десятилетия. Теперь, благодаря быстрому развитию ИИ, мы можем сократить этот срок до масштаба, вполне подходящего для амбициозного ИТ-руководителя.
Поэтапность важнее «большого скачка»
Второй ключевой механизм снижения рисков модернизации — это поэтапная работа и демонстрация работоспособности каждого этапа в производственной среде параллельно с унаследованной системой.
Для опытных технологических специалистов верификация решает их главную проблему и устраняет причину провала многих проектов «большого скачка». Исторически сложилось так, что организации пытались перейти от старых систем непосредственно к полностью переосмысленному «будущему состоянию» в рамках одного масштабного проекта. Это эквивалентно демонтажу старых труб и одновременной перепланировке всего дома. Мы убедились на примере астрономически высокого уровня неудач этого подхода, что он просто нежизнеспособен.
Сегодня организации могут модернизировать отдельные компоненты, в то время как вся система продолжает работать. Если модернизированный компонент выходит из строя, исходный можно восстановить без нарушения работы бизнес-систем.
Фокусируясь на поведении системы и работая поэтапно, можно получить чистые, хорошо протестированные и поддерживаемые системы, которые организации могут развивать с течением времени. Такой подход разрешает проблему разрыва поколений, которая парализует решения о модернизации, демонстрируя успех на ранних этапах, часто и конкретно.
Благодаря ему все члены команды могут видеть, как системы тщательно проверяются на соответствие реальным потокам данных, буквально запуская новый код параллельно со старым кодом, чтобы продемонстрировать поведенческое сходство. Поэтапность означает, что не придется ставить свою карьеру на карту из-за одного высокорискованного развертывания. Каждый небольшой шаг укрепляет уверенность и доказывает эффективность методологии.
Для начинающих технологических специалистов это создает совершенно иное ценностное предложение: готовую к будущему основу для постоянного внедрения передовых проектов в производство, при одновременном выстраивании карьеры в компаниях с глубоким присутствием на рынке и узнаваемостью бренда — подобно высокоскоростным инновациям нативного цифрового бизнеса.































