Настоящая модернизация приложений требует «модернизации» мышления, и это может оказаться самой сложной задачей, пишет на портале IT Pro Today Джесси Сэмм, руководитель практики компании 2nd Watch.
Модернизация унаследованных приложений — от бэк-офисных бизнес-приложений до приложений мейнфреймов и многих других давно работающих систем — сегодня является приоритетом для многих организаций. Она часто рассматривается как необходимый мост от аналоговых бизнес-систем и процессов к цифровой трансформации и инновациям. Об этом свидетельствуют масштабы мирового рынка услуг по модернизации приложений, объем которого, по прогнозам исследовательской компании MarketsandMarkets, в 2025 г. достигнет 25 млрд. долл.
В 2019 г. вице-президент Gartner Стефан Ван Дер Зайден сказал: «Во многих организациях унаследованные системы рассматриваются как сдерживающие бизнес-инициативы и бизнес-процессы, которые на них опираются. Когда наступает переломный момент, руководители должны обратиться к модернизации приложений, чтобы помочь устранить препятствия». Действительно, эта мысль всегда остается актуальной. Однако в последние годы становится все более очевидным, что многим компаниям трудно реализовать проекты модернизации приложений.
Сегодня технические способы переноса и модернизации унаследованных приложений для работы в публичном облаке (например, перенос без модификации lift-and-shift в отличии от рефакторинга или реплатформинга) относительно хорошо известны. Но это не делает их простыми для предприятий, особенно когда предприятие фокусируется не только на переходе в облако, но и на обеспечении максимальной ценности для бизнеса после перехода. Более того, технический выбор — это только начало. Облачные сервисы, конечно, важны, но успех процесса модернизации приложений действительно зависит от людей. Настоящая модернизация приложений требует «модернизации» мышления, и это может оказаться самой сложной задачей. Как правило, на ее выполнение влияют следующие факторы:
- Отсутствие опыта и мышления в области облачной инфраструктуры. Общая нехватка навыков работы в облаке — особенно навыков работы с конкретными платформами ведущих провайдеров — постепенно сокращается, но все еще остается проблемой. Однако если говорить об ИТ-навыках, которые уже есть у предприятий, то это также проблема менталитета и культуры, особенно для специалистов по инфраструктуре и операциям. Если вы всю свою карьеру занимались управлением физической локальной инфраструктурой, перенос критически важных систем в публичное облако может стать значительным философским и техническим изменением — особенно учитывая огромный объем доступных услуг и инструментов. Если вы перенесли приложение в гипермасштабируемое облако, руководствуясь правилом «мы всегда так делали», оно не обязательно сработает, к тому же от него очень трудно избавиться.
- Отсутствие опыта и менталитета разработки облачных приложений. Эта проблема также затрагивает разработчиков и разработку приложений в целом. Переход к публичному облаку очень часто также представляет собой переход к новым моделям разработки и доставки приложений, таким как распределенные системы, архитектура микросервисов и CI/CD. Как и в случае с инфраструктурой, если команды привыкли к созданию и развертыванию монолитных приложений и вложили много человеко-часов в системы, которые в целом работали хорошо, эти изменения могут показаться слишком масштабными.
- Отсутствие инструментов и опыта работы с облаком. И, наконец, предприятиям часто не хватает инструментов, процессов и культуры, которые обычно облегчают модернизацию приложений и переход на облачные технологии. В то же время организации, которые уже внедрили культуру Agile или DevOps, могут обнаружить, что у них есть преимущество в плане адаптации к новым шаблонам и парадигмам, которые становятся более доступными и более необходимыми в облаке. Наглядным примером является отсутствие инструментов и опыта автоматизации (и соответствующая зависимость от ручных процессов в разработке и эксплуатации ПО).
Хотя преимущества автоматизации, конечно, не ограничиваются облачными приложениями и инфраструктурой, технологии автоматизации, безусловно, являются важной частью успешной облачной стратегии. Одно дело — определить и понять проблемы. Другое дело — что-то с ними сделать. Рассмотрим следующие три тактики для более осмысленного решения вышеперечисленных проблем.
1. Руководитель не должен забывать об эмпатии
Многие разговоры и общепринятая сосредоточенность на «повышении квалификации» и подобной терминологии, кажется, заслоняют реальность того, что вы работаете с конкретными людьми — серьезными профессионалами, которые давно и хорошо выполняют свою работу. Опытные технологи, которые десятилетиями делали что-то определенным образом, не придут в восторг, если им скажут, что теперь все придется делать по-другому. Это особенно верно, если приложения, которые вы рационализируете и/или модернизируете, являются системами, к созданию и поддержке которых они приложили руку с самого начала.
Управление изменениями требует большой дозы эмпатии, в идеале от тех руководителей, которые сами были на месте этих умудренных опытом инженеров. Будь то коллега-разработчик, системный администратор или инженер по инфраструктуре, им нужен руководитель, который понимает, как неприятно слышать, что некоторые приложения и инфраструктура, которые они создали, будут заменены на новые, более быстрые модели. Не просто устраивайте для людей тренинг или возможность пройти сертификацию. Сделайте это диалогом, предложите подлинное наставничество и руководство и предоставьте реальные возможности для приобретения новых навыков в качестве фундаментальной части стратегии модернизации приложений.
2. Привлекайте людей к новым технологиям
Руководитель не должен забывать, что он руководит людьми. Проявляя чувство эмпатии, он может вызвать у них энтузиазм. ИТ-специалисты любят интересоваться новыми вещами — заинтересуйте их новыми, так сказать, игрушками, с которыми они смогут играть в новой среде. Это одно из главных преимуществ внедрения облачных технологий — они делают некоторые из новейших и лучших инструментов гораздо более доступными. Чтобы вызвать энтузиазм у инженеров, позвольте им поэкспериментировать в тестовой среде или «песочнице». Руководитель также может проявить и собственный интерес: развитие новых навыков в результате миграции в облако повышает ценность человека на рынке труда, будь то разработчик, операционный директор или практически любая другая ИТ-роль, поскольку эти навыки почти повсеместно востребованы.
3. Решайте проблемы людей
Покажите людям, как ваш подход к модернизации приложений и облаку в целом поможет решить проблемы, с которыми они сегодня сталкиваются. Для разработчика это может быть возможность быстрее и чаще отправлять свой код. Для операционного отдела это может означать сокращение числа дежурств или, в целом, уменьшение количества простоев. Свяжите модернизацию с решением проблем, которые усложняют жизнь команды.
Наконец, не добавляйте новые проблемы, которых можно избежать. Один из самых больших источников дополнительной головной боли возникает из-за отсутствия соответствующего бюджета и организационных обязательств. В этом сценарии руководство говорит: «В облако!» и подчеркивает необходимость модернизации ИТ-портфеля, но по сути просит команду сделать это без надлежащих ресурсов. Это рецепт получения плохих результатов и постоянного культурного сопротивления. Когда организации инвестируют должным образом и решают описанные здесь культурные проблемы, их потенциал становится практически безграничным.