Методологія Agile: гнучке рішення

29 0 Новини високих технологій

У сучасному бізнесі панує філософія гнучкості. Ранній випуск продукту і швидка зворотній зв'язок від клієнтів – запорука успішної торгівлі і високих прибутків. Для правильної організації робочого процесу розроблено ряд прийомів, об'єднаних загальною концепцією готовності до змін. Agile-методології зародилися в сфері інформаційних технологій, але вже підтвердили свою ефективність в різних секторах ринку.

Філософія Agile

У перекладі з англійської назва концепції означає "швидко і легко рухатися, думати або розуміти". У російській мові міцно прижилося визначення "гнучкий". Ховаються під терміном Agile methodology підходи і прийоми спрямовані насамперед на забезпечення чуйності продукту до запитів покупців. Коли ситуація на ринку змінюється, гнучкий товар змінюється слідом за ним і швидко отримує визнання.

Agile vs Waterfall

У природі, техніці, звичайному житті всі процеси відбуваються послідовно, проходячи через ряд етапів. Бізнес спочатку прийняв цю концепцію, що отримала назву "каскадна модель" або "модель водоспаду" (waterfall model), і багато років успішно їй слідував. Спочатку йшли фази планування і проектування, потім продукт реалізовувався, перевірявся і впроваджувався. Від початку до кінця процесу могли проходити роки.


Методологія Agile: гнучке рішення
В сучасному бізнесі – це вірний шлях до краху. Клієнт не готовий чекати, він хоче отримати продукт прямо зараз. Більш того, споживач мінливий, непостійний, сьогодні він хоче одне, а завтра - інше. Якщо при кожній зміні доведеться заново запускати весь цикл робіт, продукт ніколи не вийде в світ. В кінці 20-го століття найбільш динамічно розвивається сферою ринку була розробка програмного забезпечення. Тут найгостріше відчувалася потреба в змінах. З'явилося відразу декілька нових підходів до організації виробничого процесу, прагнуть піти від моделі водоспаду. Вони відрізнялися в деталях, але були надзвичайно схожі в головному. Знадобилося деякий час, щоб зібрати їх воєдино і створити єдину філософію. У 2001 році В штаті Юта в США групою розробників був створений і оприлюднений "Маніфест agile-методології розробки ПЗ", відомий як Agile Manifesto. Він не містив жодного конкретної вказівки, як слід працювати. Замість цього позначалися базові ідеї та принципи, яких потрібно дотримуватися.


Ідеї і принципи Agile

У "маніфесті" сформульовано чотири цінності методології:
  • Люди важливіше речей і процесів.
  • Продукт важливіше документації, яку ніхто не читає.
  • Співробітництво важливіше контракту.
  • Постійна готовність до змін.
  • Методологія Agile: гнучке рішення
    Ці базові ідеї докладніше розкриваються в принципах:
  • Головний пріоритет роботи – задоволення потреб клієнта.
  • Головне умова роботи – щоденне спілкування розробників і замовника на рівних.
  • Робота повинна вестись короткими ітерації, що дозволяє оперативно вносити зміни у вимоги.
  • Працюючий продукт є головним показником прогресу і повинен випускатися як можна частіше.
  • Кожен член команди розробників повинен бути мотивований.
  • Запорука успіху – простота та якісне виконання.
  • Постійний моніторинг роботи команди з метою збільшення продуктивності і корекції помилок.
  • Сам по собі agile – це не конкретна методологія, а єдина філософія управління проектами, спосіб мислення. Це гуманістичний підхід, що враховує як потреби, так і інтереси людей.

    Приклад гнучкої організації

    Розглянемо принципову схему гнучкого управління проектом в його рідній сфері розробки програмного забезпечення. Важливо правильно розподілити ролі:
  • Власник продукту – людина, яка точно знає, що повинно вийти в результаті, і може це пояснити команді.
  • Команда – невелика група фахівців, здатних створити продукт.
  • Майстер, координатор - людина, що стежить за правильною організацією робочого процесу відповідно до прийнятої методології.
  • Agile development починається з складання бэклога - повного списку вимог власника до кінцевого продукту на поточний момент. У процесі роботи в бэклог можуть вноситися зміни, додаватися нові пункти, віддалятися неактуальні, змінюватися пріоритети.
    Методологія Agile: гнучке рішення
    Проводиться перше зібрання клієнта і команди розробників під наглядом майстра. Список вимог розглядається, коригується. На першій зустрічі робляться попередні оцінки часових витрат, великі цілі розбиваються на складові частини, складається карта цілей. Методологія Agile передбачає итеративную розробку: короткі спринти тривалістю від тижня до місяця. Перед кожною ітерацією формується перелік конкретних завдань, над якими працюватиме команда. До кінця спринту зміни в цей список вже не вносяться. Результатом роботи має бути працездатний продукт, який можна представити споживачеві.
    Під час роботи команда щодня влаштовує короткі обов'язкові збори, де кожен учасник розповідає, що він робив вчора в рамках завдань спринту, що буде робити сьогодні і з якими проблемами зіткнувся. Це дозволяє кожному члену команди розуміти, чим займаються інші. По закінченні спринту влаштовується зустріч, на якій власнику продукту пред'являються результати роботи. Потім команда проводить ретроспективу – аналізує минулий ітерацію, обговорює проблеми.
    Методологія Agile: гнучке рішення

    Недоліки гнучкого управління

    Методології Agile володіють величезним потенціалом, якщо їх правильно застосовувати. Ця обмовка не випадкова, не даремно існує величезна кількість бізнес-тренінгів щодо «застосування Agile». Важливо розуміти суть гнучкої філософії, а не слідувати досконально кожній букві Agile Manifesto. Бездумне використання принципу «продукт важливіше документації» може призвести до повної відсутності документації проекту і абсолютного хаосу. «Готовність до змін» часом виливається в постійні переробки продукту з-за примх клієнта. Грамотне застосування гнучких методик здатне розкрити потенціал будь-якого проекту і зробити його успішним.