TL;DR: Здесь о том, как одна команда управленцев от разработки захотела жить по-другому, сформулировала образ будущего, прониклась устремлением, приспособилась выкраивать время и проводить изменения даже когда накрывает авралами.

Привет всем!

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

На протяжении ~5 лет наша команда пилит системный софт. В первое время это было очень похоже на заказную разработку под единственного клиента, а о результативности судили лишь по тому, оказывался ли этот клиент удовлетворён (или не оказывался).

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

В первый год из этих двух мы довольно круто приросли по фичам, хоть и вывезли с языками на плечах. В том числе благодаря этому росту нас стали заметно чаще звать в конкурсы (работаем в крупном B2B со сделками длиною в несколько кварталов). И было ясно, что дальше будет только интереснее.

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

Разумеется, эффект первого года был не потому, что якобы раньше люди кодили медленно, а потом вдруг начали быстро. За это время мы выстроили гигиенически необходимые продуктовые подходы, командную работу, запустили и оттюнили базовые воркфлоу.

Вроде бы всё как минимум неплохо, но большинство этих изменений проводилось, во-первых, полудирективно, а во-вторых, только когда удавалось выдохнуть от рутины. А хотелось с одной стороны системности и поступательности, с другой - полной вовлечённости на уровне как минимум лидов, с третьей - независимости от перманентного пуша со стороны варяга-манагера (то бишь меня).

Пусть не с первого раза, но у нас родился подход, который...

  • не загнулся за ~полгода боевого применения,

  • даёт результаты, очень похожие на то, ради чего всё затевалось,

  • удовлетворяет озвученным чуть выше критериям: системность, поступательность, вовлечённость и децентрализация.

Для начала разложим его на этапы (в которых ничего экстраординарного), а ниже подробнее остановлюсь на каждом из них:

  • собрать группу особо неравнодушных,

  • сформулировать себе цели,

  • декомпозировать цели так, чтобы они стали достижимы,

  • собственно, достигать, не взирая на обстоятельства.

Могучая кучка

Команда у нас не слишком большая, в районе 40 человек, к тому же состоящая частично из аутстаферов (но постоянных и очень вовлечённых). И мы хорошо представляли, у кого чего болит и что друг от друга ожидать.

Так почти сама собой подобралась группа пятерых, готовых выныривать из операционки и воплощать светлое будущее: CPO, QA-лид, один из дев-лидов, проджект-менеджер и я.
За 5 месяцев один участник выбыл, другой прибыл.

Ставим цели

Выделили шесть главных направлений (позднее стало семь) и коротко, одной фразой, сформулировали сверхцели по каждому из направлений.

Следующим шагом нужно было конкретизировать эти сверхцели на горизонте +9 месяцев (столько оставалось до конца финансового года компании). Поэтому по каждой сверхцели мы сформулировали три варианта образа будущего.
И здесь важно подробнее остановиться на двух вещах:

  1. "Образ будущего" - это definition of done. Как наша жизнь будет выглядеть для условного стороннего наблюдателя. И какими характеристиками (качественными и количественными) обладать. А вовсе не то, какие действия нужно выполнить, какие задачи решить и т.д. Действия и задачи будут тоже, но позже.

  2. Почему версии - три.

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

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

Все три уровня сверцели про саппорт, для примера
Все три уровня сверцели про саппорт, для примера

Далее мы согласились, что уровень здорового человека - это то, что при реалистичном взгляде нас более чем устроит. На том и сосредоточились.

Декомпозируем цели

Видение на 9 месяцев вперёд - это здорово и, казалось бы, надо теперь засучить рукава и превратить его в реальность.

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

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

В результате получились довольно подробные цели на ближайшие 3 месяца, приблизительные - ещё на 3 и на 6. И, в качестве путеводной звезды, карточка с уровнем бога. На этом стратегия закончилась, переходим к тактике.

Фигачим

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

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

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

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

Поэтому спринты развития (назвали их MNG) сделали недельными.

Каждый четверг - стандартный ритуал на 1,5-2,5 часа:

  • ревьюим прошедший MNG-спринт,

  • проводим ретро,

  • отбираем из карточек текущего месяца цели на новый спринт,

  • обсуждаем необходимые и достаточные решения,

  • заводим таски,

  • запускаем новый спринт.

Инструментарий довольно ординарный: проект в Jira, а эпики - это цели уровня квартала. Да, таски пока никак не оцениваем, как-то сами собой пришли к консенсусу, что ради развития можно и поовертаймить при необходимости. Пока это работает.

Доска с целями на середину ноября. Два первых квартала разложены по месяцам, а последний - ещё нет.
Доска с целями на середину ноября. Два первых квартала разложены по месяцам, а последний - ещё нет.

Формальных ролей в нашей MNG-команде нет, но для каждой сверхцели найдётся хотя бы один из нас, кто фактически выступает product owner'ом, а фасилитация на мне. Таски делают абсолютно все. Либо своими руками, либо привлекая кого-то внутри могучей кучки или за её пределами (но ответственность за таск всё равно на том, кто взял его себе в спринт).

Каждое (почти) утро - стандартный дейли стендап синк на 3-5 минут. И с этим связан ещё один момент, о котором хочется рассказать.

Поначалу было сложно фокусироваться на задачах MNG, рутина захлёстывала. И периодически случалось, что про таски MNG-спринта на дейли стендапе рассказать и нечего. И тогда мы решили... а почему бы не докидывать в MNG-спринт и рутинные задачи? Пару спринтов так пожили, но на одной из ретроспектив договорились всё-таки так больше не делать: реальный прогресс по MNG-целям терялся за видимостью бурной деятельности и бесконечными влётами.

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

