nmk

Лекція №9 (4 години). Моніторинг виконання прогресу, інструменти управління та дошки задач

План лекції

  1. Відстеження прогресу команди в Agile: Velocity, Burndown та Burnup charts.
  2. Управління змінами в проєкті: формальний процес (Change Request) vs Agile-адаптивність.
  3. Огляд сучасних систем управління проєктами: Jira Software, Trello, Asana.
  4. Управління знаннями та документацією (Confluence).
  5. Принципи налаштування Kanban та Scrum дошок для розробників.
  6. Інтеграція PM-інструментів із системами контролю версій (GitHub, GitLab) та системами CI/CD.

Перелік умовних скорочень

Вступ

“Як справи з проєктом?” — просте запитання клієнта, яке часто вганяє Project Manager’а в піт. Досвідчений керівник ніколи не відповідає: “Все йде нормально, кодуємо”. Він відкриває дашборд (панель управління) і показує графіки, цифри та дошки задач, які математично доводять життєздатність проєкту та прогрес команди.

У сучасному IT ніхто не управляє задачами просто в Excel-таблицях. Інструменти, такі як Jira або Trello, стали стандартом індустрії. У цій лекції ми розберемо, як за допомогою метрик і графіків читати стан проєкту “як кардіограму”, чому важливо інтегрувати ваш менеджер задач з репозиторіями програмістів (GitHub) і як керувати неминучими змінами вимог від замовника.


1. Відстеження прогресу команди в Agile

Якщо в каскадних проєктах прогрес вимірюється просто (наприклад, графіком освоєння бюджету або відхиленням від діаграми Ганта), то в Agile використовуються інші візуальні та метричні інструменти.

Velocity (Швидкість команди)

Velocity — це кількість одиниць роботи (зазвичай Story Points, SP), яку команда розробляє, тестує і здає клієнту протягом одного спринту.

Діаграми згоряння та накопичення


2. Управління змінами: Traditional vs Agile

Зміни вимог — це невідворотна частина ІТ: клієнт побачив новий продукт у конкурента, закони країни змінилися, бета-тестувальники не зрозуміли інтерфейс.

Традиційний формальний підхід (Change Request Process): Використовується при контрактах Fixed-Price або на державних проєктах. Будь-яка нова “кнопочка” проходить забюрократизований процес:

  1. Замовник створює документ Change Request (CR) з описом нової ідеї.
  2. Команда аналізує, як ця зміна вплине на (а) архітектуру, (б) бюджет, (в) розклад.
  3. PM формує відповідь: “Зміна варта $500 і 3 дні”.
  4. Скликається Рада з управління змінами (Change Control Board - CCB) за участі спонсорів для ухвалення чи відхилення запиту через підписання додаткової угоди до контракту. Недолік: Процес займає тижні. Якщо ринок швидко змінюється, це вбиває проєкт.

Agile адаптивність: В Agile інший майндсет: зміни — це конкурентна перевага клієнта.


3. Огляд систем управління проєктами (PM Tools)

Не кожен інструмент підходить для кожної команди. Розглянемо лідерів ринку:

  1. Jira Software (від Atlassian):
    • Стандарт індустрії для середніх і великих IT-команд.
    • Підтримує Scrum і Kanban дошки, глибоке управління дозволами, звіти (ті самі Burndowns), тайм-трекінг.
    • Має власну мову запитів JQL (Jira Query Language) для створення потужних фільтрів.
    • Мінус: Досить складна в налаштуваннях для невеликих стартапів, потребує адміністратора.
  2. Trello:
    • Найпростіший Kanban-інструмент (віртуальна дошка з картками). Куплений компанією Atlassian.
    • Ідеальний для маленьких команд, фрілансерів, маркетологів. Не має складних ієрархій або спринтів “з коробки” (все робиться через плагіни).
  3. Asana:
    • Прекрасний баланс між розширеним функціоналом управління проєктами та простотою інтерфейсу. Добре підходить для багатопрофільних диджитал-агентств (де IT-розробка межує з маркетингом і копірайтингом).

4. Управління знаннями (Confluence)

Якщо Jira відповідає на запитання “Що і Коли ми маємо зробити?”, то інструмент Confluence (або аналоги на кшталт Notion) відповідає на запитання “Чому і Як?”.

IT-проєкт гине, коли знання залишаються в головах розробників: “Як розгорнути локальну базу даних знає тільки Вася. Вася у відпустці. Робота стоїть”. Для подолання цієї “автобусного фактора” (Bus Factor) використовують внутрішню Wiki проєкту.

Що зазвичай зберігають у Confluence:


5. Налаштування дошок (Kanban та Scrum Board)

Хороша віртуальна дошка — це інструмент, одного погляду на який достатньо, щоб зрозуміти стан речей. Дошка складається з колонок, які відповідають життєвому циклу розробки фічі (Workflow).

