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