В життєвому циклі розробки програмного забезпечення дуже важливу роль відіграють системи керування проєктами. Їх існує дуже багато, але в цій статті ми розглянемо роботу в одній з найпопулярніших таких систем – в системі Jira.

Jira система відстеження помилок (баг-трекер), призначена для організації спілкування з учасниками команди, а також для керування проєктами. Ця система була розроблена компанією Atlassian в 2002 році.  

Jira має дуже об’ємний функціонал, в якому не так просто розібратися недосвідченому користувачу. Нижче ми розглянемо найпростіші елементи і функції, які використовуються на проєктах найчастіше.

Створення проєкту

Jira дозволяє створити власний проєкт, налаштувати його та відстежувати весь процес виконання завдань до самого завершення. За допомогою налаштування адміністратор може визначати доступні дії для різних користувачів. 

Для створення проєкту необхідно в лівому кутку натиснути на значок головної сторінки.

Створення проєкту

Натиснути Projects (Проєкти).

Створення проєкту Projects

У правому верхньому кутку натиснути Create project (Створити проєкт).

Кнопка "Створити проєкт"

Після створення проєкту необхідно створити дошку на якій буде відображатись весь процес роботи з задачами. На дошці можуть бути представлені завдання одного або декількох проєктів. Вони розташовані в стовпцях, які відображають процес роботи команди. За допомогою дошки команда отримує загальне уявлення про всю розпочату роботу, яка наразі виконується, та про завершену роботу.

Створення Scrum або Kanban дошки

Для створення Scrum або Kanban дошки необхiдно натиснути Search > View all boards (Пошук > Всі дошки)

Створення дошки Scrum або Kanban

Натиснути Create board (Створити дошку)

Кнопка "Create board"

Обрати тип дошки Kanban (Scrum)

Вибір типу дошки

Хоча візуально дошки схожі, різниця між дошками полягає у відмінностях стратегій для управління проєктами за методикою Agile. Методики Kanban передбачають циклічну та велику рухливість, а Scrum ґрунтується на коротких структурованих спринтах роботи.

Дошка Scrum

Дошка Scrum

Дошка Kanban

Дошка Kanban

Типи тікетів, їх значення та використання

Задачі, що створені в Jira, називаються issue (завдання).

Завданням може бути що завгодно: баг, задача щодо розробки, відгуки з форм, що потребують відповіді. 

Кожне завдання відповідає окремій частині роботи, яку потрібно виконати. Завданню присвоюється унікальний ID, що спрощує його пошук.

Для оптимізації управління в Jira завдання поділяються на 5 типів:

  1. Epic;
  2. Story;
  3. Тask;
  4. Sub-task;
  5. Bug.

Epic (епік) – велике завдання, яке вирішується за декілька спринтів.

Наприклад, епік «Розробити форму A для сайту N», до задач якого можна віднести створення дизайну, опрацювання структури форми, розробка форми, аналітика тощо. Ця задача дуже об’ємна, відповідно кількість учасників буде великою. Епік буде розбитий на частини, в яких будуть описані детальні кроки для вирішення проблеми. Ці частини мають назву Story.

Story (історія) – частина епіка, команда може вирішити таке завдання за 1 спринт.

Історія описує реалізований функціонал (роботу) зі сторони кінцевого користувача. Наприклад, в продовження розглядання прикладу епіка «Розробити форму A для сайту N» можна виділити наступні історії:

  • Як користувач, можу заповнити та відправити форму для замовлення на сайті.
  • Як UX дизайнер, можу розробити зручну форму для найвибагливішого користувача і т. ін. 

Це зроблено для того, щоб частини роботи стали згрупованими та зрозумілими.

Тask (завдання) – технічна задача для одного члена команди.

Зазвичай, технічні задачі не пов'язані з командною роботою, проте вони необхідні для успішного завершення епіків. Наприклад, завдання створити репозиторій для проєкту, налаштувати тестове оточення тощо.

Тask може оцінюватися в годинах або ж створюються під-завдання, тому що не завжди є можливість визначити необхідну кількість часу для певної задачі.

Sub-task (підзавдання) – частина історії або завдання, в якій описується мінімальний обсяг роботи одного члена команди;

Підзавдання спрощують процес контролю виконання роботи та дозволяють більш точно визначити трудовитрати. Статуси відображають що зроблено, що знаходиться в роботі та ще не розпочаті роботи. Підзавдання створюються членом команди особисто під час планування роботи на наступний спринт.

Bug (баг) – задача, в якій описується помилка в системі. Завданням є фіксування виявлених помилок, що будуть проаналізовані та згодом виправлені.

Створення міток, компонентів, для чого вони використовуються

Для групування завдань за тематикою в Jira використовуються компоненти та мітки. 

Щоб розпочати роботу з компонентами, необхідно їх створити (адміністратором JIRA або керівником проєкту). 

Компоненти – це аналог категорій. Дозволяє розділити об'ємну роботу на частини. Наприклад, робота над додатком може бути поділена на такі компоненти, як технічне завдання, документація, сервер тощо.

Компонент

Мітки можна додати під час створення задачі,

Атрибут "Мітки"

а також до вже створеної задачі.

Додавання мітки до вже створеної задачі

Фільтрація по мітках, компонентах

Щоб знайти завдання з певним мітками та компонентами, необхідно скористатись пошуком та вибрати мітки і компоненти у фільтрі.

Вибрати мітки або компоненти:

Мітки або компоненти під час фільтрації

Вибрати конкретну мітку (або компонент):

Вибір конкретної мітки(або компонента)

Створення, призначення задач на виконавця