Типовий Workflow розробки ПЗ:

  1. To Do (Backlog): Завдання, які плануються, але ще не узяті в роботу.
  2. In Progress (В розробці): Задачі, над якими просто ЗАРАЗ пишеться код. (Тут діє найголовніше правило Канбану: WIP Limit. Наприклад, ліміт = 3. Якщо в цій колонці 3 задачі, жоден розробник не має права брати четверту, навіть якщо вільний. Він має допомогти колегам закінчити існуючі, щоб не створювати заторів).
  3. Code Review / Pull Request: Інший Senior-програміст перевіряє написаний код.
  4. Testing (В тестуванні / QA): Задачу перевіряє тестувальник.
  5. Done / Deployed: Код опублікований на Production сервері, задача завершена і приносить гроші.

Різниця між Scrum-дошкою і Kanban-дошкою: Scrum-дошка повністю “очищається” в кінці двотижневого спринту. Kanban-дошка — це нескінченний конвеєр без спринтів (ідеально для команд підтримки / Support Services).


6. Інтеграція PM-інструментів із CI/CD (GitHub/GitLab)

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

Як це працює у професійній команді:

  1. У Jira створюється завдання з ідентифікатором, наприклад, PROJ-102.
  2. Програміст, відкриваючи код-редактор і починаючи роботу, створює нову гілку в GitHub з назвою цього тікета: git checkout -b feature/PROJ-102-login-button.
  3. Система Jira, побачивши зв’язок (через плагін), автоматично перетягує картку PROJ-102 на дошці з колонки “To Do” в колонку “In Progress”.
  4. Коли розробник закінчує кодувати, він робить коміт (Commit) у GitHub зі словами Fixed PROJ-102 і відправляє код.
  5. CI/CD пайплайн (наприклад, GitLab CI) перехоплює код, автоматично проганяє Unit-тести.
  6. Якщо тести зелені (успішні), картка в Jira автоматично пересувається в колонку “Ready for QA”, а тестувальнику надходить Slack-повідомлення.

Суть інтеграції: Від команди розробників більше не вимагають “оновлювати статуси в таблицях”. Вони просто пишуть і “комітять” код, а системи управління прогресом зчитують метрики автоматично. Це кардинально зменшує опір технарів до інструментів менеджменту.


Висновки

  1. Для вимірювання успіху Agile-команд використовують Velocity (швидкість у Story Points) та діаграми згоряння/накопичення (Burndown/Burnup Charts). Вони забезпечують прозору математичну базу для переговорів щодо строків релізу.
  2. Процес обробки змін суттєво різниться: у傳統них (важких) проєктах необхідно заповнювати бюрократичні форми Change Request та проводити переговори щодо ціни, тоді як в Agile зміни просто потрапляють у Backlog із новим пріоритетом.
  3. Jira Software стала стандартом управління завданнями розробників через великі можливості кастомізації, підтримку Scrum та глибоку інтеграцію; хоча для менших команд часто обирають простіший Trello.
  4. Документація проєкту (як-от правила кодування, API та база знань для нових співробітників) повинна зберігатися у єдиній системі типу Confluence, щоб уникнути втрати знань (Bus factor).
  5. Віртуальні дошки завдань повинні мати не лише базову структуру “Робиться - Зроблено”, а відображати реальний Workflow: з колонками для перевірки коду колегами (Code Review) та роботою відділу якості (QA).
  6. Автоматизація рутини (наприклад, коли створення Pull Request у GitHub самостійно переміщує картку в Jira) є критично важливою для задоволення команди розробників (скорочення мікроменеджменту).

Джерела

  1. Інститут управління проєктами (PMI). A Guide to the Project Management Body of Knowledge (PMBOK® Guide).
  2. Майк Кон (Mike Cohn). Agile Estimating and Planning (розділи про Velocity та Burndown).
  3. Atlassian University: Офіційна документація по Jira Software та Confluence.
  4. Кім Джин, Humble J., Debois P. The DevOps Handbook (про важливість інтеграції CI/CD з інструментами трекінгу).

Запитання для самоперевірки

  1. Опишіть своїми словами, що таке Velocity (Швидкість команди). Як ви, будучи PM, використаєте цей показник, якщо клієнт попросить зробити ще 200 Story Points нових функцій?
  2. Чому графік Burnup (накопичення) краще показувати клієнтові, ніж графік Burndown (згоряння), якщо на проєкті постійно відбувається Scope Creep (додавання нових вимог)?
  3. Порівняйте ставлення до процедури внесення змін (Change Request) у контрактах типу Fixed-Price (Водоспад) та гнучкому фреймворку Scrum.
  4. У чому полягає критична небезпека зберігання важливої архітектурної інформації лише у головах розробників, і який інструмент вирішує цю проблему?
  5. З якими етапами життєвого циклу розробки обов’язково повинна перетинатися картка завдання (Issue) в Jira, перш ніж потрапити до колонки “Done”? Опишіть базовий Workflow.
  6. Як саме інтеграція трекера завдань (напр., Jira) із системою контролю версій (GitHub/GitLab) зменшує необхідність у ручному мікроменеджменті команди? За допомогою якої дії (наприклад, назви коміту) ці системи спілкуються між собою?