Блог A1QA

О тестировании и качестве ПО

5 шагов к Agile с инструментами JIRA

Екатерина Базылева, менеджер A1QA, сертифицированный Scrum-мастер и SAFe Agilist, рассказывает об инструментах JIRA, которые позволяют планировать Agile-проекты, управлять ими и отслеживать эффективность работы команды.

Как инструменты JIRA могут помочь выполнить работу по гибким методологиям?

Под «работой» подразумевается любая рабочая задача: написание тестовой документации, составление плана по тестированию, проведение регрессионного теста или подготовка обучающего мероприятия в центре компетенции.

В первую очередь, эта статья будет полезна тем, кто:

  • Постоянно «жонглирует» большим количеством задач на одном или нескольких проектах;
  • Хочет предложить заказчику или команде реализовать Scrum или Kanban на базе JIRA, но еще не имеет полного представления о том, как это сделать;
  • Уже работает с JIRA Agile Plugin или имеет о нем общее представление, но хочет расширить свои знания.

Начнем. У каждого менеджера проекта есть todo-list из рабочих задач и, возможно, даже не один. У кого-то список состоит из множества мелких задач одного проекта, у кого-то включает несколько проектов.

Нередко выполнение задач зависает, при этом к ним постоянно добавляются новые. Мы периодически перебираем этот список и верим, что вот завтра, хотя нет, лучше в понедельник начнем разбирать его. Знакомо?

Продуктивно решать все возникающие задачи – это один из постулатов работы по гибким методологиям. Однако не стоит ждать, когда к вам придет проект, который должен быть выполнен по Agile. Возьмите свой текущий проект и сами реализуйте его с соблюдением Agile-принципов.

Для этого достаточно выполнить 5 шагов.

ШАГ 1 — Создание и настройка Agile Board

Создайте борд (Jira-Agile-Getting Started), на котором вы будете отслеживать ход выполнения задач и управлять ими в бэклоге. Борд можно создать как для задач конкретного проекта, так и для выборки, в которую будут входить несколько проектов.

Вот так выглядит Agile Board по умолчанию:

Теперь настроим его под себя.

Настраиваем колонки (Columns). Они будут отражать жизненный цикл задач. При этом можно настроить произвольное количество колонок и дать им свои названия.

На борд можно добавить дорожки (Swimlanes), которые помогут структурировать задачи. Среди доступных вариантов можно выбрать дорожки по группе задач (Epics), по исполнителю (Assignee) или по задачам (Stories). Последний вариант особенно удобен, если активно используются подзадачи. Также дорожки можно настроить по собственным фильтрам (или вовсе обойтись без них).

Для того чтобы скрыть или, наоборот, показать специфические задачи, можно добавить быстрые фильтры (Quick Filters) и, например, отфильтровать только задачи на обновление тестовой документации или задачи конкретного QA-инженера. Фильтры задаются через JQL-запросы.

В конце нужно определиться, в каких единицах будут оцениваться задачи. Самые распространенные варианты – это стори поинтс (Story Points) и часы, но могут быть и другие единицы, предлагаемые JIRA.

ШАГ 2 — Упорядочение списка задач в бэклоге

После того, как Agile Board создан в режиме «Планирования» или в бэклоге (это зависит версии JIRA), нам становится доступен удобный интерфейс для превращения хаотичного списка задач в упорядоченный бэклог.

  • В каждом из проектов создаем группы задач (Epics), которые будут отражать основные направления деятельности. Например, усовершенствование процессов, обновление тестовой документации, регрессионные тесты.
  • Можно также обозначить и релизы, т.е. сроки, к которым надо что-то завершить.
  • Сами задачи из todo-list станут пользовательскими историями (user stories), связанными с направлением работы и при необходимости привязанными к релизу.

Теперь все задачи находятся в одном месте, их легко оценивать и располагать по приоритету, передвигая вверх и вниз.

Итак, мы создали и настроили Agile Board в JIRA и составили бэклог с задачами. Что же дальше?

ШАГ 3 — Планирование спринтов

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

  • Определяем продолжительность. Для начала нужно определиться с продолжительностью спринта. Решите, будет ли это неделя, две недели, месяц или другой период времени.
  • Считаем емкость (Capacity) команды на спринт.

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

Например:
Размер команды – 2 специалиста, занятых полный рабочий день.
Продолжительность спринта – 2 недели.
Общее количество рабочих часов – 160. При этом мы знаем, что одному из инженеров нужно пройти тренинг по веб-сервисам (16 часов) и на коммуникацию по задачам у команды уходит 20% рабочего времени.
Итого, capacity на спринтовые задачи получится (160-16)*0,8=115,2 ч.

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

ШАГ 4 — Выполнение спринта

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

На шаге 1 мы создавали и настраивали Agile Board. Теперь он поможет нам проследить, на каком этапе находится каждая из задач, кто и какую задачу выполняет.

Можно сразу назначить каждой задаче исполнителя. Если ваша команда достаточно самоорганизованная, то ребята могут сами брать себе задачу из списка свободных. Как только пользователь передвигает задачу в In Progress, он автоматически становится ее исполнителем.

Если вы регулярно логируете время и обновляете Remaining Time, то сможете использовать Burndown Chart (график сгорания, или график хода выполнения работ). Он покажет ваш прогресс по отношению к цели спринта и поможет оценить шансы на его успешное завершение.

Серая линия на графике показывает идеальный ход выполнения проекта.

Красная линия – объем незакрытых задач, зеленая – потраченное время. Если красная линия справа снизу встречается с серой в одной и той же точке – это самый лучший вариант развития событий.

На примере выше у команды явно есть проблемы: объем выполненной работы заметно меньше запланированного. Если они не ускорятся в последние дни спринта, то не успеют завершить все запланированные задачи в срок.

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

ШАГ 5 — Завершение спринта, ретроспектива

Этот шаг хоть и последний, но не менее важный. Agile — это ведь не только борды, стори и спринты. Это также поиск узких мест и усовершенствование процесса.

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

Ретроспектива: на что обратить внимание?

  • Отчет по спринту покажет, какие задачи вы смогли завершить, а какие нет, добавили ли вы задачи в спринт или, наоборот, что-то из него исключили, потому что поняли, что не справитесь.
  • Анализируем график хода выполнения работ. Если в рамках спринта не удалось закрыть все запланированные задачи, разбираемся, что и в какой момент времени пошло не так.
  • Если в качестве группы задач (Epics) вы использовали крупные задачи, например «Провести регрессию всего приложения на уровне МАТ», то отчет покажет, сколько работы вам еще осталось. Похожую картинку можно получить и в контексте релиза, если все ваши задачи привязаны к какой-то версии.
  • И наконец, можно оценить велосити (Velocity) и посмотреть, сколько работы вы планировали, а сколько в итоге получилось выполнить. Эта информация будет более полезна в случае, если вы оцениваете пользовательские истории в стори поинтах.

Velocity – это скорость работы команды, тот объем, который команда может завершить за спринт. Завершить – это значит закрыть задачу и переместить ее в колонку Done.

Вот мы и выполнили последний шаг нашего Agile-проекта.

Как видите, 5 шагов к Agile действительно просты. Давайте еще раз их перечислим:

  1. Создать и сконфигурировать Agile Board.
  2. Упорядочить задачи в бэклоге.
  3. Запланировать спринт.
  4. Выполнить спринт.
  5. Провести ретроспективу.

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

В следующей статье рассмотрим несколько интересных профессиональных «фишек» работы в JIRA.

Поделиться статьей: