чат с агентомспроситьAI и агенты7 файловИнфраструктура4 файлаРазработка6 файловОбо мне5 файлов
В трекере команды 19 статусов и невидимые баги. Свёл к 9 и разметил 369 задач
  • процессы
  • трекер
  • команда
  • автоматизация

В трекере команды 19 статусов и невидимые баги. Свёл к 9 и разметил 369 задач

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

Задачи, которых не видно

Дефолтным статусом новой задачи в проекте был продуктовый черновик, а не рабочий статус разработки. Туда попадало всё: и то, что заводил через командную строку я, и то, что заводили тестировщики. На доске разработки этого статуса нет, поэтому заведённые баги просто не появлялись ни у кого перед глазами.

На момент разбора так висели 15 моих задач, из них 10 багов веба и десктопа, а самые старые ждали от 28 до 46 дней. Мой скрипт показывал 47 задач и не видел 95 живых. Это не «неудобно», это баги, о которых все честно отчитались и которые никто не чинит.

Вторая находка помельче, но с тем же корнем: у команды в одном перечислении был смешан тип задачи и платформа. Из-за этого нельзя было ни отфильтровать «всё по десктопу», ни автоматически назначить исполнителя - платформа жила в заголовке текстом, и правило «моя задача, если в заголовке написано Web» на живых данных дало три чужие задачи и ноль полезных.

Что сделал

Согласовал с менеджером и применил в живом трекере, где к тому моменту накопились сотни задач.

  • Отдельное поле «Платформа» вместо префикса в заголовке: веб, десктоп, бэкенд, Android, дизайн, инфраструктура. У каждого значения есть владелец.
  • Воркфлоу авто-назначения: задача получает исполнителя по платформе сама, без ручного распределения на планёрке.
  • 9 статусов вместо 19. Одиннадцать старых архивировал, а не удалил, чтобы история задач не порвалась. Дефолтом сделал рабочий бэклог, чтобы заведённый баг сразу попадал на доску.
  • Перестроил доску разработки - дорожки теперь по платформе, а не по типу.
  • Разметил 369 задач и написал команде статью о том, как теперь заводить и вести задачи.

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

Результат

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

Отдельно поправил свои инструменты под новые статусы, чтобы отчёт о состоянии работ перестал врать.