Що так чудового в Agile? Буквар про гнучку методологію

Agile Визначте як Agile Системи управління, які існували деякий час, але останнім часом набули валюти. Насправді, Agile Management послідовно представлений у Тенденціях провідного управління проектами майже кожного блогу управління ІТ-проектами щороку.

Застосування Agile в ІТ-проектах безперечно, оскільки воно знаходить застосування не лише в ІТ-програмних проектах, але і в розробці та інноваційному продукті.

То що ж такого чудового в Agile? Запитайте співробітників, які перейшли від традиційної системи до Agile, і вони можуть спокусити постійні зустрічі та «наради про зустрічі».

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

Це рекламується як лікувальний засіб для загальних проблем, які стикаються з проектами, пов'язаними з ІТ. Що це саме і наскільки це краще, ніж традиційні системи?

Потреба у гнучкої методології - практики управління

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

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

Практика Agile Management стала потребою години, оскільки вони задовольнили наступні потреби продукту, запущеного в динамічному середовищі:

  • Потрібна швидкість, щоб досягти товару на ринок
  • Необхідність гнучкості для урахування кількох змін технічних характеристик
  • Недоліки в сценарії "розподілу праці"
  • Дилема замовника
  • Потреба у зменшенні витрат

Потреба в швидкості, щоб досягти товару на ринок:

Ми живемо в умовах швидкого темпу, де гнучкість та швидкість є ключовими для успіху.

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

Організації та команди, які не є динамічними, програють гонку тим, хто перетворює себе на відповідність мінливому середовищу.

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

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

Розподіл праці:

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

Дилема замовника:

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

Потреба у зменшенні витрат:

Традиційно зміни вимог в будь-який час після початку проекту були відмовлені. Скоріше, витрати на будь-який додатковий компонент були високими, іноді непомірно. Тому було обов'язково включити всі можливі сценарії на сам етап планування. Це означало, що всі сценарії були розглянуті та запропоновано рішення. Але оскільки точно неможливо точно знати, якій частині продукту користувач віддасть перевагу, команди часто розробляли «роздуті версії» продукту. Це містило всі можливі сценарії, з яких типовий користувач використовував би не більше 20%. Це призвело до зайвих витрат і розвитку.

Потрібно говорити, що це означало, що всі проекти були глобальними у своєму плануванні.

І коли з'явився абсолютно новий незапланований сценарій, все-таки з’явилися додаткові витрати, незважаючи на все планування.

У лютому 2001 року група людей зібралася, щоб обговорити саме це: необхідність гнучкої та гнучкої моделі розробки програмного забезпечення, яка допомогла б розробити продукти, які фактично працювали для клієнта та розробника. Результатом цього став «Agile Manifesto», який спричинив переваги розробки програмного забезпечення методології, тобто набору з чотирьох принципів, настільки ж простих, як і описових. Було також розроблено дванадцять "Agile принципів", що пояснюють, як Agile системи насправді працюватимуть у проектному середовищі.

Завдяки цій роботі ми оцінили:

  • Індивіди та взаємодія над процесами та інструментами
  • Працює програмне забезпечення над всеосяжною документацією
  • Співпраця з клієнтами щодо укладання договорів
  • Відповідаючи на зміни протягом наступного плану

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

12 спритних принципів

12 Agile Princips - це сукупність керівних концепцій, що стоять за Agile Manifesto, які підтримують проектні групи в реалізації Agile проектів. Вони є:

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

Приклад проектного управління, що потребує спритності

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

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

Кілька команд можуть також працювати над одним додатком, так що час розробки різко скорочується.

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

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

Як саме працює Agile Management?

Хоча Agile Management в основному називається ІТ-концепцією, його використання не обмежується ІТ-індустрією. Наприклад, мережа роздрібної торгівлі одягом Zara використовувала принципи Agile Management для перетворення свого бізнесу.

Використовуючи принципи Agile, Zara виготовляла продукцію невеликими партіями, а не зосереджувалась на великому виробництві до нового сезону. Компанія уникала витрат, пов'язаних з високим рівнем запасів та непередбачуваними пропозиціями знижок цим методом.

Деякі з ключових аспектів управління Agile Project - це:

  • Agile Project Management керується гнучким підходом.

Agile Management вітає доповнення та зміни протягом усієї розробки продукту замість того, щоб відповідати його оригінальним специфікаціям.

  • Спритні проекти, як правило, діляться на окремі шматки роботи, причому команди, які беруть участь у розробці одного або декількох цих "шматочків" роботи.

