Agile відноситься до ітеративної моделі розробки. Вона передбачає інкрементальне створення проєкту з початку робіт. Це головна відмінність методології від каскадних моделей, за яких код доставляється наприкінці циклу.
Agile демонструє гнучкий підхід у створенні робочого процесу. Головна мета методології: скоротити прорахунки, спрогнозувати потенційні зміни та, по можливості, максимально безболісно впровадити їх у робочий процес. Хороший приклад такої роботи — Scrum, про який більш докладно в цій статті. У методології виділяють 3 основні характеристики:
- мінімізація ризиків та втрат;
- робота короткими циклами з постійним зворотним зв'язком;
- самоорганізація команди розробників.
Окрім перерахованих вище особливостей добре характеризують методологію її цінності:
- люди та взаємодія важливіші за процеси та інструменти;
- робочий продукт важливіший за документацію;
- співпраця з клієнтом важливіша за погодження умов контракту;
- готовність до змін важливіша за проходження початкового плану.
Це непорушні цінності методології. Як бачите, вони сформульовані таким чином, щоб анітрохи не зменшувати важливість того, що зазначено праворуч, але акцентувати на пріоритетності того, що ліворуч. Наприклад, документація важлива в роботі, але пріоритет все ж таки повинен бути на робочий продукт. Але це далеко ще не все. Набагато більше можна дізнатися про методологію Agile з її принципів.
Гнучкість
Орієнтир на умови, що постійно змінюються, — основа Agile-методології. Зміни у вимогах всіляко вітаються та схвалюються. Головна мета – задовольнити запит замовника та потреби користувачів.
Мотивація
Це те, на чому тримається проєкт. У головній ролі виступає PM. Його мета проста, але її реалізація складна — мотивувати команду та вести постійну комунікацію з власником продукту.
Стійність
Ітерації — рівні проміжки часу — забезпечують стійкість. Тобто власник бізнесу отримує готові опції з однаковою періодичністю.
Простота
Попри постійну динаміку в процесі та лояльність до змін Agile пропагує простоту в роботі. Іншими словами не варто робити те, що не зазначено у вимогах. Завжди є спокуса зробити більше, ніж потрібно, але це не зіграє на користь. Методологія заохочує самоорганізацію, зміни, але не вихід за межі.
Відмінними прикладами Agile методології є Scrum та Kanban. Важко сказати, хто з них популярний більше. Найчастіше застосовується гібридний спосіб організації робочого процесу. Все залежить виключно від особливостей проєкту чи продукту.