Що таке Agile
Agile – це методологія створення продукту, якою слідують команди. Наприклад, розробники, коли пишуть і тестують код для онлайн-сервісу або програми.
Суть Agile в тому, що команда ставить собі за мету і виконує її за певний відрізок часу – ітерацію.
Можна провести аналогію з марафоном: команда визначає дистанцію, яку планує пробігти за певний час.
Зазвичай ітерація триває 2 тижні, а потім команда презентує частину працюючого продукту. Потім ітерація починається заново: команда визначає нову мету і йде до неї.

Agile – це не інструкція, за якою може працювати команда. Це певні цінності і принципи, які допоможуть організувати роботу команди.

Agile впроваджується на організаційному рівні, а не на рівні продукту. Agile – це скоріше філософія, ніж інструмент або фреймворк з чіткими правилами. Її суть – взаємодія між людьми заради створення продукту, який потрібен споживачеві.
Agile вчить колаборації всередині команди, вчить робити свою роботу більш прозорою для інших членів, бути гнучкими і швидше реагувати на зміни на ринку.
Що таке Scrum
Scrum – одна з практик, заснованих на ідеях Agile. Найчастіше команди вибирають саме її.
Scrum схожий на децентралізацію влади: якщо класичний проджект-менеджер відповідає і за людей, і за бюджет, і за продукт, то в Scrum за ці елементи відповідають три різні людини.
Командам, які тільки починають працювати за принципами Agile, варто вибрати саме Scrum.
Scrum-команда
У Scrum-команди є три ролі:
Член Scrum-команди – сюди входять всі учасники команди розробки.
Scrum-майстер – людина, яка включає в себе кілька ідентичностей: коуч, фасилітатор, ментор, вчитель, лідер. Scrum-майстер забезпечує прозорість і ясність цілей, а також відповідає за те, щоб команда дотримувалася всіх домовленостей і правил Scrum.
Деякі наймають професійного Scrum-майстра, але якщо компанія невелика, його роль може виконувати будь-який член Scrum-команди.
Product Owner – це людина, яка керує концепцією проекту і пріоритетом виконання завдань.
Буває, що Product Owner і Scrum-майстер – один і той же чоловік, але це неправильно. Завдання Scrum-майстра – кидати виклики не тільки команді, але і Product Owner.
Ефективність Agile залежить від зрілості команди. Якщо команда розуміє, навіщо їй все це, у них не виникне питань щодо розподілу ролей.
Scrum-зустрічі
Щоб дисциплінувати команду і зробити процеси більш прозорими, Scrum пропонує проводити зустрічі. Мета всіх цих заходів – прояснити, що потрібно робити.
Daily Scrum – щоденна зустріч, на якій виступає кожен член команди. Це допомагає всім синхронізуватися. На Daily Scrum команда відповідає на три основні питання:
- Що я зробив вчора?
- Що я буду робити сьогодні?
- Що мені заважає? Чи потрібна мені чиясь допомога?
Планування – відбувається на початку ітерації. Спочатку Product Owner визначає пріоритети, а потім команда збирається, щоб конкретизувати завдання, яке вони повинні виконати до кінця ітерації.
Reviews – це презентація в кінці кожної ітерації, на якій команда показує демо-версію продукту. На ці заходи приходять споживачі, які просили команду зробити цю функцію, Product Owner і власники компанії.
Ретроспектива – це фінальна зустріч команди, на якій обговорюють переваги і недоліки минулої ітерації.
Висновки з практики застосування Scrum
- Раніше в нашій компанії відділ маркетингу працював окремо, розробники – окремо. Кожен був в своєму світі.
- Раніше у нас були компонентні команди: розробка, маркетинг, бізнес-процеси. Коли ми працювали над одним продуктом, то все займалися виключно їм. Це було наше пляшкове горлечко. Зараз ми працюємо над кількома продуктами одночасно. Над кожним з них трудяться по кілька крос-функціональних команд, які ми створюємо під певні потреби.
- Через те, що наша команда самоорганізована, ніхто не хоче брати на себе відповідальність. Коли команди великі, їм складніше самоорганізовуватися, залученість може падати. Тому в Scrum-команді повинно бути не більше 9 чоловік. Залучення кожного впливає на те, наскільки ясна мета команди.
- Через те, що ми хочемо почути кожного, іноді витрачаємо багато часу на прийняття рішення.