{"id":13465,"url":"\/distributions\/13465\/click?bit=1&hash=1e6228dc4e5e22730d5108e1c30ee96b3462205737e7a3fe7ce4c965aaacfe57","title":"\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Ozon \u2014 \u043a\u043e\u043c\u0443, \u0447\u0442\u043e \u0438 \u043a\u0430\u043a \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043a\u0440\u0438\u0437\u0438\u0441","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"6b1e0c55-41d3-56c2-84e2-fe6f447e3825","isPaidAndBannersEnabled":false}
Павел Ахметчанов

Для чего сделан бесплатный плагин Jira-Helper визуализации в Jira? Показываю, как все настроить под себя

Меня зовут Павел Ахметчанов, я руководитель отдела улучшения процессов в крупной IT-компании. У нас, как и практически везде в российской IT-индустрии, проекты ведутся в Jira. Нам всегда не хватало в ней возможностей для визуализации. Поэтому мы с командой сделали плагин Jira-Helper для настройки визуализации под себя. Показываю, как создавать отчеты в графиках и барах и делать разметку в задачах

Jira — наиболее популярный инструмент трекинга задач в IT, во всяком случае, на постсоветском пространстве. Система вышла на рынок в 2002 году. Изначально ее основной задачей было отслеживание проблем и ошибок, связанных с программным обеспечением. Строго говоря, issue — это в первую очередь проблема, а не задача — task и не проект — project. Так, архитектура и большинство функций Jira закладывались под эту задачу. Но вскоре Jira стали использовать для автоматизации управления проектами и процессами в IT-командах. То есть пользователи начали подстраивать ее под новые задачи, к которым она не была готова. Пример: управление задачами на уровне команд требует визуализации. Чего изначально не было в Jira. Многие команды до сих пор пользуются лишь таблицами, а для визуализации используют физические доски со стикерами или платформу Miro. В Jira есть огромный плюс — фиксация времени изменения состояния задачи. Это позволяет собирать метрики для анализа процесса. Но, несмотря на все возможности, у нее остаются детские болячки:

  • плохая гибкая настройка визуализации, требующая построения workflow;
  • недостаток в количестве отчетов из коробки;
  • недоработки в отдельных ее функциях.

Одним из важных этапов в развитии трекера стало создание маркетплейса, а также открытого API, благодаря чему все желающие получили возможность разработать свои расширения. В маркетплейсе есть решения под многие задачи в управлении проектами — плагины метрик, плагины для SAFe. Хочу отдельно выделить Structure— это мощный плагин для управления проектом, который может заменить MS Project.

Плагин Jira-Helper мы разработали, чтобы упростить гибкую настройку визуализации. Ниже показываю, какие конкретно назревшие проблемы с его помощью можно решить.

Почему Jira-Helper сделан как плагин к Chrome?

Да, сразу отвечу на популярный вопрос. Для больших компаний настройка плагинов к Jira сталкивается со сложностью согласований с администраторами Jira. Кроме того, разработка плагина для Jira требует знаний Java и регистрации в Atlassian Marketplace. Задачей Jira-Helper было лишь улучшение интерфейса. Оказалось, что проще создать плагин к Chrome.

У этого решения есть преимущество — возможность быстрого обновления, так как не требуется отвлекать ресурсы команды администраторов Jira.

Сам плагин использует Jira API, а данные сохраняет в базе данных Jira, благодаря специальным методам сохранения свойств к доске. Теперь перейдем к функционалу.

Первая функция: бары на swimlane

Проблема. Когда смотришь на свернутый swimlane доски, не видно в каком состоянии находятся задачи. Если swimlane построены по Epic или по Story, то хочется видеть, какой из Epic или Story ближе к завершению по количеству решенных дочерних задач.

Решение. Бары показывают количество задач в колонках доски swimlane относительно общего количества задач внутри swimlane. При наведении курсора мыши, всплывающая подсказка показывает количество задач в колонке.

Используя свертку swimlanes (в меню справа сверху на доске, кнопки «Expand all swimlanes”, “Collaps all swimlanes»), можно сделать обзор выполняемых задач и быстро понять, на каком этапе каждая из них.

Вторая функция: оценка задач в Scrum

Несколько команд в нашей компании использовали скрам-доски, на которых можно указывать оценку задач в Story Points. Они применяли тетрис-планирование, предложенное Максимом Дорофеевым, о котором он рассказывал в одном из своих докладов в 2014 году.

Проблема. Для команд, использующих тетрис-планирование, приходилось использовать отдельно Excel, чтобы выбрать какие задачи пойдут в Sprint. Так как в backlog доски ограничение Story Points работает только для одного параметра. А тетрис-планирование подразумевает использование нескольких параметров под разные специальности.

Решение. Мы сделали для них функцию в Jira-Helper, которая позволяет выбрать разные поля задач для разных оценок. Это дает возможность в бэклоге скрам-доски видеть, сколько Story Points в каждом из типов работ уже выбрано на спринт.

Идея проста — если добрали задач в Sprint по одному из показателей до указанного предела, то плагин это показывает, можно остановиться.

Третья функция: показать флажок стикера на экране задачи

В Jira есть замечательная функция — поставить флажок на задаче.

Как это сделать? Нужно открыть доску с задачами, по правой кнопке мыши вызвать контекстное меню, где и будет кнопка «Add flag», если в задаче еще нет флажка, или «Remove Flag» если уже есть. С помощью флажка можно визуально обозначить, например, то, что с задачей есть какая-то проблема.

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

Четвертая функция: печать стикеров

Еще до пандемии мы пользовались обычными «живыми досками», разлиновывая стены и whiteboards в разных кабинетах офиса, чтобы отслеживать поток движения задач. Возле этих досок собирались командами и проводили daily-митинги.

Проблема. Встречи у доски позволяют быстро понять состояние проектов, но так трудно синхронизировать задачи c Jira. Сложность в том, что в Jira нельзя настроить доску, отражающую сложный поток движения задач, а нативная печать стикеров не подходит для того, чтобы печатать их на стандартных желтых стикерах на обычном лазерном принтере. Приходилось вручную переписывать заголовки задач на желтые стикеры.

Решение. Печать стикеров. Мы начали экспериментировать с печатью на стикерах при помощи цветного принтера. Тщательно выбирали дизайн стикеров в распечатанном виде. В итоге нашли способ избавиться от ручного процесса копирования информации о задачах на стикеры. Сначала мы даже думали купить специальный принтер, который печатает на наклейках. Но смекалка и куча экспериментов помогли найти более элегантное решение с простым цветным принтером. В итоге мы встроили возможность печатать стикеры при помощи плагина Jira-Helper.

Дизайн стикеров подобрали таким образом, чтобы можно было легко оперировать ими на физической доске, скажем, переклеивая пачку стикеров с места на место.

Эта фишка так понравилась первым пользователям, что они стали использовать доски с распечатанными стикерами во всю стену для анализа состояния задач сразу по нескольким проектам.

Вот что у меня вышло.

Теперь подпроект (Epic) прекрасно виден, благодаря цветному заголовку стикера, а шрифт «GOST A» позволяет легко читать заголовок задачи. Номер стикера, находящийся внизу, позволяет группировать сразу несколько стикеров в пачку и видеть какие стикеры находятся в ней.

Пятая функция: WIP-лимиты для нескольких колонок и WIP-лимиты на swimlane

Один из важнейших визуальных инструментов для работы команд, использующих канбан-доски, — это возможность создать общий визуальный WIP-лимит на несколько колонок.

Проблема. Jira умеет делать только WIP-лимитирование на одну колонку. Некоторые тимлиды хитро объединяют несколько состояний в одну колонку, чтобы лимитировать поток задач по нескольким состояниям. Но это усложняет саму визуализацию на доске.

Бывает потребность лимитировать работу по swimlane. Например, если выделяют суперсрочные задачи в отдельную дорожку. Чтобы эта дорожка не превратилась в свалку «срочно вчера» на 100500 задач.

Решение. В Jira-Helper мы решили эту проблему, считаю, элегантным способом. В настройках доски для колонок появилась кнопка для создания WIP-лимитов на несколько колонок. Она открывает popup, в котором при помощи перетаскивания можно сгруппировать под один WIP-лимит нужные колонки и выставить ограничение по количеству задач.

Зайти в настройки доски

Открыть настройки общих WIP-лимитов

Группировать колонки для установки лимита и сохранить.

Открыть доску. На доске подсвечиваются красным колонки, где WIP-лимит был превышен.

Шестая функция: персональные WIP-лимиты

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

Решение. В Jira-Helper добавили функцию персональных WIP-лимитов. Открыть настройки по ним можно по кнопке, находящейся рядом с настройками WIP-лимитов для нескольких колонок.

После настройки на панели доски сверху появится иконки членов команды, а рядом их персональный WIP-лимит, показывающий сколько задач находится на человеке.

Эта фишка стала наиболее используемой в командах.

Седьмая функция: исследование метрик в JIRA

Наверное, главный плюс Jira — это ее график Control Chart. На Kanban Eurasia я рассказывал, чем он так полезен и что с ним можно делать.YouTube: https://www.youtube.com/watc? v=F9-pBAWUvoE

Проблема. Этому графику не хватало линии, которая может показывать соотношение процентиля выборки к наблюдаемым событиям движения задач ко времени их нахождения в процессе.

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

Решение. SLA-линия на Control Chart. Теперь наиболее опытные менеджеры могут, не используя подключения BI-систем, проводить анализ по гипотезам управления прямо в Jira. Лично для меня это стало важной фишкой Jira-Helper.

К этой линии SLA мы добавили еще и линейку, по которой можно оценить насколько оценка задач совпадает с фактическими результатами. Цель — показать, насколько предиктивная оценка в принципе не сочетается с фактическим результатом. Использование этой линейки помогло мне показать, насколько Story Points, как и человекочасы оказываются бесполезными в прогнозировании сроков выполнения.

Итог

Итак, у нас получились полезные дополнения к Jira, которые избавили нас от части назревших трудностей в организации процессов. Jira-Helper — это open source продукт, к его разработке можно подключиться любому.

Как и скомпилировать свой плагин к браузеру из кода на Github, если правила безопасности компании не дают возможности поставить его из Google Web Store.

Ссылка на сам плагин тут.

На текущий момент общее количество активных пользователей уже перешло границу в 2500 человек, и плавно растет.

0
4 комментария
Илья Kerrigan

Спасибо вам за плагин.
Активно используем его у себя, в Karuna для в общем-то тех же нужд.

Очень не хватает возможности вешать лимиты на каждую отдельную ячейку складывающуюся из свимлейна и колонки. Так чтобы лимит показывался именно в углу этой ячейки, а не по JQL где-то в области Quick Filters.

В остальном пушка)

Ответить
Развернуть ветку
Victor Kuznetsov

C новыми типами проектов работает?

Ответить
Развернуть ветку
Павел Ахметчанов
Автор

Должен работать.
Иногда после обновления что-то может отвалится, но мы стараемся максимально быстро фиксить это

Ответить
Развернуть ветку
Шахов Андрей

Спасибо за статью и гайд!

Ответить
Развернуть ветку
Читать все 4 комментария
null