Agile маніфест та принципи

У 2001 группа людей (нижче картинка з авторами) визначила маніфест та 12 принципів розробки програмного забезпечення.

Далі привожу опис безпосередньо з сайту, а пізніше розмеремо до чого призвели ці правила. Зʼявилось більше 50-ти різних Agile фреймворків, ці принципи вийшли за рамки тільки розробки програмного забезпечення, а незатухаючі батли Agile(vs)Waterfall в ITшних кругах йдуть і досі.

Але почнемо безпосередньо з опису з офіційного сайту.


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

Agile маніфест

Завдяки цій роботі ми змогли зрозуміти, що:

  • Люди та співпраця важливіші за процеси та інструменти
  • Працюючий продукт важливіший за вичерпну документацію
  • Співпраця із замовником важливіша за обговорення умов контракту
  • Готовність до змін важливіша за дотримання плану

Тобто, хоча, цінності, що справа важливі, ми все ж цінуємо більше те, що зліва.

- https://agilemanifesto.org/iso/uk/manifesto.html

12 Принципів Agile

Ми дотримуємось таких принципів:

  1. Найвищим пріоритетом для нас є задоволення потреб замовника,
    шляхом завчасного та регулярного постачання програмного забезпечення.
  2. Схвальне ставлення до змін, навіть на заключних стадіях розробки.
    Agile-процеси надають можливість використовувати зміни задля забезпечення конкурентоспроможності замовника.
  3. Працюючий продукт слід випускати якомога частіше,
    з періодичністю від пари тижнів до пари місяців.
  4. Впродовж усього проекту розробники і представники бізнесу
    повинні працювати разом щодня.
  5. Над проектом повинні працювати вмотивовані професіонали.
    Щоб робота була виконана, створіть їм умови, надайте підтримку і повністю на них покладіться.
  6. Особиста комунікація – найефективніший та найпрактичніший
    метод як донести інформацію до команди, так і поширити її всередині.
  7. Працюючий продукт – головний показник прогресу.
  8. Інвестори, розробники і користувачі повинні мати можливість підтримувати постійний ритм як завгодно довго. Agile допомагає
    налагодити такий сталий процес розробки.
  9. Постійна увага до технічної досконалості і якості проектування
    підвищує гнучкість проекту.
  10. Простота – мистецтво мінімізації зайвої роботи – вкрай необхідна.
  11. Найкращі вимоги, архітектурні та технічні рішення виникають у командах, що здатні самоорганізовуватись.
  12. Команда регулярно намагається знайти способи підвищення ефективності та відповідно корегує свою роботу.

На базі цих принципів виникла велика кількість Agile фреймворків. Деякі з них помилково відносять до них, але часто згадують. Помилково бо беякі виникли задовго до появи Agile маніфесту


Переваги Agile

Деякі з основних переваг гнучких методів роботи включають в себе наступні:

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