VSM: создание ценности на каждом этапе
Дарья Орешкина, 18/01/21
Раньше кто громче кричал, тот и продвигал свои запросы в роадмап, а потом появился VSM.
Автор: Дарья Орешкина, директор по развитию бизнеса компании Web Control
2020 год выдался нелегким для бизнеса. Клиенты компаний – разработчиков ПО в условиях сокращения бюджетов требуют снижения стоимости поставки программных продуктов. Разработчикам как никогда необходимо оптимизировать процессы, развивать сотрудников, одновременно повышая качество и скорость реакции на запросы клиентов, при этом увеличивая прибыль. Системы управления потоком создания ценности конечного продукта (Value Stream Management, VSM) для разработки программного обеспечения помогают принимать взвешенные, соответствующие бизнес-целям решения, а также управлять качеством и вовремя осуществлять выпуски.
В течение последних нескольких лет, и особенно ярко в 2020 г., мы наблюдаем переход от индустриальной экономики, основанной на производстве, к цифровой экономике – экономике знаний на базе ИТ. В новых реалиях главная роль отводится производству цифровых продуктов. Разработке ПО как самостоятельной отрасли приходится непрерывно изыскивать способы оптимизации процессов поставки ПО, чтобы удержаться на высококонкурентном рынке. В поисках таких способов она обращается к методологическим наработкам промышленности – зрелой отрасли, для которой выработаны системные подходы к оптимизации производства, например такие, как конвейер Форда, менеджмент качества Деминга, бережливое производство и концепция just in time. Однако эти системные подходы не могут быть использованы в разработке в чистом виде, что связано с существенными отличительными особенностями этой отрасли.
- Во-первых, разработка имеет дело не с физическими объектами, а с цифровыми. С одной стороны, это значит, что для поставки ПО не нужны крупные инвестиции в оборудование, кроме того, цифровой продукт легко повторить и модифицировать. Но, с другой стороны, виртуальный конвейер производства цифрового продукта довольно трудно отслеживать: процесс разработки ПО является "черным ящиком" для инженеров, ИБ-специалистов и, главным образом, для бизнеса. Создание цифрового продукта нельзя увидеть глазами на конвейере, он нематериален. На физическом же производстве движение, допустим, автомобиля по сборочной линии прозрачно и наглядно для любого сотрудника, имеющего доступ в сборочный цех.
- Во-вторых, процесс создания цифрового продукта носит дуальный характер. Цикл разработки ПО включает в себя как создание уникальной концепции каждого продукта, так и программную реализацию с наращиванием ценности на каждом этапе. Сборка, создание среды, развертывание и тестирование – это повторяющиеся и хорошо автоматизируемые процессы, что является основой ключевых свойств цифровых продуктов. Их легко модифицировать, что открывает огромные возможности для создания каждый раз новых и уникальных продуктов в соответствии с меняющимися условиям рынка и требованиями потребителей. И в этом проявляется второе отличие: на физическом конвейере создается один и тот же продукт, а на цифровом каждый раз создается новая ценность.
Простое и быстрое изменение требований к функционалу разрабатываемого продукта стало возможным благодаря практикам Agile, ориентированным на результат, а не на процессы, которые стали логическим развитием методик бережливого производства и Канбана. Непрерывная доставка с автоматизированными сборками и развертываниями стала возможной благодаря методологии DevOps, которая позволяет повысить скорость создания программных продуктов в тысячи раз. Затем ожидаемо возник вопрос о повышении эффективности процесса создания ценности (то есть разработки программного обеспечения), чтобы на высококонкурентном рынке можно было снизить стоимость разработки, предоставляя при этом функционал, наиболее полно отвечающий требованиям заказчика. Так начал формироваться и относительно недавно увидел свет новый класс решений – Value Stream Management, управление потоком создания ценности.
Под потоком создания ценности понимается совокупность всех действий, которые требуется совершить, чтобы определенный товар или услуга прошли стадии от разработки концепции до готового продукта. Решения этого класса объединяют Agile-планирование и DevOps в единый поток и делают его видимым, "материальным". VSM-инструменты отслеживают прогресс, статус и изменение состояния эпиков, пользовательских историй, задач разработки, артефактов, перемещающихся в потоке создания ценности, а также визуализируют процессы, генерируют отчеты, предоставляют практические рекомендации на основе аналитики и алгоритмов AI и ML. Все это позволяет связывать разные события в процессе и получать своевременную обратную связь для управления процессами планирования и разработки.
Давайте рассмотрим, что дает VSM для DevOps на примере функциональных групп возможностей решения Digital.ai Agility, уже проявившего себя как эффективного помощника в создании успешных программных продуктов.
Планирование продукта
Наверное, все помнят картинку-мем про разработку качелей, которая показывает, насколько порой расходится желаемый продукт с тем, который в итоге поставляется заказчику. Для выпуска желаемого продукта необходимо отслеживать соответствие идеи и исполнения на каждом шаге. В свою очередь, для отслеживания исполнения необходимо иметь полную информацию о прогрессе, связях с другими проектами и командном взаимодействии, что в отсутствие специализированного инструмента делать весьма затруднительно и дорого.
VSM позволяет создать сквозное рабочее пространство для разработчиков, предоставляя Канбан-доски и визуализацию рабочего процесса, сводные показатели, метрики и бюджеты проектов. VSM располагает расширенными возможностями по отслеживанию соответствия стратегических идей, запросов от клиентов и соотнесения их с фактическим исполнением.
Программный менеджмент
Слаженная работа разных команд складывается не только из благоприятного корпоративного климата. Без инструментов совместной работы невозможно полностью раскрыть потенциал самого дорогого ресурса разработки – людей. Обычно каждая команда использует свой какой-то инструмент, а про совместную работу в масштабах всей разработки говорить не приходится.
VSM предоставляет единый инструмент для всех команд и делает доставку более предсказуемой путем координирования разрозненных проектов, команд и их взаимозависимостей в едином представлении. Такая возможность VSM реализуется посредством организации общего окружения планирования работ, сроков релизов, роадмапа, визуализации метрик выпуска, обнаружения конфликтов во взаимозависимостях и накладок в планах действий. Часто различные команды используют общие ресурсы компании, что создает очереди. VSM позволяет обнаруживать и устранять причины очередей и ожиданий.
Agile-управление проектами и командами
Методология Аgile сформулирована очень просто, но реализовать ее на практике нелегко. Для этого должна быть четкая координация всех изменений и детальное понимание текущей ситуации в любой момент у всех ответственных лиц. Как правило, без специальных инструментов эта информация фрагментирована в голове у разных людей и пропущена через призму субъективного восприятия.
С помощью инструмента VSM команды разработки могут оперативно планировать и вносить скоординированные изменения в план работ, менять приоритеты задач и при этом в любой момент времени иметь актуальный срез состояния проектов для принятия обоснованных управленческих решений. Достигается это таким набором инструментов совместной работы, как комнаты обсуждений, доски планирования спринтов и итераций, карты показателей эффективности команд, хранилища описаний работ и наработанных практик.
Agile-метрики и аналитика
Как оценить эффективность разработки без точных показателей и всесторонней аналитики? Часто такая оценка сводится к субъективному мнению.
VSM помогает принимать решения, обеспечивая визуализацию различных слоев производства и сводных показателей по проектам и командам, предоставляя отчеты и аналитику по стадиям производства программного обеспечения (см. рис.).
Управление потоком создания ценности продукта охватывает все производственные процессы, обеспечивая в итоге более эффективное проектирование, производство, поставку и поддержку программных разработок с наименьшими возможными затратами. VSM позволяет на систематической основе выявлять и устранять нерезультативные действия на всем протяжении жизненного цикла продукта.
Своевременный релиз дает внутренним и внешним заказчикам то, что они хотят, с минимально возможными издержками, оставляя всех нерасторопных и неэффективных конкурентов позади. Каждое лишнее действие, экономически не обоснованные решения – это потерянное время, ненужные затраты и, как результат, увеличение себестоимости конечного продукта и критичная проблема в условиях жесткой ценовой конкуренции. По сути, внедрение и использование VSM – это ключ к конкурентоспособности на быстро меняющемся рынке.
VSM – это не только Agile, но и оркестрация релизов, автоматизация развертывания, защита приложений изнутри, аналитика на основе искусственного интеллекта и многое другое, о чем я расскажу в следующих статьях.
Управление потоком создания ценности продукта – это не просто стратегия сокращения затрат, а основа развития.