Таким чином, можливо, наприклад, чотири команди, які працюють одночасно над різними частинами проекту, щоб скоротити терміни проекту. Команди щодня координують один одного та з клієнтом для отримання результатів.

  • Щоденно проводяться зустрічі з приводу прогресу та перешкод на шляху постійного відгуку.

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

  • Більш активна участь членів команди, а не підхід зверху вниз.

В рамках життєвого циклу розробки програмного забезпечення члени команди беруть участь у всіх етапах: вимоги, розробка, розробка та тендітна методична перевірка. Оскільки регулярно проводиться огляд ефективності виконання завдань, члени команди відповідно коригують поведінку та процедури.

  • Профіль керівника проекту в проекті Agile зміниться від традиційної ролі.

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

Кілька слів про Scrum:

Scrum - одна з найпопулярніших рамок для впровадження методу Agile. Що таке Agile методологія? Це було раніше Agile, і вперше було запропоновано в 1986 році і було впроваджене в автомобільній та принтерній промисловості.

Agile методологія з scrum не є синонімом; Є й інші рамки, які можна використовувати для реалізації Agile, але Scrum - одна з найефективніших і, мабуть, найпопулярніших. Що таке scrum? Зазвичай Scrum має лише три ролі: Власник продукту, Команда та Майстер Scrum. Майстер методології Scrum не є керівником проекту. Обов'язки традиційної ролі менеджера проектів розподілені між трьома ролями управління проектами Scrum. Проект вбудований у серію ітерацій фіксованої довжини, що називаються спринтами. Успіх кожного спритного методологічного спринту викликає відчуття відчутного прогресу та постійного натхнення. Мета кожної ітерації - створити робочий продукт, який можна продемонструвати зацікавленим сторонам. Швидкий майстер розбору методів працює з власником продукту та командою, щоб полегшити виконання цілей, усуваючи дорожні пробки. Команда розробки гнучкої методології є багатофункціональною і включає розробників, тестерів, дизайнерів та інженерів-операторів.

Традиційне управління проектами: Водоспад

Однією з найвідоміших традиційних систем управління проектами є Водоспад. Він часто використовувався з 1970-х. Існує кілька відомих і широко впроваджених методологій водоспаду в ІТ-проектах. До них належить PRINCE2, який був створений урядом Великобританії для свого державного сектору.

Як і випливає з назви, це послідовний робочий процес. Кінцевий продукт фіксується на початку проекту. Потім різні етапи робочого процесу виконуються послідовно (ініціювання задуму, аналіз, проектування, побудова, тестування, впровадження та обслуговування). Після завершення попереднього кроку розробники переходять до наступного кроку. План проекту повинен бути дурним доказом; Після завершення етапу послідовності розробники не можуть переглянути те саме, не починаючи все заново. Це статичний підхід до гнучкої методології управління проектами. Тут немає місця для змін і помилок, і проектний проект проекту методології повинен бути ретельно дотримуватися.

Аналогію можна провести між Управління водоспадом та малюванням шедевра. Образ остаточного шедевра вже в думці художника, і він наполегливо працює до нього. Якщо з будь-якої причини кінцевий продукт відрізняється від того, який він візуалізував, він не може легко його змінити.

Спритний чи водоспад?

  • Що таке Agile? Agile більше підходить для невеликих команд, що працюють над поступовими та еволюційними проектами, тоді як Водоспад підходить для великих схем або проектів розвитку. Управління водоспадом може бути краще підходить для таких галузей, як будівельна галузь. Agile використовується в більш динамічних проектах, таких як ІТ-індустрія.
  • Agile системи вимагають висококваліфікованих членів команди, які можуть впоратися з усіма фазами проекту. Це вимагає кардинальної зміни в ролі керівника проекту. Процес водоспаду структурований більш традиційним способом, є лінійним і, можливо, легше зрозуміти для не розробників та тих, хто не в розробці програмного забезпечення.
  • Багато організацій вважають методологію водоспаду втішною, оскільки це краще задокументовано. Agile відомий тим, що не наголошує на великій документації. Це більше залежне від людей, що може неприємно в організаціях, де рівень виснаження високий.
  • Для менших прямих проектів може не знадобитися Agile методологічна база, і послідовна модель водоспаду може також працювати.

Куди це все йде?

За результатами опитування HP, проведеного в травні 2015 року, методологія Agile Development складає більше двох третин усіх ІТ-проектів у США.

Але Agile не завжди є ідеальним рішенням. Це не є рішенням "для всіх", і в результаті багато організацій (24% згідно опитування HP) прийняли гібридний підхід.

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

Марк Фромсон, цифровий консультант, вказує на інший спосіб роботи гібрида:

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

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

Джерело:

Про маневреність Agile та 12 Agile принципів - www.agilemanifesto.org

Схожі курси: -

Agile Project Management - Вивчіть Agile методології