WebControl 9/18/20 1:24 PM Page 40
ТЕХНОЛОГИИ
Автоматизация сквозного контроля процесса разработки ПО Дарья Орешкина, директор по развитию бизнеса компании Web Control
У
правление и контроль DevSecOps – сложнейшие задачи, где правильное понимание ситуации и знание всех необходимых деталей дает возможность принимать прозорливые управленческие решения и вовремя реагировать на изменения. Общение “на одном языке” всех вовлеченных в производство программного продукта, а также специализированный инструментарий для автоматизации контроля являются необходимыми элементами сквозного контроля разработки ПО.
Предприятия решают сложные задачи различного характера, поэтому имеют в штате разнопрофильных специалистов с различным видением ситуации, как следствие говорящих на "разных" языках. Даже в бытовом общении остается место недопониманию, а при использовании специфической терминологии, такой, как в случае общения между бизнесом и DevOps, коммуникативный барьер становится чудовищным. В основе недопонимания лежат разные формулировки целей, приоритеты, KPI и другие факторы. Для того чтобы оценка ситуации и принимаемые решения были прозрачны на каждом шаге выпуска ПО и понятны всем членам команды, в компаниях используются системы оркестрации инструментами и процессами DevOps, а также системы управления созданием ценности продукта. Странный факт: если люди не понимают, что вы им говорите, то тупыми считают не себя, а вас.
Вавилонская башня XXI века Для разработки ПО характерна ситуация: между бизнесом, мыслящим категориями прибыли, стратегических задач, EBIDA и ROI, и DevOps-специалистами, оперирующими коммитами, билдами и MTTR, возникает коммуникационная пропасть, нередко приводящая к неверным результатам и снижению общей производительности. Например, разработчик, делая заявку на приобретение, допустим, WhiteSource, говорит о необходимости автоматизации проверки уязвимостей и лицензионной чистоты в компонентах с открытым кодом, оперируя метриками производительности разработки и безопасности кода. Бизнес же интересует, каким образом затраты на WhiteSource скажутся на достижении стратегических задач и как инвестиции в новую систему повлияют на прибыль компании. Это один из примеров, когда бизнес не вполне понимает DevOps. С другой стороны, DevOps нередко бывает демотивирован требованием бизнеса радикально моди-
40 •
фицировать почти готовый код, в который разработчики душу вкладывали. Недопонимание, а впоследствии плохие результаты обусловлены неполной информацией у каждой из сторон. В любой технологичной компании процессы весьма сложны, и для последующего развития нуждаются в повышении управляемости и прозрачности.
Бизнес-цели глазами DevOps Можно выделить две базовые возможные стратегические цели компании: стабильное эффективное исполнение задач и получение устойчивой выручки и/или прибыли. Стабильное эффективное исполнение обеспечивается путем точной постановки и исполнения задачи, гибкого управления процессами и командами, результат должен достигаться вовремя с наилучшей производительностью и эффективностью затрат. Получение устойчивой выручки заключается в обеспечении актуальности и надежности продукта, получении регулярной оплаты от клиентов за подписку на услуги или покупку продукта, управлении рисками различного
характера – от прямых угроз потери бизнеса до судебных исков за нарушение авторских прав и штрафов от регуляторов. Эти понятия уже могут быть связаны с метриками DevOps.
От задач DevOps к исполнению бизнес-целей Оперативные задачи DevOps на первый взгляд довольно далеки от тех понятий, которыми оперирует бизнес. Например, не всегда очевидно, как "безопасная разработка" или "повышение прозрачности всех этапов разработки" помогает исполнять задачу "получение стабильной выручки". Но все встает на свои места, если от оперативных задач DevOps через общие понятия подняться к стратегическим целям компании. DevOps решает ряд оперативных задач для достижения таких целей, как выпуск коммерческого ПО для широкого круга потребителей или для одного заказчика – внешнего или внутреннего. Компания может выпускать приложения для расширения своего онлайн-присутствия на рынке или для автоматизации