Контакты
Подписка 2021
МЕНЮ
Контакты
Подписка

Автоматизация сквозного контроля процесса разработки ПО

Дарья Орешкина, 30/10/20

Управление и контроль DevSecOps – сложнейшие задачи, где правильное понимание ситуации и знание всех необходимых деталей дает возможность принимать прозорливые управленческие решения и вовремя реагировать на изменения. Общение “на одном языке” всех вовлеченных в производство программного продукта, а также специализированный инструментарий для автоматизации контроля являются необходимыми элементами сквозного контроля разработки ПО.

Автор: Дарья Орешкина, директор по развитию бизнеса компании Web Control

Предприятия решают сложные задачи различного характера, поэтому имеют в штате разнопрофильных специалистов с различным видением ситуации, как следствие говорящих на "разных" языках.

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

В основе недопонимания лежат разные формулировки целей, приоритеты, KPI и другие факторы. Для того чтобы оценка ситуации и принимаемые решения были прозрачны на каждом шаге выпуска ПО и понятны всем членам команды, в компаниях используются системы оркестрации инструментами и процессами DevOps, а также системы управления созданием ценности продукта.

Странный факт: если люди не понимают, что вы им говорите, то тупыми считают не себя, а вас.

Вавилонская башня XXI века

Для разработки ПО характерна ситуация: между бизнесом, мыслящим категориями прибыли, стратегических задач, EBIDA и ROI, и DevOps-специалистами, оперирующими коммитами, билдами и MTTR, возникает коммуникационная пропасть, нередко приводящая к неверным результатам и снижению общей производительности. Например, разработчик, делая заявку на приобретение, допустим, WhiteSource, говорит о необходимости автоматизации проверки уязвимостей и лицензионной чистоты в компонентах с открытым кодом, оперируя метриками производительности разработки и безопасности кода. Бизнес же интересует, каким образом затраты на WhiteSource скажутся на достижении стратегических задач и как инвестиции в новую систему повлияют на прибыль компании. Это один из примеров, когда бизнес не вполне понимает DevOps. С другой стороны, DevOps нередко бывает демотивирован требованием бизнеса радикально модифицировать почти готовый код, в который разработчики душу вкладывали.

Недопонимание, а впоследствии плохие результаты обусловлены неполной информацией у каждой из сторон.

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

Бизнес-цели глазами DevOps

Можно выделить две базовые возможные стратегические цели компании: стабильное эффективное исполнение задач и получение устойчивой выручки и/или прибыли. Стабильное эффективное исполнение обеспечивается путем точной постановки и исполнения задачи, гибкого управления процессами и командами, результат должен достигаться вовремя с наилучшей производительностью и эффективностью затрат. Получение устойчивой выручки заключается в обеспечении актуальности и надежности продукта, получении регулярной оплаты от клиентов за подписку на услуги или покупку продукта, управлении рисками различного характера – от прямых угроз потери бизнеса до судебных исков за нарушение авторских прав и штрафов от регуляторов.

Эти понятия уже могут быть связаны с метриками DevOps.

От задач DevOps к исполнению бизнес-целей

Оперативные задачи DevOps на первый взгляд довольно далеки от тех понятий, которыми оперирует бизнес. Например, не всегда очевидно, как "безопасная разработка" или "повышение прозрачности всех этапов разработки" помогает исполнять задачу "получение стабильной выручки". Но все встает на свои места, если от оперативных задач DevOps через общие понятия подняться к стратегическим целям компании.

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

Компания может выпускать приложения для расширения своего онлайн-присутствия на рынке или для автоматизации каких-то внутренних задач, или для чего-то еще. В любом случае общим связующим звеном будут задачи в контексте бизнеса:

  • точность постановки задач и точность их исполнения;
  • управляемость процессами и командами;
  • своевременность результата и его достижение с наибольшей эффективностью;
  • эффективность затрат и получение выручки и/или прибыли (когда есть эта цель);
  • актуальность и надежность продукта (продукт должен помогать заказчику достичь его целей);
  • управление рисками. В части разработки ПО актуальны риски лицензионного комплайнса и требований регуляторов, атаки на отказ в обслуживании и потери управления (как в случае шифрации данных с требованием выкупа расшифровки).

Давайте разберем несколько часто встречающихся примеров.

Повышение безопасности разрабатываемого ПО

Эта задача DevOps связана с бизнес-задачей управления рисками. Реализация таких рисков в зависимости от специфики продукта и целей компании препятствует получению стабильной выручки и эффективному выполнению задач компании, то есть повышаются издержки, снижается эффективность, блокируется деятельность.

Ускорение развертывания, увеличение количества релизов

Так DevOps фактически решает задачу сокращения времени вывода продукта на рынок или внутреннему заказчику для скорейшего получения обратной связи.

Повышение качества разработки и снижение количества неудачных развертываний

Это необходимо для формирования фундамента для стабильного получения выручки и расширения клиентской базы.

Если продукт выпускается для внутренних целей, то, как правило, преследуется цель повышения производительности компании.

Расширение поддержки различных сред

Это означает расширение рынка сбыта или области применимости.

Стандартизация для обеспечения непрерывности и повторяемости Необходима для построения автоматизированного конвейера, где в поле единого понимания задач гибко выстраиваются процессы. Все вместе дает управляемость, подвижность и развитие, повышение производительности и снижение затрат.

Оркестрация как инструмент прозрачности на каждом этапе создания ПО

В DevOps используется множество инструментов: репозитории исходного кода, серверы сборки, системы управления конфигурациями, виртуальная инфраструктура, системы автоматизации тестирования. При таком большом разнообразии, казалось бы, заинтересованные лица должны получать всю необходимую информацию для сквозного контроля процесса поставки релиза. Однако повсеместно внедренные методологии не позволяют достичь полной прозрачности ситуации. Методика канбан, например, основана на ручном перемещении карточек и не всегда отражает реальное положение дел, а инструменты CI/CD не фиксируют время ожидания или время, потраченное на переработку кода. Это не дает возможность обнаружить "узкие места" проекта. Инструменты оркестрации интегрируются со всеми инструментами разработки и через единую консоль информируют о стадии разработки, обнаруженных проблемах, ответственных лицах за каждый этап производства, собирают заданные метрики проектов.

Управление потоком создания ценности продукта

Управление потоком создания ценности – это методика, которая помогает создавать ценность программного продукта, при этом максимально эффективно распределяя усилия и ресурсы.

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

Такие решения, как правило, не только предоставляют метрики, которые информируют менеджмент о скорости разработки и задачах, выполняемых в данный момент, но и предлагают возможности более глубокого анализа. Подобные решения предлагают Digital.ai, Atlassian, Blueprint, CloudBees, ConnectALL, GitLab, IBM, Plutora, ServiceNow, TargetProcess и Tasktop. Лидерами рынка, по мнению аналитического агентства Forrester, являются Digital.ai, ServiceNow, Tasktop и Plutora.

Общий язык, оркестрация процессов и инструментов разработки – это база для сквозного контроля разработки ПО и достижения целей компании, а управление потоком создания ценности продукта на каждом шаге поможет максимально эффективно создать актуальный продукт.

Темы:Журнал "Информационная безопасность" №4, 2020DevSecOps

Хотите сотрудничать?

Выберите вариант!

Печатное издание
Интернет-портал
Стать автором

More...