Вряд ли можно найти менеджера, который ни разу не попадал под цунами из срочных задач. В такой ситуации последней каплей могут стать рутинные активности — не самые сложные, но достаточно важные.
Меня зовут Марат и я QA Lead в команде тестирования бизнес-инициатив Россельхозбанка по АБС Центра финансовых технологий. В этой статье я поделюсь опытом преодоления трудностей в моей работе, и инструментами, которые действительно помогают, когда задачи накрывают с головой. Примеры будут касаться в первую очередь QA-менеджмента, но я уверен, что некоторые решения могут быть применимы к самым разным областям и окажутся полезны многим.
Оперативное управление загрузкой команды при поддержке бота
Мне, как тимлиду, необходимо обладать полной информацией о том, чем сейчас заняты тестировщики, и какая загрузка планируется у них в ближайшее время. В теории это не так уж сложно, однако на практике с завидным постоянством в дело вмешиваются внешние силы: от срочной поставки вендора и обновлений в правовой базе до непредвиденных больничных и новых задач по проекту.
Очевидное решение в такой ситуации – ежедневные созвоны для обновления статуса, но нам этот вариант не подошел. И вот почему.
Затратно по времени – и чем больше в команде человек, тем больше времени занимает обновление статуса от каждого.
Риски по таймингу: звонок может совпасть с другой встречей, присутствие на которой тоже будет необходимо.
Смещение фокуса: коллективное обсуждение критической проблемы запросто может перерасти в брейнсторминг и обсуждение интересных, но менее приоритетных задач по проекту.
Неочевидным, но эффективным решением для меня стало написание бота для Telegram. Бот написан на Python. И вот как он помогает менеджерить команду: у нас оговорено время Х, к которому сотрудники проверяют почту, смотрят свои поставки, списываются при необходимости с аналитиком/разработчиком. Далее каждый отправляет боту сообщение формата: [Идентификатор задачи] – [Вид работы] – [Сколько времени планирую сегодня потратить на задачу]. Бот возвращает ошибку, если сообщение отбивается об некорректное оформление, либо подтверждает верный ввод.
Затем весь массив данных на лету интегрируется в Google-формы и закидывает их построчно в таблицу на первый лист. Одновременно с этим на другом листе формируется простая и понятная сводная таблица в разрезе сотрудника и его задач на текущий день.
Что дало такое решение? В первую очередь колоссальный выигрыш по времени. При этом задачи распределять стало существенно проще: всегда можно посмотреть, кто свободен, а у кого сильный загруз и ему самому требуется помощь. При этом пресловутый тимбилдинг никуда не делся: мы еженедельно созваниваемся и обсуждаем новости и вопросы, которые возникают в процессе работы. Это позволяет не быть «оторванными» от команды.
Рассинхрон с командой разработки, и чем тут поможет JIRA
Случается, что сроки по задаче перенеслись, а информация об этом дошла не до всех. В результате люди делают лишнюю работу или не успевают сделать нужное. В этой ситуации очень эффективным инструментом для этого (и для многих других ситуаций) становится JIRA. Project automation в JIRA отлично отлавливает изменения в критичных для планирования полях задач по разработке и отправляет уведомление на почту. В этот инструмент можно зашить очень многое и степень его применения гораздо шире, чем может показаться. Например, можно улучшать культуру ведения дефектов – автоматизировать рассылку по дефектам, которые заведены вашей командой, при соблюдении определенных условий. У меня это:
В теме дефекта не указан идентификатор бизнес-инициативы.
Дефект по воркфлоу находится «На исправлении», а исполнителем по нему является тестировщик (и прочие подобные).
Описание дефекта не содержит ключевых словоформ про шаги, ожидаемый/фактический результаты и так далее.
Также при помощи питоновских библиотек Plotly и Pandas мне удалось подружить свою поделку на Python с нашим проектом в JIRA. Данные автоматически затягиваются, модифицируются, где требуется, и формируются в график задач с длительностями, исполнителями и прочими данными, появляющимися при наведении курсора.
Получается так:
Отдельно хочу остановиться на важности регулярного заполнения полей. В JIRA для этого есть массовое изменение — bulkchange – но оно все-таки достаточно неудобное и долгое, особенно в случаях, когда вам нужно ставить в разных местах разные значения. В таких ситуациях крайне рекомендую прибегнуть к помощи скриптов. Я их создавал на Python: одно нажатие приводит к заполнению определенных полей по самым различным задачам и занимает секунды вместо минут (колоссальная экономия!).
И еще пару слов о JIRA. Безусловно, есть много готовых решений, позволяющих нарезать и получать задачи через отдельную платформу, но тогда их приходится держать где-то еще, в стороне от багтрекинговой системы, по сути – плодить сущности. Мне существенно удобнее мониторить такого рода задачи на джировском дашборде одновременно с задачами по реализации бизнес-инициатив. И для этого я тоже написал скрипт. Он позволяет создавать поручения в отдельном проекте JIRA: либо единичное, либо сразу на всю команду. Таким образом в одном месте получилось аккумулировать как приближение дедлайнов по развитийным задачам, так и по различного рода поручениям – от сбора статистики до заполнения отчетов. Дополнительным плюсом в данном случае является возможность гибко настроить проект под свои нужды – например, статусную модель или отдельные поля.
Excel как универсальный инструмент
И к самому простому решению. Перепробовав с десяток приложений для тайм-менеджмента, я в итоге остановился на Excel. Он хорош далеко не для всего, но полностью списывать со счетов инструмент еще рано. Его очевидным плюсом является полная адаптивность: можно все настроить под свои потребности. Например, накрутить условное форматирование на заливку ячеек, сделать колонку для вспомогательных меток, добавить комментарий в нужной ячейке или написать макрос.
Принцип моей работы с Excel (который у меня выступает в роли расширенного планера) элементарный – если активность завершена, то напротив нее ставится пометка в текущем дне, а утром столбец за вчерашний день скрывается.
В случае непредвиденных падений автосохраненная копия в любом случае будет, но я взял за привычку периодически кидать сохраненный файл себе в почту – правило сортирует его в отдельную папку, и эти письма никогда мне не мешают (в любой непонятной ситуации – перестрахуйся).
Подводя итоги, могу сказать, что время можно и нужно пытаться выигрывать. Для этого не обязательно полностью перестраивать производственный процесс, иногда достаточно поменять или автоматизировать процессы, до которых ты в силах дотянуться. Для меня такой подход работает и приносит хорошие результаты. Надеюсь и вам мои лайфхаки пригодятся.
Комментарии (4)
ivolk
01.12.2022 08:11Не совсем понял, зачем нужен отдельный бот, если вы уже используете jira в качестве таск-трекера? ????
Collection Автор
01.12.2022 08:36Джира хорошо годится для среднесрочного/долгосрочного планирования с относительно большим горизонтом планирования - есть понимание по вехам, контрольным точкам и так далее.
Мне же нужно было отладить оперативное планирование, то есть нагрузку в конкретный день.
Допустим, у человека согласно джиры идет задача по разработке тестового покрытия или тестированию. Если утром одного дня выясняется, что требования изменились(или поставка откладывается, возникли проблемы с тестовым стендом и так далее), то по джире таски объективно не покажут загрузку сотрудника. Да, есть воркфлоу, но здесь гораздо выше человеческий фактор - можно забыть пережать статус, плюс он в лучшем случае покажет всего лишь холд, а прогнозный процент загрузки будет неизвестен.
Pampam83
Началось с бота для телеги, но в итоге excel+мыло. Смех, да и только.
Collection Автор
О, ну если бы мне кто-то год назад сказал, что я буду вполне адекватно вести лютую гору задач в эксельке - меня бы это тоже развеселило.
Рекомендую попробовать :)