Очевидно, что начавшаяся перестройка экономики из-за влияния COVID-фактора в 20202021 гг уже сделала перечисленные выше тенденции еще более заметными и значимыми в IT-отрасли [26, 27].
Определение основных тенденцией в области управления качеством программного обеспечения в отечественных компаниях связано со следующим набором характеристик:
наличие формализованной тестовой модели, охватывающей проверку соответствия функциональным и нефункциональным требованиям, процессы валидации и верификации каждого релиза;
использование комплексной проверки качества каждого релиза (юнит-тестирования, автоматизированного тестирования, интеграционного тестирования);
создание и использование различных пред-промышленных сред (для различных типов тестирования, опытной эксплуатации и т.п.);
наличие автоматических инструментов сборки, доставки и интеграции релизов ПО в такие среды.
Так наиболее трудозатратной и вместе с этим эффективной практикой в обеспечении стабильно высокого качества ПО является создание автоматических тестов, которые способны проверять в релизе работоспособность основного функционала. При этом наиболее распространенным уровнем в покрытии функционала авто-тестами является уровень 3550%, т.к. именно на данном пределе затраченные усилия наиболее эффективны в долгосрочной перспективе. Немногим более половины экспертов указали, что значительный уровень (3550%) покрытия автоматическими тестами функционала системы соответствует опыту их команд разработки ПО [22].
С другой стороны повышение качества ПО неотрывно связано с качеством кода и обслуживанием «технического долга» программного продукта. Наиболее сложной и вместе с этим прогрессивной практикой уменьшения технического долга и улучшения качества кода является рефакторинг [22]. Современный подход к рефакторингу заключается в его выполнении на регулярной основе без привязки к датам крупных релизов. При этом работы по рефакторингу кода могут быть как составной частью задач в итерации (в RUP-образных методологиях), так и отдельными задачами (в составе спринта в «гибких» методологиях). Востребованность регулярного рефакторинга без привязки к датам крупных релизов в отечественной практике определена в следующей таблице.
Таблица 3 Востребованность регулярного рефакторинга «по расписанию»
Из таблицы 3 следует, что в производственных процессах в российских командах остается значительный потенциал для совершенствования практик управления качеством кода и техническим долгом с помощью рефакторинга кода, в том числе на регулярной основе.
Непрерывная поставка и интеграция (CI\CD), как часть DevOps-подхода, стремится занять доминирующее положение в мире, став наиболее востребованной практикой обеспечения высокого качества сборки и поставки программных продуктов [24]. Сборочные конвейеры и интегрированные инструменты управления версионностью являются конкурентными преимуществами в производстве ПО, обеспечивая существенную экономию ресурсов и повышая все ключевые показатели продукта: качество сборки финальных билдов, доступность инструментов тестирования и верификации, время доставки новых версий до потребителей и т. п. Авторские исследования показывают стремительный рост востребованности непрерывной поставки и интеграции в практике российских компаний, разрабатывающих ПО. Согласно [24] более 75% экспертов отметили широкое распространение как DevOps подхода, так, в частности, непрерывной поставки и интеграции. При этом российские команды используют наиболее распространенные программные продукты, автоматизирующие данные процессы. Около 90% экспертов отмечают необходимость использования инструмента GIT для хранения версионности систем и около 70% экспертов отмечают рост популярности Docker для контейнеризации в процессах непрерывной поставки, обновления и интеграции. Примечательно, что оба данных инструмента обладают бесплатными версиями, что в сочетании с высоким качеством продуктов способствует росту их востребованности.
Данные результаты исследований показывают самую высокую степень открытости российской отрасли информационных технологий и, в частности, сегмента разработки ПО к заимствованию инноваций как на уровне концепций и подходов, так и на уровне неформализованных стандартов и практических инструментов. Еще более значительным представляется влияние тенденций в области разработки ПО на процессы цифровизации всей экономики. В современном мире такая цифровая трансформация сопряжена с целым набором современных кластеров технологий, понимание их актуальности в практике IT-отрасли позволяет судить о том, насколько быстро эти технологии перейдут для отраслей экономики из статуса «тем научных конференций» в статус «проекты автоматизации». Своевременное включение инновационных технологий и программных продуктов в проекты автоматизации предприятий происходит на нескольких уровнях:
Данные результаты исследований показывают самую высокую степень открытости российской отрасли информационных технологий и, в частности, сегмента разработки ПО к заимствованию инноваций как на уровне концепций и подходов, так и на уровне неформализованных стандартов и практических инструментов. Еще более значительным представляется влияние тенденций в области разработки ПО на процессы цифровизации всей экономики. В современном мире такая цифровая трансформация сопряжена с целым набором современных кластеров технологий, понимание их актуальности в практике IT-отрасли позволяет судить о том, насколько быстро эти технологии перейдут для отраслей экономики из статуса «тем научных конференций» в статус «проекты автоматизации». Своевременное включение инновационных технологий и программных продуктов в проекты автоматизации предприятий происходит на нескольких уровнях:
управление инновациями на уровне предприятия, включая цифровую трансформацию;
технологические инициативы на уровне функции (производственной, сбытовой, маркетинга и т.д.);
утилитарные технологические обновления и переходы на новые версии сервисного ПО.
В упомянутом исследовании [25] была проанализирована востребованность современных кластеров технологий в отечественной практике автоматизации. К таким кластерам относятся использование интернета вещей и биометрии, использование искусственного интеллекта и машинного обучения. Отдельного внимания заслуживают мобильные технологии из-за лавинообразного роста их востребованности в различных проектах автоматизации.
«Промышленная революция 4.0» подразумевает широкое развитие искусственного интеллекта (ИИ), нейронных сетей, машинного обучения и интернета вещей (IoT). Однако, в 2021 году практические примеры реализации технологий в проектах автоматизации довольно часто носят ограниченный характер. Так только около трети российских экспертов отметили элементы интернета вещей в реальных проектах автоматизации. Между тем IoT должна стать базовой технологией в цифровой трансформации Промышленности и во многом заменяет взаимодействие «человек-машина» на интерфейсы «машина-машина», позволяя автоматическим экспертным системам выполнять контролирующие воздействия различного уровня сложности. Современные экспертные системы широко используют искусственный интеллект (ИИ), нейронные сети и соответствующее машинное обучение. Исследование [25] определило, что около 50% экспертов отметили рост реального использования данных технологий в проектах автоматизации, а не только в маркетинге и описании перспективных планов развития бизнеса. Данные технологии продолжают развиваться и все более востребованы в практике отечественных IT-проектов. Одним из практических примеров ИИ и нейросетей является система коммуникаций, построенная на интеллектуальных ботах: от Siri (Apple) и Алисы (Яндекс) до сложных экспертных систем в здравоохранении, ремонтах, комплектации технологических процессов. В России разработка ботов для общения с конечными пользователями также является доминирующим трендом: около 65% экспертов отметили рост востребованности разработки ботов для общения с конечными пользователями для определенного типа систем.
Мобильное программное обеспечение уже более восьми лет переживает лавинообразный рост популярности в промышленности. Интересными прикладными вариантами использования являются:
контроль технологических, логистических и сбытовых процессов;
техническое обслуживание: диагностика и ремонты;
испытания продукции, нуждающейся в анализе в реальном времени;
повышение мобильности сотрудников при повседневном использовании корпоративных информационных систем.
Так компания «Газпром Нефть» не только обладает собственным подразделением мобильной разработки, но и внедрила мобильные приложения в процессы обслуживание клиентов АЗС, программы лояльности и даже конкурсные закупки. Аналогичные проекты есть у Роснефти, Лукойла, Башнефти.
Новолипецкий металлургический комбинат (НЛМК) распространил область мобильной автоматизации не только на внутренние процессы для сотрудников (ведение отпусков, персональных данных, зарплатных листов), но и на обеспечение средствами индивидуальной защиты и мониторинг опасных техногенных ситуаций на производстве.
Корпорация «Норильский Никель» также активно использует мобильное программное обеспечение: от создания мобильных рабочих мест на производстве и взаимодействия с вахтовыми сотрудниками до организации электронного документооборота в значительном количестве бизнес-процессов.