fbpx

1.4. Agile

Термін

Визначення

Agile

Буквально — гнучкий. Це радше не SDLC модель розробки програмного забезпечення, а підхід: гнучкий підхід до виконання завдань замовника, де вимоги можуть змінюватися, результат видимий швидко і є предметом до обговорення і покращення, робота гнучко реорганізується на користь ефективності й швидкості результату, а не на користь дотримання процесу.

Agile розуміють як використання на проекті гнучких підходів, таких як Scrum, Kanban, Extreme Programming та інших, в яких вимоги і рішення розвиваються на основі співпраці між собою учасників самоорганізованої, крос-функціональної команди. Це сприяє адаптивному плануванню, еволюційному розвитку, ранньому наданню продукту, постійному вдосконаленню, дозволяє швидко і гнучко реагувати на зміни.

Sprint

Це відрізок часу, який береться для виконання сформованого списку завдань. Рекомендується брати 1-4 тижні (тривалість визначається командою один раз).

Backlog

Це список всіх робіт. Можна сказати, що це проектний щоденник загального користування.

методологія Agile
Малюнок5. Схема роботи в Agile

Plan the Next Iteration Планування наступної ітерації — планування робіт для наступної ітерації.

Product Backlog Список завдань по продукту — створення повного списку всіх загальних завдань, при реалізації яких ми отримаємо кінцевий продукт.

Sprint Planning Планування спринта — планування завдань на Спринт, в якій береться кілька найважливіших загальних завдань з Product Backlog, які реалістично виконати протягом періоду стринта (1-4 тижні), ці завдання в свою чергу розбиваються на дрібніші і детальніші робочі завдання. Як результат, створюється Sprint Backlog.

Sprint Backlog Список завдань на спринт — це список завдань, який визначено і погоджено на найближчий звітний період. Завдання в спринт-беклог беруться з Product Backlog.

Sprint Спринт — це період, коли завдання виконуються: пишеться код, тестується, виправляються помилки, перетестовуються і т.д. Що не зроблене в поточному спринті потрапляє або в Product Backlog, або в наступний спринт, залежно від важливості. Спринти повторюються ітеративно (циклічно).

Potentially Shippable Software Програмне забезпечення потенційно готове до відправки клієнту — в кінці спринту отримується готовий до показу клієнту продукт, демонструється клієнту, отримуються зауваження, що формує роботу на наступний спринт. Якщо клієнт повністю задоволений, чи поспішає — може забрати вже цей продукт.

Agile Manifesto

Agile маніфест базується на 10 принципах:

  1. Задоволення потреб клієнта за допомогою раннього і постійного надання цінного програмного забезпечення.
  2. Вітаються зміни вимог, навіть на пізніх фазах розробки.
  3. Робоча програма віддається клієнту часто (тижні, а не місяці).
  4. Близька, щоденна співпраця між людьми бізнесу та розробниками.
  5. Проекти будуються навколо мотивованих індивідів, яким довіряють.
  6. Особиста розмова є найкращою формою спілкування.
  7. Робоча програма є основним критерієм прогресу.
  8. Постійна розробка, що в змозі підтримувати сталий темп.
  9. Постійна увага до технічної досконалості і хорошого дизайну.
  10. Простота  мистецтво максимізації обсягу роботи, яку не треба робити – важлива!

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

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