НА: Фреймворки Agile і гнучкі методології
Agile - це методологія розробки, заснована на ітеративному та поступовому підході.
Agile розробка програмного забезпечення широко сприймається як середовище, де працює невелика, але експертна команда з розробки проектів.
У процесі Agile керівництво відіграє життєво важливу роль.
Порівняно з Scrum - це більш жорсткий метод. Тому місця для частих змін не так багато.
Agile передбачає співпрацю та взаємостосунки між членами різних міжфункціональних команд.
Agile може зажадати багатьох передових процесів розвитку та організаційних змін.
Agile метод потребує частої доставки продукту клієнтові для зворотного зв'язку.
У цьому методі кожен етап розвитку, як вимоги, аналіз, проектування, постійно контролюється протягом життєвого циклу.
Керівник проекту контролює всі завдання у методології Agile.
Метод Agile заохочує зворотний зв'язок від замовника під час процесу. Таким чином кінцевий продукт стане якіснішим.
Поставляйте та оновлюйте програмне забезпечення регулярно.
Проектування та виконання повинні бути простими.
У методі Agile пріоритетним є завжди задоволення замовника, забезпечуючи постійну доставку цінного програмного забезпечення.
Робоче програмне забезпечення - найелементарніший показник прогресу.
Найкраще спілкуватися віч-на-віч, а такі методики слід використовувати, щоб максимально наблизитися до цієї мети.
Принципи методології Agile:
-Дозволяється змінювати вимоги, навіть на пізніх стадіях розробки. Agile процеси умоєливлюють зміни відповідно до конкурентних переваг замовника.
-Бізнесмени та розробники співпрацюватимуть щодня впродовж проекту.
-Увага до технічної досконалості та правильного дизайну підвищує швидкість виконання замолвення.
- Команда Agile працює над тим, щоб стати ефективнішою, для того, щоб бути в змозі коригували свою поведінку відповідно до проекту.
Методологія Kanban
Система канбан, продовжуючи приносити користь на виробничих конвеєрах, проникла в сферу програмного забезпечення.
Тільки картки, на яких вказані інформація про терміни виконання, опис або номер процесу і ім'я виконавця, тепер прикріплюються ні до тарі з запчастинами, а до дошки з розкресленими колонками:
Беклог - завдання, які треба виконати
Завдання, які в даний момент розробляються
Завдання, які виконані, але ще не передані тестувальникам
Завдання, готові до передачі відділу тестування
Завдання, які проходять перевірку проект-менеджером (ПМ)
виконані завдання
Переваги та недоліки канбан
Kanban має такі переваги:
Гнучкість планування. Команда концентрується тільки на поточну роботу, пріоритет завдання виставляється менеджером.
Висока залучення команди в процес розробки. Завдяки постійним зборам, прозорості процесів і можливостям самоорганізації працівники гуртуються і проявляють щирий інтерес.
Менша тривалість циклу. Якщо кілька людей має схожі навичками, тривалість скорочується, якщо ж тільки один - з'являється вузьке місце. Тому співробітники повинні ділитися знаннями і тим самим оптимізувати тривалість циклу. Тоді вся команда зможе взятися за роботу, яку забуксувала, і відновити плавний потік.
Менше вузьких місць. Ліміти РВП дозволяють швидко знаходити вузькі і проблемні місця, які з'явилися через дефіцит уваги, людей або навичок.
Наочність. Коли всі виконавці мають доступ до даних, то вузькі місця легше помітити. Kanban-команди, крім самих карток, зазвичай використовують два загальних звіту: графіки управління і сукупного потоку.
Канбан має і недоліки:
система погано працює з командами чисельністю понад 5 осіб
він не призначений для довгострокового планування.
Scrum - одна з найпопулярніших методолгій гнучкої розробки. Одна з причин її популярності - простота.
ролі
У методології Scrum всього три ролі:
Scrum Master
Product Owner
Team
Скрам Майстер (Scrum Master) - найважливіша роль в методології. Скрам Майстер відповідає за успіх Scrum в проекті. По суті, Скрам Майстер є інтерфейсом між менеджментом і командою. Як правило, цю роль в проекті відіграє менеджер проекту або тімліда. Важливо підкреслити, що Скрам Майстер не роздає завдання членам команди. У Agile команда є самоорганізується і самоуправлямой. Основні обов'язки Скрам Майстра:
Створює атмосферу довіри
Бере участь в мітингах в якості фасилітатора
усуває перешкоди
Робить проблеми і відкриті питання видимими
Відповідає за дотримання практик і процесу в команді
НА: Фреймворки Agile і гнучкі методології
Основними принципами гнучких методологій є :
Люди важливіше процесу.
Продукт важливіше документації.
Клієнти важливіші за контракти.
Гнучкість важливіше чітко затвердженого плану
Основними перевагами є, те що гнучкі методології дозволяють забезпечити швидке отримання принаймні частково пацючої системи, працювати зі змінами у вимогах до проєкту, а також підтримувати зв'язок з замовником
Основними недоліками є те, що: дані методології менш добре працюють на довгих проектах, те, що проєкт може надто затягнутись внаслідок внесення постійних правок, також відсутність детальної документації по проєкт
НА: Фреймворки Agile і гнучкі методології
Визначення пріоритетів дуже важливо, по суті це і є найголовніше в Agile. Вам потрібно переконатися, що команда сфокусована на одному спринті або на найбільш важливому на даний момент результаті. Це буде гарантією того, що ви досягнете ваших бізнес-цілей. Так ваша команда не загубиться в потоці запитів і вимог і буде знати, що кожна подзадача, над якою вона працює в даний момент, важлива для прогресу всього проекту.
Призначені для користувача історії поставляються або безперервно, або маленькими циклами, які називаються спринті.
НА: Фреймворки Agile і гнучкі методології
Практично всі аgile-команди сконцентровані в одному офісі (bullpen). Офіс включає product owner - замовника, який і визначає вимоги до продукту. У ролі замовника може виступати бізнес-аналітик, менеджер проекту або клієнт. Крім того, в офіс можуть входити і дизайнери інтерфейсу, тестувальники, технічні письменники. Тобто методи Agile спрямовані в першу чергу на безпосереднє спілкування.
Основний метрикою agile-методів є робочий продукт. Віддаючи перевагу безпосередньому спілкуванню, agile-методи зменшують обсяг письмової документації в порівнянні з іншими методами.
Основні ідеї:
— люди і взаємодія важливіше процесів та інструментів;
— працюючий продукт важливіше вичерпної документації;
— співпраця з замовником важливіше узгодження умов контракту;
— готовність до змін важливіше проходження попереднім планом.
Головні переваги Agile:
1. Якість web-продукту
Залучення замовника в процес кожної ітерації дає можливість коригувати процес, що незмінно підвищує якість.
2. Висока швидкість розробки
Ітерація триває не більше 3-х тижнів, до кінця цього терміну обов'язково є результат.
3. Мінімізація ризиків
Великий проект дає можливість замовнику сплатити кілька ітерацій і в ході роботи зрозуміти, що він вчасно отримає саме те, що хоче і за прийнятну ціну. Водоспадні моделі (із застосуванням специфікацій і технічних завдань) таких можливостей не дають.
Замовник завжди має можливість спостерігати за ходом розробки, коригувати фунуціональная проекту, тестувати або запускати його, навіть може зупинити його в будь-який момент.
НА: Фреймворки Agile і гнучкі методології
Переваги методики Agile:
- короткі і зрозумілі ітерації: цикли розробки тривають від 2 тижнів до 2 місяців, по закінченню яких замовник отримує робочу версію продукту
- висока ступінь залучення виконавців, організаторів і замовників проекту
- головним стоїть робочий продукт як основний показник прогресу — це можна розглядати як плюс, так і мінус, адже в такому випадку до команди проекту висуваються високі вимоги по самоорганізації
- мінімізація ризиків завдяки гнучкій системі внесення змін.
До недоліків можна віднести:
- підвищені вимоги до кваліфікації і досвіду команди: крім безпосередньо створення продукту команда повинна аналізувати можливі способи поліпшення ефективності власної роботи, безперервно обмінюватися інформацією по проекту, бути вмотивованою і самоорганізованою. Далеко не завжди ресурси проекту дозволяють залучити таких фахівців
- складність підрахунку підсумкової суми робіт: стимуляція змін і вдосконалення кінцевого продукту призводить до плаваючого значення вартості проекту.
- стимулювання постійних змін проекту: гнучкість розробки продукту може призвести до того, що він ніколи не дійде до фінальної версії
НА: Фреймворки Agile і гнучкі методології
Практично всі аgile-команди сконцентровані в одному офісі (bullpen). Офіс включає product owner - замовника, який і визначає вимоги до продукту. У ролі замовника може виступати бізнес-аналітик, менеджер проекту або клієнт. Крім того, в офіс можуть входити і дизайнери інтерфейсу, тестувальники, технічні письменники.
Основними недоліками є те що проект може надто затягнутись внаслідок внесення постійних правок, тому що методологія гірше працює на довгострокових проектах.
Головні переваги Agile це Якість web-продукту та залучення замовника в процес кожної ітерації дає можливість коригувати процес, що незмінно підвищує якість, також висока швидкість розробки.