Agile, Scrum: детально про гнучкі методики розробки

date 21.02.2024 category Нетехнічні професії в ІТ
Agile, Scrum: детально про гнучкі методики розробки

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

 

Однією з найпопулярніших таких методологій управління проєктами є Agile. Його популярність зумовлено гнучкістю й здатністю адаптуватися до швидких змін. Щоб ефективно впровадити Agile в роботу, необхідно мати глибоке розуміння управління проєктами. У цій статті разом з Іриною Кутовою, проєктною менеджеркою та сертифікованим Scrum-майстром, ми розглянемо, що таке Agile, як працює Scrum-підхід в межах методології, основні цінності й принципи, переваги й недоліки та особливості впровадження аджайлу в роботу над проєктом.

 

 

Ірина, розкажіть у чому різниця між Agile, Scrum та Kanban?

 

Для логічного розуміння, пропоную розглянути ці три поняття в такому порядку: Agile, Kanban, Scrum. Чому саме так? Бо Agile – це методологія, я б навіть сказала філософія впровадження проєктів, яка узагальнює цілий ряд різноманітних практик.

 

Директор з інжинірінгу в Google Матіас Маршал цікаво пояснює різницю між Agile та Scrum. За його словами, порівнювати ці два поняття те саме, що шукати різницю між льодом та водою.

 

«Лід – це вода в певному агрегатному стані. Те саме можна сказати про Scrum та Agile. Scrum – це гнучкий фреймворк процесу.  Scrum і Kanban вважають окремими втіленнями методології Agile. Порівнювати їх дорівнює порівнянню двох різних підходів. У той час як порівняння Agile та Scrum – це про загальну методологію та її конкретне втілення», – пояснив Матіас Маршал.

 

Резюмуємо: Agile не є синонімом Scrum, оскільки має ширше та загальне поняття – це методологія, яка поєднує цілий ряд підходів та технік, а Scrum – конкретна техніка розробки проєктів, що містить покрокову інструкцію дій, зафіксовану на 12 сторінках The Scrum Guide. Кожне речення, кожен абзац цієї інструкції має підґрунтя і глибоке розуміння процесів розробки проєкту, взаємодії між членами команди, встановлення цілей та способів їх досягнення тощо. Саме завдяки цій інструкції можна структурувати роботу команди.

 

Суть же Agile базується на Agile Manifesto – документі, що описує чотири головні цінності та 12 принципів гнучкої розробки.

 

А як щодо відмінностей між Agile і традиційною методологією управлінням проєктами Waterfall? 

 

Так, справді, Waterfall – це також методологія управління проєктами, як і Agile. Однак різниця між ними є, що й спонукає менеджерів обирати один із них. Agile – це гнучкий та ітераційний підхід до управління проєктами. Ітераційність означає розподіл процесу на певні етапи (які й називають ітераціями, спринтами), і кожного такого етапу відбувається SDLC – життєвий цикл розробки програмного забезпечення. Під гнучкістю ми розуміємо швидке та ефективне реагування на зміни вимог від замовника та умов роботи над проєктом.

 

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

 

Я підтримую методологію Agile, адже живемо в час швидких змін. Більшість сучасних проєктів вимагають певного рівня «маневрування», а значить треба вміти маневрувати😊

 

 

Назвіть основні переваги Agile.

 

Власне принципи методології, вказані вище, можна назвати перевагами підходу. Різке зростання в застосуванні Agile аналітики зафіксували у 2021 році – тоді кількість команд, що працює за методологією становила 86%, на противагу 37% у 2020 році. Як ви розумієте, популярність підходу тільки зростає.

 

Чому ж Agile всі люблять? Як на мене, тому що він:

 

  • ідеально підходить невеликим проєктам та стартапам. Їхньою особливістю є динамічна зміна поставлених завдань, швидке реагування на нові запити (від ринку, користувачів чи замовника) та проактивна діяльність команди
  • забезпечує ефективне використання часу та грошей. Зменшення витрат на ранніх етапах розробки допомагає ефективніше управляти бюджетом та ресурсами проєкту. Великі проєкти поділяються на легко керовані етапи. Розробки кодуються та тестуються під час спринту.
  • швидко адаптується до змін. По суті, Agile створена, щоб можна було за необхідності відійти від початкового плану, уникнути бюрократичних перешкод при узгодженні змін, які часто затягують процес. Завдання в Agile можуть змінюватися кожен спринт, а команда використовує зворотний зв’язок та ретроспективи, щоб навчатися на власному досвіді та покращувати процеси.

 

 

