Time to market, Cycle time или как измерить эффективность продуктовой команды

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Павел Кондратьев

Руководитель проектов в ГК Юзтех

Всем привет, на связи снова Павел Кондратьев из ГК Юзтех. Я продолжаю работать в продуктовой команде по разработке b2b-приложений, и на горизонте прошедшего полугода мы с Заказчиком пришли к вопросам — как измерить производительность нашей команды и выявить слабые места в процессах, чтобы сделать разработку более эффективной?

Предлагаю познакомиться с нашим опытом по внедрению метрик измерения продуктивности команды.

1. Суть проблемы или отличия между продуктовой и заказной разработкой

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

В случае с Проектом, сделал проект — проект закрыт. Да, возможна сервисная поддержка, создание нового функционала, и тд. Но вне зависимости от типа оплаты, Fix Price или Time Material, которые применяются исходя из проектных условий, это так и остается в рамках сервисной поддержки либо других проектов в рамках реализованного функционала. И, что самое главное, основное решение о том, что же все-таки будет в продукте — видение только Заказчика.

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

Любая новая функциональность в Продукте не просто должна решать какую-то задачу, она должна нести в себе Ценность, которая будет генерировать финансовые улучшения, и должна благоприятно влиять на финансовую модель тем или иным способом. 

Таким образом, у Продукта нет конечной цели.

Что еще важно, продуктовая команда сама чаще всего является источником планируемых изменений. Да, это должно быть построено на гипотезах, иметь финансовое обоснование и вот это всё. У планируемых изменений могут быть внешние для продуктовой команды бизнес-заказчики, тем не менее это игра вдолгую и с бесконечными, пока это оправдано финансовой моделью, изменениями. Для этого в продуктовой команде даже есть отдельная роль и человек, который отвечает за то, чтобы формировать гипотезы, которые лягут в основу будущей разработки — это Product Owner. Человек, находящийся на стыке бизнеса, рынка и разработки.

Если в Проекте успешность конечной цели решается укладыванием в классический проектный треугольник, в основе которого лежат Объем, Ресурсы и Время, то в Продукте многое будет зависеть от успешности улучшения характеристик Финансовой модели. Это не значит, что проектный треугольник не важен, но считать его становится невыносимо трудоемким процессом, а это автоматически приводит к замедлению темпов доставки новых функций, что явно не будет влиять благотворно на путь Продукта и его финансовую модель. Классический Waterfall с существующим обязательным этапом сбора и формализации всех требований на начальном этапе, отъест слишком много драгоценного времени. Требования в итоге, с большой долей вероятности, поменяются, поэтому Waterfall сюда подходит плохо. Только итерации, проверки гипотез до старта разработки и после выпуска Feature, и новые пачки гипотез с целью понять, на правильном ли пути Продукт, позволяют разрабатывать продукт достаточно гибко, отвечая на возникающие вызовы и развороты в целях разработки.

Возникает вопрос, обозначенный в анонсе: а что же тогда делать? Как считать время и ресурсы? Как измерить эффективность команды и понять, что нужно исправлять? 

2. Time to Market

Это метрика, которая пришла в IT из бизнеса. Впервые конференция по Time2Market была проведена Бартом Холлом в октябре 1995 года.

Time to Market — это ключевой показатель, используемый для оценки эффективности и скорости выхода нового продукта, услуги или функциональности на рынок. Она измеряет временной интервал с момента фиксации идеи до момента запуска продукта на рынке или доступа к нему для конечных пользователей.

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

3. Lead Time

Это часть Time2Market, который исключает из цикла Discovery исследования и проверку гипотез. Исключительно трудозатраты команды — Discovery + Delivery:

4. Cycle Time

Эта метрика является частью и Lead Time и, соответственно, Time to Market, и показывает только временные затраты на Delivery-фазу от старта разработки до выпуска в релиз:

5. Так как отслеживать и интерпретировать метрики?

Любая разработка будет требовать отчетности, а это значит, что продуктовая команда неизбежно будет использовать какой-либо трекер задач. Чтобы синхронизироваться внутри команды, у задач будет набор статусов, иначе невозможно понять, на каком этапе сейчас идут работы. Будет это просто изменение статусов или движение карточек по Канбан-доске? Для расчета метрики не имеет значения, какую методологию вы используете — SCRUM или Kanban — важно только одно. Скорость движения по статусам. 

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

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

Во-первых — укладываемся ли мы в свою оценку.

Во-вторых — есть ли узкие места в нашей команде.

Сумма времени, заложенная в оценке, в идеале должна совпадать с тем временем, которое команда потратила на разработку и выпуск задачи. Однако мы можем увидеть, что задача зависает в промежуточных колодцах.

На примере ниже мы видим, если задачи слишком долго висят в нескольких статусах. И если повлиять на сроки нахождения задач в процессе работы невозможно, то вот с промежуточными статусами типа “Готово к разработке”, “On Hold” или “QA Done” вполне можно и нужно что-то делать. 

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

Обсудите это с командой и вы удивитесь, сколько нового можете узнать.

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

Профит

Источник: https://habr.com/ru/companies/usetech/articles/753964/


Интересные статьи

Интересные статьи

Всем привет! Представим, что вам нужен доступ к данным каких-либо смарт-контрактов на Ethereum (или Polygon, BSC и т.д.), например, Uniswap, SushiSwap, AAVE (или даже PEPE-coin) в реальном времени, чт...
Моя предыдущая статья о том, как корпоративные ERP-системы делают сотрудников неэффективными, оказалась неоднозначной и мнения читателей разделились - это ожидаемо.В этой публикации я затрону одну их ...
Сервисные компании, специализирующиеся на предоставлении услуг, постоянно ищут способы повышения своей эффективности. В данной статье я постарался собрать наиболее важные...
В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. На Хабре про это не написали ни слова, хотя эт...
Типичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, раз...