Современные коммуникационные технологии позволяют сделать такую форму организации труда наиболее эффективной. Так современные мобильные инструменты – мессенджеры, мобильные планировщики, групповые чаты – в мире стали основой совместной работы и постоянной коммуникации членов команд разработки ПО. Согласно [25] около 80% экспертов указывают, что часть рабочих коммуникаций проходит через мобильные каналы и инструменты, а значит такие коммуникации больше не привязаны к стационарным рабочим местам.

Очевидно, что начавшаяся перестройка экономики из-за влияния COVID-фактора в 2020—2021 гг уже сделала перечисленные выше тенденции еще более заметными и значимыми в IT-отрасли [26, 27].

Определение основных тенденцией в области управления качеством программного обеспечения в отечественных компаниях связано со следующим набором характеристик:

– наличие формализованной тестовой модели, охватывающей проверку соответствия функциональным и нефункциональным требованиям, процессы валидации и верификации каждого релиза;

– использование комплексной проверки качества каждого релиза (юнит-тестирования, автоматизированного тестирования, интеграционного тестирования);

– создание и использование различных пред-промышленных сред (для различных типов тестирования, опытной эксплуатации и т.п.);

– наличие автоматических инструментов сборки, доставки и интеграции релизов ПО в такие среды.

Так наиболее трудозатратной и вместе с этим эффективной практикой в обеспечении стабильно высокого качества ПО является создание автоматических тестов, которые способны проверять в релизе работоспособность основного функционала. При этом наиболее распространенным уровнем в покрытии функционала авто-тестами является уровень 35—50%, т.к. именно на данном пределе затраченные усилия наиболее эффективны в долгосрочной перспективе. Немногим более половины экспертов указали, что значительный уровень (35—50%) покрытия автоматическими тестами функционала системы соответствует опыту их команд разработки ПО [22].

С другой стороны повышение качества ПО неотрывно связано с качеством кода и обслуживанием «технического долга» программного продукта. Наиболее сложной и вместе с этим прогрессивной практикой уменьшения технического долга и улучшения качества кода является рефакторинг [22]. Современный подход к рефакторингу заключается в его выполнении на регулярной основе без привязки к датам крупных релизов. При этом работы по рефакторингу кода могут быть как составной частью задач в итерации (в RUP-образных методологиях), так и отдельными задачами (в составе спринта в «гибких» методологиях). Востребованность регулярного рефакторинга без привязки к датам крупных релизов в отечественной практике определена в следующей таблице.


Таблица 3 – Востребованность регулярного рефакторинга «по расписанию»


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

Непрерывная поставка и интеграция (CI\CD), как часть DevOps-подхода, стремится занять доминирующее положение в мире, став наиболее востребованной практикой обеспечения высокого качества сборки и поставки программных продуктов [24]. Сборочные конвейеры и интегрированные инструменты управления версионностью являются конкурентными преимуществами в производстве ПО, обеспечивая существенную экономию ресурсов и повышая все ключевые показатели продукта: качество сборки финальных билдов, доступность инструментов тестирования и верификации, время доставки новых версий до потребителей и т. п. Авторские исследования показывают стремительный рост востребованности непрерывной поставки и интеграции в практике российских компаний, разрабатывающих ПО. Согласно [24] более 75% экспертов отметили широкое распространение как DevOps подхода, так, в частности, непрерывной поставки и интеграции. При этом российские команды используют наиболее распространенные программные продукты, автоматизирующие данные процессы. Около 90% экспертов отмечают необходимость использования инструмента GIT для хранения версионности систем и около 70% экспертов отмечают рост популярности Docker для контейнеризации в процессах непрерывной поставки, обновления и интеграции. Примечательно, что оба данных инструмента обладают бесплатными версиями, что в сочетании с высоким качеством продуктов способствует росту их востребованности.