Технологии

Как мы сократили время планирования спринтов с помощью AI

Привет! Меня зовут Саша, я Product Manager в Cloud.ru, расскажу, как наша команда немного трансформировала, ускорила и упростила процесс оценивания задач в рамках Scrum. Из задачи сэкономить несколько часов для команды — получилось построить целостный процесс, который удалось внедрить в несколько продуктов. Живой Scrum и наши проблемы Мы, как и многие другие продуктовые команды, активно используем Scrum и покер-планирование для оценки задач. Стандартный подход к планированию часто оборачивался для нас длинными онлайн-встречами, которые могли занимать до двух часов. И иногда все эти два часа уходили на холивар по одной-двум задачам. Кроме проблемы долгих синков, попробую пояснить, что не менее важно для состояния команды, чтобы было яснее дальше. Координация по времени — всей команде нужно остановить работу над задачами и собраться вместе онлайн, чтобы обсудить задачки. Дальнейшая оценка, которая без оглядки на прошлые проблемы может привести к срыву сроков по задачкам. Простой пример: думали, что задачка простая, а оказалось что для ее реализации нужны еще три смежные команды и ревью безопасников. Неравномерное участие членов команды — когда сеньоры задают тон обсуждения, а джуны молчат. Признавайтесь в комментариях, кто узнает в этом пункте свою команду? При этом, для нас была важна, но отсутствовала третья независимая сторона — условный «судья», чье мнение могло бы развести спор. Значимая часть обсуждений сводилась к обмену авторитетными мнениями без учета всех голосов. Конечно, бывали и случаи, когда коллегам не хватало времени вдумчиво оценить задачу, и это сказывалось на сроках реализации. Асинхронное покер-планирование В какой-то момент после ретроспективы, мы поняли: нужно что-то менять. Часть голосов не слышно, споры не всегда конструктивны, у людей разное восприятие времени и не всем легко концентрироваться на одной встрече. Мы решили перевести оценку задач в асинхронный режим, сделав для этого бота прямо в нашем корпоративном мессенджере Mattermost. Работает это просто: фасилитатор пишет команду с указанием спринта, бот публикует автоматически список задач сразу с возможностью оценки. Там можно ознакомиться с описанием, и каждый участник выбирает свою оценку когда удобно — хоть в метро, хоть за чашкой чая. Когда человеку удобно. Оценки скрыты друг от друга до момента полного завершения голосования. И сам процесс остался в рамках методологии: работает анонимность при голосовании, нет влияния более опытных товарищей по команде. Это все повысило вовлеченность и равномерность участия. Каждый голос стал по-настоящему независимым. Результат — наши онлайн-встречи по покер-планированию сократились. Само участие в них стало приятнее и свободнее. Где мы раньше легко теряли час или полтора, теперь укладываемся в 20-30 минут даже на большие спринты. Редко бывало и так, что встреч вообще не требуется: вопросы обсуждаются уже после оценки, если разброс получился значительным. Искусственный интеллект в планировании Переход на асинхронное планирование решил часть проблем команды. Но желание сэкономить еще больше времени никуда не делось — нужно снижать влияние человеческого фактора и иметь возможность оценивать даже тогда, когда часть команды критично занята. Стало ясно, использовать AI для этих задач — самый правильный путь. Несмотря на MVP статус нашей инициативы, следуя всем продуктовым стандартам, мы подошли к этому решению с точки зрения требований к системе оценки. Мы начали экспериментировать с автоматической оценкой задач с помощью искусственного интеллекта, но пошли не по хайповому пути LLM, а использовали BERT-совместимую ML-модель — она работает быстро, не требует специальных мощностей и может запускаться даже на бесплатной виртуальной машине Cloud.ru. Подробности реализации можно посмотреть в исходниках, ссылки на которые будут в конце статьи. Ключевое здесь в следующем: модель обучается на предыдущих задачах самой команды. То есть если у нас задача про интеграцию API оценивалась в «5», а задача с документацией в «2», — AI рассматривает и текстовое описание, и существующую статистику, чтобы с большой вероятностью предлагать такие же оценки на новые задачи. Такой способ позволяет привязывать модель к экспертизе конкретной команды. Например, сегодня можно оценить задачи разработки, завтра команды дизайнеров или аналитиков. Автоматическую оценку задач мы интегрировали в тот же корпоративный бот. Теперь просто по команде он проставляет story points прямо в задачи на основе текстового описания. Наше планирование спринта превратилось в интригующее ожидание автооценки всех задач за считаные минуты. Безусловно, у команды осталась возможность внести правки вручную там, где оценки расходятся со взвешенным мнением. Цифры и результаты Для одной нашей команды в спринт нам удалось сэкономить, в среднем, 3 часа синхронных созвонов планирования. Но важно помнить, что 3 синхронных часа для 8 членов команды превращаются в 24. Несложная математика позволяет смело предположить, что для 10 команд в год получится сэкономить приличное количество времени инженеров. AI в оценке не заменяет экспертное мнение полностью, не отменяет покер-планирование. Это инструмент, не шаблон и не процесс. Но инструмент, который любая команда может использовать как и когда ей удобно. Инструмент, который гарантирует оценку сложности, непредвзятое и привязанное к фактам отношение к содержанию с обязательной оценкой исторического опыта команды. В рамках проверки гипотезы об улучшении качества планирования инструмент автооценки мы внедрили AI-инструмент на четыре продукта. В результате внедрения значительно изменилось качество дискуссий в планировании задач команды: они стали короче и осмысленнее, фокус сместился с борьбы за числа. У некоторых команд пропал «страх чистого листа» перед стартом оценки. Нужно еще больше Мы продолжаем развивать инструмент: сейчас он умеет создавать задачи прямо из треда обсуждения. Часто так бываешь, заходишь в тред, а там 190 комментариев, которые нужно впитать и осознать. Вот как раз тут мы интегрировали наши решения продукта Evolution Foundation Models — можем собрать короткое саммари по треду и сразу создать задачки, если это необходимо. Конечно же, с оценкой. Может показаться, что для разработки такого AI-инструмента могут потребоваться месяцы или годы от команды разработки. Тут можно уже начать сомневаться, а точно ли выходит экономия, если столько нужно вложить в разработку — но нет. Мы с командой сделали это решение за 24 часа хакатона. Ретроспектива Для меня, как продуктового менеджера самый ценный эффект — не только увеличение скорости и экономия времени, а именно рост зрелости команды. Автоматизация позволила сосредоточиться на осмысленных решениях, вовлекла в процесс каждого без оглядки на «старших товарищей», снизила нагрузку на митинги. В итоге команда сплотилась вокруг новых подходов и к планированию подходит совсем с другим настроем. Если вы чувствуете, что ваша команда уперлась в потолок возможностей классического скрам-планирования или оставляет часть времени «на ветер», попробуйте асинхронность и делегируйте рутину искусственному интеллекту. Сейчас кодовая база нашего AI-помощника значительно больше стартового функционала, но начальную версию кода ядра помощника можно найти по ссылке https://gitverse.ru/shakmaev/sense. На чистоту и идеальный код не претендуем, здесь лишь boiler-plate вашего будущего решения. Уверен, наше решение поможет сэкономить не только часы, но и нервные клетки, а еще откроет дорогу к новым форматам и бизнес-подходам. Подключайте ML в свои процессы — эффект часто оказывается гораздо глубже и шире, чем просто автоматизация одного этапа разработки.

Фильтры и сортировка