Что сейчас

Напомню, до финала текущего забега осталось ещё 4 месяца, едва-едва перевалили через экватор.

Определённо можно сказать, что подход себя оправдывает. Не смотря на то, что время от времени нас всех смывает в очередной аврал, прогресс в части суперцелей виден невооружённым взглядом, а кое-где даже опережает ожидания: сильно подтянули планирование продуктов, релиз-менеджмент, уверенно движемся к победе над хаосом в пресейле и саппорте.
Но есть цели, на которые, по большому счёту, забили, не получив поддержки от материнской компании там, где только своими силами точно не справимся (например, в упорядочивании регуляторики и рекрутинге).

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

Ещё один профит - сегодня у нас общее на пятерых видение того, куда бежим, зачем бежим и как бежим. Каждый транслирует видение тем, с кем общается. И недавний уход одного из участников не привёл к параличу по тем целям, которыми он занимался. Быстро нашлись те, кто смог подхватить практически бесшовно. Хотя, конечно, забот прибавилось всем.

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

Что дальше

Абсолютно однозначно, мы продолжим играть в эту игру.

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

В будущем хочется научиться понятно и нетрудозатратно сохранять логику декомпозиции каждой крупной цели, иначе за несколько месяцев детали теряются, приходится тратить время на их воссоздание. Также, всё-таки нужно приладить количественные оценки и замеры скорости. Но пока не придумалось, как сделать это правильно, учитывая многозадачность участников. И, в качестве "бантика", нужно развить контроль "привычек", ибо сейчас это просто карточки вперемежку с целями, которые оказываются на глазах на каждом спринт ревью. А кажется, что у них должен быть какой-то другой воркфлоу.

В статье я сознательно избегал прямых отсылок к известным фреймворкам. Разумеется, каждый из нас что-то где-то читал, слышал, видел и набивал собственные шишки. Но в целом, это чистой воды самоделка из заимствований, смазанных местным контекстом и собственным опытом. Текущая зрелость подхода такова, что всё эмпирически прилаживалось "по месту" без каких-либо теоретических изысканий. Далеко от совершенства и всего лишь полезно.

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

Комментарии (6)


  1. GoZone
    04.12.2021 14:54
    +1

    Управленцев уже команда... А есть статья от разработчиков под вашим управлением?


    1. 217th Автор
      06.12.2021 12:34

      Если честно, то статьи есть (по архитектуре и кейсам внедрения).
      Но написаны они были 1) много раньше, чем начались описанные здесь события, 2) с корп. аккаунта компании, от которой мы уже отделились.
      Поэтому в контексте этой статьи не очень правильно будет на них ссылаться.
      Свежего пока ничего не написали, к сожалению.

      Ну и отдельно напомню, что пятеро, о которых речь в статье, это не дармоеды, которые ни фига не делают, только о высоком рассуждают :-) Чистых управленцев там полтора человека, остальные довольно-таки глубоко в жизни команд.


  1. ArtemAndreev100
    04.12.2021 14:54

    Достаточно ли у вашей команды неравнодушных было полномочий на достижение сформированных целей?


    1. 217th Автор
      06.12.2021 12:34

      1. Какие-то цели под нашим контролем полностью.

      2. Какие-то в "серой зоне", но проявив некоторую инициативность, их можно перевести в первую группу.

      3. Какие-то либо вне нашего контроля в принципе, либо можно их взять под контроль, но цена вопроса (величина той самой инициативности) такова, что дешевле забить.

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


  1. Oncho
    04.12.2021 14:54

    А как вы договорились с заказчиком/PO о этой MNG деятельности:

    • какой процент вашего capacity он занимает?

    • как много овертайма получается?

    • это временный эксперимент или уже нет?

    • кто оценивает успешность MNG?

      И как остальная команда относится к MNG?


    1. 217th Автор
      06.12.2021 12:36
      +1

      1. Договорились просто: CPO с нами внутри "могучей кучки", активно участвовал в формировании целей, разделяет их, а также участвует в их достижении (ибо некоторая часть непосредственно в вотчине CPO и подчинённых ему PO, которые в командах).

      2. Трудно сказать точно. Например, у меня это процентов 30-40, но на то я и манагер. У остальных точно меньше. У тех, кто в разработке очень глубоко, не больше 10%. Спросим на следующей ретре :)

      3. Овертаймы управленцев мы, опять же, специально не считаем (в отличие от команд, там мы за овертаймами следим и возвращаем отгулами). По себе могу сказать, что в последнее время их не особо много, но были периоды, когда за неделю могло часов по 8-10 накапливаться.

      4. Точно не временный. Но это не значит, что нас в какой-то момент не накроет озарение и мы не придумаем, как его улучшить/углубить/переиграть.

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

      6. По-разному оносится. Понятно, что результат нашей деятельности выливается в какие-то изменения в процессах, подходах и т.д. Кто-то к таким изменениям открыт, для кого-то они - суета и морока. Мы довольно много внимания уделяем тому, чтобы эти изменения не просто сверху спускать, а объяснять, для чего они и какому благу служат (пусть даже иногда и ценой каких-то потерь или дискомфорта на старте). Чаще получается, чем нет. Ну и здесь, кстати, тоже очень большую роль играет, что МНГ - это командная работа. На каждую проблему мы смотрим с разных сторон пятью парами глаз. Откровенная дичь, которая навредит или точно не зайдёт командам, просто отсеивается.