Привет! Я Катя, руководитель проектов в AGIMA. В 2020 году меня подключили к работе с небольшой командой, которая разрабатывала мобильное приложение для крупного онлайн-магазина одежды. Проект сразу показался мне сложным и интересным одновременно.
С одной стороны, заказчик сразу сказал, что планирует создать гибридную команду — такую, в которой на равных трудятся наши ребята и сотрудники заказчика. Задачей было настроить процессы, в том числе для той части команды, для которых я была подрядчиком.
С другой стороны, на проекте был неконтролируемый поток задач, не было приоритетов. Задачи валились откуда угодно, оценивалось не всё и не всегда, не было плана релиза и т.д. Поэтому накопились технический долг и дефекты, а бизнес-задачи не выпускались в продакшен по несколько месяцев.
В этой статье разберу эти проблемы и расскажу, как мы исправляли ситуацию.
Почему было сложно
Но мне повезло. Заказчик знал о проблемах и был готов их решать. Для помощи команде и выстраивания единого процесса работы был привлечен методолог. Нашей общей с ним задачей было внедрить Канбан и перестроить процессы таким образом, чтобы всей команде было комфортно. Но внедрять все практики приходилось в уже существующем коллективе, который привык работать без системы.
Изначально доска выглядела так
И в первую очередь мы выявили три большие взаимосвязанные проблемы. Вместе с методологом и командой мы начали их решать.
Проблема № 1: задачи долго выпускались в прод
Это было неправильно. У нас копился технический долг, в бэклоге была неразбериха. Разработчики пытались делать всё и сразу. При такой системе прогнозировать результат и сроки сложно или почти невозможно.
Как решили
Каждая задача теперь должна была пройти все этапы, чтобы мы могли контролировать нагрузку, находить узкие места и своевременно перераспределять функции. Например, если мы понимали, что узкое место — тестирование, то кто-то из разработчиков подключался к нему.
Еще более важной целью было убедить в этом бизнес-заказчика. Много сил и времени ушло, чтобы объяснить, почему нельзя переполнять спринт новыми функциями. Убеждали на срезах, совещаниях, созвонах. По их итогам готовили митинг-репорты — ключевой элемент коммуникации. После каждого совещания все участники получали письмо с подробным описанием принятых решений. Если в дальнейшем возникали вопросы или конфликты, нам было на что сослаться. Задачи на планировании мы выбирали вместе с бизнес-заказчиком. При планировании спринта внедрили систему эпиков. Вывели ее на отдельную Канбан-доску с приоритезацией по положению в колонке. Это помогало нам не тормозить важные бизнес-процессы, при этом следить и за качеством продукта, и за процессом. Перед этим мы определили, что в каждый спринт берем не более 20% задач, связанных с техническим долгом и дефектами. Остальное — бизнес-задачи.
Еще сделали таблицу наполненности спринтов и закрепили ее в общем пространстве Confluence. В ней мы помечали, когда задача поступила и когда будет реализована (то есть планируемая дата релиза).
Мы отказались от идеи, что исполнитель должен дорабатывать свои задачи. Например, разработчик занят на 40-часовой задаче, а на доработку попала его предыдущая. Очевидно, что в этом спринте разработчик приступить к задаче на доработку не успеет. Поэтому мы передаем ее другому исполнителю по методу вытягивания — кто освободился, тот и берет первую по приоритетности задачу в списке. Это уменьшило время на разработку в масштабах спринта и увеличило вовлеченность команды в проект. Каждый исполнитель знал о каждой задаче.
Инструменты: Канбан-доски в Jira, система эпиков, митинг-репорты, встречи по планированию, WIP-лимиты, таблица наполненности спринтов в Confluence, взаимозаменяемость специалистов, процентное соотношение задач в спринте, теги версионности.
Что в итоге
Проблема № 2: команда выгорала
Как решили
Ретроспективу проводили в Miro. Каждый раз ее вел новый член команды. Мы хотели, чтобы люди имели больше влияния на процесс и глубже погружались в проект и в команду. Эту практику мы быстро распространили и на дейли. Когда каждый человек знает задачи другого, он ответственнее относится к своим — это мотивирует. Основная идея: каждый участвует в процессе, погружается в задачи и видит проект целиком.
Распределение ответственности внутри команды стало одним из принципов нашей работы. Мысль о том, что все в равной степени отвечают за итоговый продукт, сделало процесс более цельным. Заодно это помогло сократить количество узких мест. Объясню на примере: теперь каждый член команд мог в меру возможностей и умений взять на себя обязанности другого. Взаимозаменяемость сделала процесс более продуктивным. А заодно каждый человек увидел свои зоны роста.
Я сделала обязательной обратную связь от коллег. Раз в 2–3 недели проводила опросы, чтобы понять, как люди себя чувствуют в коллективе. Это были созвоны, анкеты в Google-формах. Иногда общалась с нашими руководителями и тимлидами, с руководителями от заказчика. Цель была одна — понимать потребности команды и создавать комфортную атмосферу.
Инструменты: ретроспективы в Miro, опросы в Google-формах, встречи One-on-one, взаимозаменяемость в команде, дейли и ретро с разными ведущими.
Что в итоге
Проблема № 3: на команду всё время давили
Как решили
Результаты client service interview
Чтобы этого избежать, мы начали проводить с руководителями заказчика встречи по пополнению бэклога. Изначально проводили их раз в спринт, но этого оказалось мало. Поэтому сейчас они проходят в начале каждой недели. На этих встречах мы используем покер планирования — методику оценки задач. Теперь проще достигать договоренностей по объему работы, которую мы берем в спринт.
Дейли тоже проходят с участием бизнес-заказчиков. Нам было важно донести и до команды, и до топ-менеджеров, что дейли — это срез для понимания статуса задач и их сроков, а не для выяснения отношений. Все проблемы, которые хочется обсудить, мы либо выносим на отдельную встречу, либо обсуждаем в конце дейли со всеми заинтересованными.
Инструменты: правило «трех ног», встречи по пополнению бэклога с участием бизнес-заказчика, покер планирования, дейли.
Что в итоге
К чему пришли
Были люди, которые не хотели вести ретроспективы и Daily-митинги. Иногда члены команды забывали про культуру ведения доски. Но в итоге нам с командой удалось изменить ситуацию и выстроить такую систему, при которой каждый несет ответственность за продукт. Это сказалось на метриках и отношениях между командой и топ-менеджментом. За счет снижения техдолга и количества дефектов достигли высоких показателей Crash-Free пользователей — 99,8–99,9% на iOS и Android.
Android