Для створення нового завдання необхідно натиснути кнопку Create у верхній панелі управління.

Створення нового завдання

Відкриється модальне вікно створення завдання:

Модальне вікно створення завдання

Обов'язково потрібно вказати при створенні завдання:

  • Project (проєкт) до якого належить завдання. За замовчуванням завдання створюється в тому проєкті, який був відкритий або в якому була створена попередня задача;
  • Issue Type (тип завдання) – слід вибрати відповідний з 5 типів;
  • Summary (тема) – необхідно створювати з короткою назвою, з якого зрозуміла основна суть завдання; 
  • Reporter (автор) – той, хто створив завдання.

До додаткових полів відносяться:

  • Priority (пріоритет) – вказується терміновість, з якою необхідно виконати завдання. За замовчуванням всі завдання створюються із середнім пріоритетом Medium, для невідкладної задачі вказується пріоритет High або Highest. Найвищий називається Blocker, його слід виставляти коли зламалося щось важливе для ПЗ (не здійснюється оплата, не додаються товари до кошика). Якщо завдання не термінове, то вказується пріоритет Low або Lowest;
  • Components (компоненти) – дозволяє прикріплювати завдання до відповідного компоненту (див. вище);
  • Assignee (виконавець) – співробітник, який повинен виконати завдання;
  • Description (опис) – докладний опис завдання;
  • Labels (мітки) – вибір наявної або створення нової мітки (див. вище);
  • Attachment (вкладення) – дозволяє додати файли до завдання;
  • Linked issues (зв'язані задачі) – дозволяє вибрати завдання, з якими пов'язана дана задача. Для звичайного посилання одного завдання на інше обирається тип relates to;
  • Epic Link – вказується посилання на Epic (див. вище).

Створення Workflow бага в Jira

Робочий процес в JIRA являє собою набір статусів і переходів, через які проходить завдання під час свого життєвого циклу (Workflow). Він може містити п'ять основних стадій:

  • Open Issue (задача відкрита);
  • Resolved Issue (задача вирішена);
  • InProgress Issue (задача в процесі вирішення);
  • ReOpened Issue (задача перевідкрита);
  • Close Issue (задача завершена).

Можна створити окремий життєвий цикл для кожного проєкту в Jira, але для створення або розширення такого флоу необхідно залогінитися в систему як Адміністратор з глобальними правами на створення і редагування Workflow.

Оскільки процес розробки ПЗ дуже гнучкий і варіативний, то для різних команд і продуктів можуть знадобитися різні статуси й переходи між ними. В баг трекінгових системах найчастіше є можливість ручного додавання нових статусів тікетів.

Можна вибрати не тільки ім'я статусу, але також колір для позначення його «категорії» (статус для тікетів які готові до роботи, в процесі роботи та завершені). І для зручності завантажити іконку, щоб виділити його на тлі інших статусів.

Для додавання нового статусу необхідно:

  1. Увійти як користувач з дозволом адміністраторів JIRA.
  2. Перейти на сторінку Statuses, вибравши значок Cog Icon> Issues >знайти Statuses ліворуч в категорії Issue Attributes.
  3. Натиснути Add Status, вказати ім’я, опис та категорію статусу, яку потрібно додати.
Додавання нового статусу

Далі слід додати новий статус до Workflow:

  1. Натиснути Cog Icon>Issues> знайти Workflow в категорії Workflows ліворуч;
  2. Натиснути посилання Edit у Workflow, до якого потрібно додати статус;
  3. Натиснути Add Status, щоб визначити попередні статуси. Вибрати Revising and Add;
Додавання статусу

4. Натиснути на будь-якому вузлі Reviewing status та перемістити його до вузла Revising Status, щоб створити перехід. З’явиться вікно Add Transition;

Вікно "Add Transition"

5. Закінчивши редагування Workflow, необхідно опублікувати чернетку або активувати робочий процес.

При створенні власного Workflow необхідно брати до уваги такі параметри, як:

  • величину проєкту і команди;
  • тривалість проєкту;
  • досвід роботи з даною командою і досвід роботи в цілому.

Проходження життєвого циклу тікета

Після створення задачі та активації Workflow розпочинається проходження життєвого циклу.

Розглянемо приклад життєвого циклу показаного на малюнку.

Життєвий цикл тікета

Всі нові задачі мають статус Backlog. Задачі які знаходяться в цьому статусі потребують уточнення щодо пріоритету, термінів, виконавця тощо.

Після призначення задачі на виконавця та додавання повної інформації щодо терміну виконання назначається статус Selected for work або In progress, якщо над задачею була розпочата робота.

Виконавши зазначену задачу їй присвоюється статус для перевірки Ready for review.

Після етапу перевірки можливо два сценарії, при першому – задачі присвоюється статус Done, означає що всі роботи виконані, або задачу перевідкривають зі статусом Reopened та повертають її в роботу In progress. Це можливо якщо по задачі необхідні додаткові уточнення або ж вона не реалізована в достатньому об’ємі, містить помилки чи розбіжності.

Виконана задача зі статусом Done також може бути переглянута та повернена у роботу зі статусом In progress, у випадку якщо були додані нові деталі для її проходження, тощо.

Задачі, які були реалізовані за вимогами, вирішені в процесі, втратили актуальність або були скасовані замовником мають кінцевий статус Archived.

На будь-якому проєкті навігація вирішуваних задач є однією з важливих складових успіху. Зі зростанням обсягу проєкту розібратися в потоці пріоритетних задач стає все складніше, тому важливо знайти методику за якою можна спростити процес управління то допомогти учасникам зорієнтуватись у виконанні задач.