Що таке Agile розробка?
Автори Agile Manifesto вибрали «Agile» в якості ярлика для всієї цієї ідеї, тому що це слово являло адаптивність і реакцію на зміни, які були так важливі для їх підходу .
Якщо не вдаватися в технічні деталі, то Agile — це не методологія, а збірна назва різних методик і підходів до управління, які:
- Фокусують команду на потребах і цілях клієнтів.
- Спрощують оргструктуру та процеси.
- Пропонують роботу короткими циклами.
- Активно використовують зворотний зв’язок.
- Припускають підвищення повноважень співробітників.
- Мають у своїй основі гуманістичний підхід.
- Не є кінцевим станом, а, скоріше, спосіб мислення і життя.
Agile-методи або Agile-процеси зазвичай сприяють процесу управління проектами, який заохочує філософію лідерства, яка заохочує командну роботу, самоорганізацію та підзвітність. Гнучка розробка відноситься до будь-якого процесу розробки, який узгоджується з концепціями Agile Manifesto.
Agile Manifesto містить 4 основні ідеї і 12 принципів. Примітно, що Agile Manifesto не містить практичних порад.
Основні ідеї:
- люди і взаємодія важливіше процесів та інструментів;
- працюючий продукт важливіше вичерпної документації;
- співпраця з замовником важливіше узгодження умов контракту;
- готовність до змін важливіше проходження початкового плану.
- Принципи, які роз’яснює Agile Manifesto:
- задоволення клієнта за рахунок ранньої та безперебійної поставки цінного програмного забезпечення;
- привітання змін вимог навіть у кінці розробки (це може підвищити конкурентоспроможність отриманого продукту);
- часта постачання робочого програмного забезпечення (кожен місяць або тиждень або ще частіше);
- тісна, щоденне спілкування замовника з розробниками протягом всього проекту;
- проектом займаються мотивовані особи, які забезпечені потрібними умовами роботи, підтримкою і довірою;
- рекомендований метод передачі інформації — особиста розмова (обличчям до обличчя);
- працює програмне забезпечення — кращий вимірювач прогресу;
- спонсори, розробники і користувачі повинні мати можливість підтримувати постійний темп на невизначений строк;
- постійну увагу поліпшенню технічного майстерності і зручного дизайну;
- простота — мистецтво не робити зайвої роботи;
- кращі технічні вимоги, дизайн та архітектура виходять у самоорганізованої команди;
- постійна адаптація до мінливих обставин. Команда повинна систематично аналізувати можливі способи поліпшення ефективності і відповідно коригувати стиль своєї роботи.
Agile Development – одне з ключових слів в індустрії розробки програмного забезпечення, яке являє собою спосіб управління проектами розробки програмного забезпечення. Замість конкретного методу розробки програмного забезпечення, це загальний термін для набору методів і практик, заснованих на цінностях і принципах, виражених в Agile Manifesto.