Agile маніфест та принципи
У 2001 группа людей (нижче картинка з авторами) визначила маніфест та 12 принципів розробки програмного забезпечення.
Далі привожу опис безпосередньо з сайту, а пізніше розмеремо до чого призвели ці правила. Зʼявилось більше 50-ти різних Agile фреймворків, ці принципи вийшли за рамки тільки розробки програмного забезпечення, а незатухаючі батли Agile(vs)Waterfall в ITшних кругах йдуть і досі.
Але почнемо безпосередньо з опису з офіційного сайту.
Ми постійно відкриваємо для себе досконаліші методи розробки програмного забезпечення, займаючись розробкою безпосередньо та допомагаючи у цьому іншим.
Agile маніфест
Завдяки цій роботі ми змогли зрозуміти, що:
- Люди та співпраця важливіші за процеси та інструменти
- Працюючий продукт важливіший за вичерпну документацію
- Співпраця із замовником важливіша за обговорення умов контракту
- Готовність до змін важливіша за дотримання плану
Тобто, хоча, цінності, що справа важливі, ми все ж цінуємо більше те, що зліва.
- https://agilemanifesto.org/iso/uk/manifesto.html
12 Принципів Agile
Ми дотримуємось таких принципів:
- Найвищим пріоритетом для нас є задоволення потреб замовника,
шляхом завчасного та регулярного постачання програмного забезпечення. - Схвальне ставлення до змін, навіть на заключних стадіях розробки.
Agile-процеси надають можливість використовувати зміни задля забезпечення конкурентоспроможності замовника. - Працюючий продукт слід випускати якомога частіше,
з періодичністю від пари тижнів до пари місяців. - Впродовж усього проекту розробники і представники бізнесу
повинні працювати разом щодня. - Над проектом повинні працювати вмотивовані професіонали.
Щоб робота була виконана, створіть їм умови, надайте підтримку і повністю на них покладіться. - Особиста комунікація – найефективніший та найпрактичніший
метод як донести інформацію до команди, так і поширити її всередині. - Працюючий продукт – головний показник прогресу.
- Інвестори, розробники і користувачі повинні мати можливість підтримувати постійний ритм як завгодно довго. Agile допомагає
налагодити такий сталий процес розробки. - Постійна увага до технічної досконалості і якості проектування
підвищує гнучкість проекту. - Простота – мистецтво мінімізації зайвої роботи – вкрай необхідна.
- Найкращі вимоги, архітектурні та технічні рішення виникають у командах, що здатні самоорганізовуватись.
- Команда регулярно намагається знайти способи підвищення ефективності та відповідно корегує свою роботу.
На базі цих принципів виникла велика кількість Agile фреймворків. Деякі з них помилково відносять до них, але часто згадують. Помилково бо беякі виникли задовго до появи Agile маніфесту
Переваги Agile
Деякі з основних переваг гнучких методів роботи включають в себе наступні:
- Це створює взаємодію між клієнтами та кінцевими користувачами та підвищує задоволеність клієнтів
- Це часто може підтримувати зміни культури в організаціях
- Забезпечує більшу гнучкість, що дозволяє краще контролювати проект і здатність адаптуватися до мінливих потреб замовника або потреб бізнесу
- Зменшує відходи у вигляді зустрічей і заходів, які витрачають час і не приносять користі проекту або кінцевому продукту
- Підтримує більш швидке виявлення помилок та інших проблем, що означає більш швидкий час виконання, коли справа доходить до їх виправлення
- Забезпечує більшу підзвітність та різноманітність ідей