← Все статьиНаписать

Time to market: почему заказчики выбирают по скорости

Клиенты всё чаще выбирают подрядчика по одному критерию — скорости. Time to market стал решающим фактором: чем раньше продукт у пользователей, тем быстрее проверка гипотезы, обратная связь и рост выручки. Разбираю, что входит в этот срок, как его измерить и почему новые разработчики его не сокращают.

Пост, на основе которого написана статья: Закон Брукса: больше людей в команде, медленнее работа

Что значит TTM

TTM — время от решения что-то сделать до момента, когда этим пользуется клиент. Для нового продукта это путь от идеи до первого релиза. Для отдельной функции — от появления задачи в бэклоге до выкладки в прод.

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

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

TTM, lead time и cycle time

Три метрики часто путают. Разница в том, какой отрезок процесса они меряют.

МетрикаОткудаДокуда
TTMидея или решение о запускепродукт у пользователей
Lead timeзадача появилась в бэклогезадача в проде
Cycle timeразработчик взял задачу в работузадача готова

Почему заказчики выбирают по скорости

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

У задержки есть цена. Дональд Рейнертсен в книге «The Principles of Product Development Flow» 2009 года называет её стоимостью задержки — cost of delay. Это деньги, которые бизнес недополучает за каждую неделю, пока функция не в проде.

Как прикинуть стоимость задержки

Простая оценка: ожидаемый эффект функции в месяц, делённый на четыре, — столько стоит неделя опоздания. Если новая форма заказа должна приносить 400 тысяч рублей в месяц, каждая неделя сдвига обходится примерно в 100 тысяч.

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

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

Как измерить скорость команды

Для разработки есть устоявшийся набор метрик DORA. Его описали Николь Форсгрен, Джез Хамбл и Джин Ким в книге «Accelerate» 2018 года.

  • частота деплоев — как часто код уходит в прод;
  • lead time for changes — сколько проходит от коммита до прода;
  • доля неудачных изменений — сколько релизов приходится откатывать;
  • время восстановления — за сколько команда чинит сбой.

Какие значения считаются хорошими

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

Сравнивать себя с лидерами напрямую я бы не стал: у банка и у стартапа разные требования к надёжности. Полезнее смотреть на собственную динамику. Если lead time за квартал вырос с недели до трёх, это сигнал разбираться, даже если до отчёта DORA далеко.

Что считать началом и концом

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

Как сократить TTM без найма

Первое желание — добавить людей. Оно почти всегда ошибочно. Фредерик Брукс сформулировал это ещё в 1975 году в «Мифическом человеко-месяце»: добавление людей в опаздывающий проект только задерживает его.

Причина в коммуникациях. В команде из 5 человек 10 каналов связи, в команде из 10 — уже 45. Каждый должен рассказать каждому про изменения, и на это уходит время, которое раньше шло на работу.

Что работает вместо найма

  • резать объём: первая версия решает одну задачу, а не десять — это идея MVP из «Бережливого стартапа» Эрика Риса;
  • выпускать маленькими порциями: релиз раз в день проще, чем раз в квартал;
  • автоматизировать сборку и тесты через CI/CD;
  • прятать незаконченное за флагами функциональности, а не держать в отдельной ветке;
  • брать готовое: SaaS, библиотеки и коробочные модули вместо разработки с нуля;
  • назначить одного человека, который принимает решения, а не собирать комитет.

Какая команда быстрее

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

Что может сделать заказчик

Срок запуска зависит и от заказчика, а не от одного подрядчика. Многие задержки возникают на стороне бизнеса: команда ждёт решения, доступов, текстов или приёмки.

Неделя ожидания ответа на вопрос разработчика — это неделя, на которую сдвигается релиз. Команда в это время переключается на другое, а потом тратит ещё день, чтобы вернуться в контекст.

  • назначить одного человека, который отвечает на вопросы команды в течение дня;
  • заранее выдать доступы к API, тестовым данным и учётным системам;
  • договориться о сроке приёмки: например, два рабочих дня на каждый релиз;
  • смотреть демо каждые одну-две недели, а не раз в квартал;
  • фиксировать, что не входит в первую версию, письменно.

Короткие итерации вместо большого запуска

Большой запуск через полгода копит риски. Если демо раз в две недели, то ошибка в понимании задачи стоит максимум двух недель работы. Если демо раз в полгода, то и ошибка может стоить полгода.

Короткие итерации ещё и дают бизнесу раннюю пользу. Первая функция может приносить деньги, пока команда делает вторую. Так срок окупаемости проекта начинает считаться не с финального релиза, а с первого.

Типичные ошибки

  • считать срок только от старта разработки и не видеть очередь согласований;
  • докидывать разработчиков в горящий проект;
  • откладывать релиз до «идеальной» версии;
  • переключать ведущих людей между проектами — каждое переключение стоит дней;
  • мерить скорость часами, а не сроком до пользователя.

Вопросы и ответы

Что значит TTM простыми словами?

Срок от решения что-то сделать до момента, когда продуктом или функцией пользуется клиент.

Чем TTM отличается от lead time?

Lead time обычно считают от появления задачи в бэклоге до прода. TTM шире: он включает время на идею, согласования и запуск у пользователей.

Почему новые разработчики не ускоряют проект?

Растут коммуникационные издержки: в команде из 10 человек 45 каналов связи против 10 у пятерых. Новичку ещё нужно время, чтобы войти в проект.

Как быстро сократить срок запуска?

Урезать объём первой версии, выпускать маленькими порциями и убрать очередь согласований. Это даёт больше, чем найм.