А які недоліки має?

 

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

 

Agile-техніки можуть виявитися недоцільними для масштабних проєктів, де вимоги чи середовище змінюються дуже рідко. У складних статичних проєктах, де потрібно суворо дотримуватися плану, Agile може бути менш ефективним. До таких, наприклад, належать проєкти у сферах InsurTech, FinTech.

 

Обираючи методологію Agile та підхід Scrum, чого слід дотримуватися командам?

 

По перше, розуміти роль Scrum-майстра та його важливість. На мою думку, останнім часом з’явилася тенденція недооцінювання спеціалістів зі Scrum. У зв’язку з тим, що не всі менеджери проходили відповідне навчання, їхня роль звелася до керування мітингами та задоволення командних забаганок. Але Scrum Guide відводить Scrum-майстра дуже важливе місце, саме як особи, що відповідальна за правильний Scrum-процес. 

 

По-друге, слідувати цінностям Scrum. Саме цей компонент дуже часто ігнорують у команді, що призводить до так званого Scrum but, типу «В нас Scrum, але ми не проводимо мітинги щодня» або «Ретроспективи неефективні, тому ми просто зробимо одну в кінці випуску». Звісно, певні відхилення від визначених принципів є законними й це визнають автори Scrum. Але командам вкрай важливо розуміти наслідки змін, які вони вносять. 

 

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

 

 

Поділіться порадами, які допоможуть впровадити Scrum в роботу команди.

 

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

 

Друге, навчайте та розвивайте команди. Scrum-майстер має надати доступ до онлайн-ресурсів або до зібраного заздалегідь матеріалу, де співробітники можуть докладно вивчити Scrum. До того ж Scrum-майстер виступає і в ролі ментора, який може проводити фасилітаційні сесії щодо розуміння цінностей скраму. Якщо впровадження проводиться одразу в компанії, то слід звернутися до профільних фірм, які допоможуть впровадити поцес та зекономлять час та кошти.

 

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

 

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

 

  • Чи проводить команда всі мітинги, регламентовані Scrum?
  • Чи розуміє команда цінності й чи використовує їх?
  • Чи достатньо в них ресурсів для розробки?
  • Чи проводяться сесії із замовниками для визначення цілей проєкту, створення беклогу, визначення тривалості спринта тощо?

 

П’яте, проводьте моніторинг та оцінку процесу. Раджу організовувати регулярні аудити для перевірки дотримання Scrum-принципів.

 

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

 

 

Існує думка, що Scrum корисний тільки Scrum-майстрів. Чи так це?  

 

Якщо ви не є Scrum Master, який безпосередньо відповідає за впровадження підходу, ви можете покластися на те, що у вашій команді буде все ж хтось, хто допоможе зрозуміти основні засади Scrum. Але на практиці буває інакше. Брак досвіду як у Scrum-майстрів, так і у членів команди призводить до невдалих проєктів і незадоволення клієнтів. 

 

Тому яку б позицію ви не займали в ІТ сфері, володіння Scrum є дійсно необхідною навичкою. Загалом філософія Agile та Scrum відкриває двері до побудови гармонійних взаємовідносин на різних проєктах, а також безумовно підвищує ваші soft skills.  І це все ви зможете опанувати на курсі «Agile: Scrum Framework = Глибокі знання + Практичні кейси» .

 

Навчальний матеріал дібрано так, щоб навчатися було легко й тим, хто має досвід в ІТ, і новачкам. Під час занять 30% часу ми приділимо увагу Agile та його філософії, 40% самому підходу Scrum, а далі урізноманітнюємо навчання фасилітаційними практиками, техніками роботи в команді та цілеутворення, які можна використовувати на проєктах і навіть в житті. Буде пізнавально й цікаво. Приходь! 

Цей матеріал ще ніхто не прокоментував

Може, ти станеш першим?

Залишити коментар