Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

Кейс «Магнита»

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде
Артём Пруденко
Agile coach «Магнита»

Привет! На связи Артём Пруденко — agile coach «Магнита». В этой статье я расскажу, как команда, работающая над ad-hoc аналитикой, за год вырастила свои процессы и начала создавать и развивать собственные Data Science продукты.

Работать мы начали около года назад. Ребята (2 Data Scientists, 3 Data Analysts и Data Engineer) с мая 2021 года создают инструменты на основе Machine Learning для департамента коммерции и ассортимента.

С чего мы стартовали

Главная проблема — отсутствует связь с бизнесом, а команду воспринимают как конвейер. Цель изменения процессов — выстроить партнёрские отношения с заказчиками.

Для начала я решил провести S.T.A.T.I.K.

S.T.A.T.I.К. — The Systems Thinking Approach To Introducing Kanban. Итеративное исследование для поиска подходящего дизайна системы. statik не задуман как однократный последовательный процесс, скорее он предназначен для работы как цикл обратной связи, который даст необходимую информацию для проектирования или изменения дизайна системы.

Для работы выбрал S.T.A.T.I.К. А3 — канвас А. Жеглова.

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

Почему именно А3:

  • У формата понятная визуализация, что помогает видеть на одном канвасе всю информацию о команде
  • Канвас полезен для общения с людьми, которые не привыкли к стикерам и хотят структурированной информации в минимальном дизайне (руководство команды и заказчики)
  • Есть почти все этапы классического S.T.A.T.I.K

Встречи я проводил в формате сессии «Вопрос-ответ», где старался познакомиться с коллегами и обсудить их видение проблемы. Так я пообщался с заказчиками, пользователями и каждым участником команды. Далее делюсь, какие данные получилось собрать.

Источники неудовлетворённости

Как я уже написал, основная проблема — отсутствие контакта с заказчиком: вся обратная связь сводилась к комментариям «всё медленно/всё не то». Это очень демотивировало команду.

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

Также не представлялось возможным оценить сроки реализации — команда не понимала свою скорость работы. Это вызывало расхождение во взглядах заказчика и команды на результат: заказчик считал, что всё двигается медленно, а команда не могла оценить текущую скорость, и, соответственно, понять отличие «медленно» от «быстро».

Но было и хорошее:

  • Ребята уже внедрили и использовали Jira для таск-трекинга
  • Был тимлид, которую выполнял роль «единого окна» для запросов заказчиков
  • Доработки обсуждались на комитетах с заказчиками
  • Проводились ежедневные встречи по синхронизации (Daily) команды

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

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

Благодаря этому нам стало понятно:

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

Объясню терминологию для новичков.

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

Чтобы каденции принесли пользу, нужно:

  • Определить существующие митинги и ревью
  • Выбрать частоту и продолжительность митингов в зависимости от вашего контекста
  • Удалить лишние встречи, ценности которым не видите
  • Уделить внимание целям встреч
Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

После проведения S.T.A.T.I.K стало понятно, какие изменения нужны команде.

Как мы менялись

Шаг 1: Появление РО (Product Owner)

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

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

РО привнес в команду:

  • Понимание, как заказчики планируют использовать инструменты
  • Спокойствие заказчиков, т. к. РО был представителем бизнеса
  • Понятный бэклог со сроками и ожиданиями заказчиков — появился календарь релизов под конкретные запросы пользователей
  • В карточках Jira появилось поле «Бизнес-ценность»
  • Задачи приоритизировались по ценности
  • Планирование работы (пополнение системы)

Большие изменения коснулись Jira. Мы начали собирать метрики, появился Lead Time — дельта времени между статусом «Готово» и «Обещано».

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

Также появились:

  • Явные циклы планирования (по средам)
  • Циклы ревью с заказчиками (утро среды)
  • Ретроспектива для обсуждения проблем и отслеживания метрик (1 раз в месяц)

В конце декабря, собравшись для подведения итогов года, все члены команды отметили, что появилась понятная стратегия на 2022 год.

Шаг 2: Улучшение доски команды

В мае команда была озадачена несколькими проблемами:

  • В бэклоге скопились заблокированные задачи с непонятным способом решения
  • Команда и PO не договорились о критериях готовности
  • Накопилось много идей, но все они хранятся не в Jira, а в Confluence

Мы провели ретро и решили внести следующие изменения в процесс:

  • Сделать статус «Заблокировано» и считать «время блокировки»
  • Проводить встречу по проработке и декомпозиции задач
  • Выстроить процесс, который бы сделал работу с идеями прозрачнее

Статус «Заблокировано» помогал мониторить период, в который мы не можем решать задачу. Часто задачи блокировались нашими пользователями, которые не хотели давать обратную связь о функциональности. Теперь мы смогли измерять время такого ожидания и начали договариваться с пользователями о взаимодействии. Решить проблему удалось двумя путями: определили тех, кто согласен сразу реагировать на наши доработки, а с оставшимися выбрали день пользовательского ревью (1 раз в месяц), на котором могли обсуждать все накопившиеся вопросы.

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

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

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

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

После второго этапа изменений наш календарь немного преобразился, но новые события не стали лишними и несли понятную ценность. Мы также посчитали, что встречи занимают 9,8% от всего рабочего времени в месяц.

Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

Год работы: итоги

Благодаря всему вышеперечисленному у нас получилось:

  • Выстроить процесс работы с заказчиками в формате единой команды продукта
  • Втянуть пользователей в процесс работы — они стали предлагать доработки продукта
  • Выстроить у всех единое видение и понимание куда развивать наш продукт
  • Сократить Lead Time c 21 дня до 12
  • Сделать процесс работы понятным для команды и улучшать его на основе данных
Как agile coach помогает полностью оптимизировать процессы в одной отдельно взятой команде

Внедрять изменения можно по-разному. Для себя я установил следующие условия для успеха:

  • Контролируемость изменений
  • Направленность изменений на работу с неудовлетворенностью
  • Использование инструментов, понятных всем участникам команды
  • Понятная для всей команды разбивка процесса изменений на этапы

До конца 2022 года мы планируем попробовать выровнять поток через систему сигналов на нашей доске. Такими сигналами станут work in progress limits (минимальный на доске с идеями и максимальный на доске команды) и критерии перехода по статусам на доске команды. В следующем году планируем применить метод Монте-Карло для более точного моделирования нашего процесса и прогнозирования сроков задач. Получилось или нет, поделюсь с вами в следующих статьях.

2121
9 комментариев

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

И честно говоря, в той же пятерочке (я не топлю за них, похер где товар брать) сразу же пересчитают по цене с прилавка и глазом не поведут. Я не говорю уже о копейках в 10-20 рублей. Могут на 500р наебать в вашей сети. И это частое явление в Магнитах.

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

7

Круто! Есть опыт подобной прокачки процессов. Но работаю ПМом. Интересно было читать. Уменьшение Лид тайма в два раза - мощь!

Здорово. Сейчас мне очень интересна тема оптимизации работы команды, поэтому читать такое - в самое сердешко. :)
Почерпнула несколько идей, а именно очень заинтересовал показатель Lead Time и что его можно как-то в Jira показывать. Поищу на эту тему, спасибо!
п.с. я не кто-то из пм или ажайл, я всего лишь дизайнер, поэтому не ругайтесь, что я не знаю про этот показатель.

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

Хороший кейс, спасибо