Scrum
Зміст
Agile: підхід Scrum
- «Скрам — це фреймворк управління, згідно з яким одна чи декілька кросфункціональних команд створюють продукт поетапно». В команді може бути близько семи людей
- «У скрамі є система ролей, подій, правил і артефактів. У цій моделі за створення й адаптацію робочих процесів відповідають команди».
- «У скрамі використовуються ітерації фіксованої тривалості, які називаються спринтами. Зазвичай вони займають 1-2 тижні (не більше 1 місяця). Скрам-команди прагнуть створювати готовий до релізу (якісно протестований) інкремент продукту в кожній ітерації».
Скрам — не лінійний метод розробки; це не каскадна модель. Каскадна модель (англ. waterfall) — лінійна послідовність подій, коли продукт планують, розробляють, тестують і так далі в суворій послідовності. Жоден наступний етап не починається, допоки не завершено попередній.
За скрамом, продукт розробляють не зразу весь, а невеликими, готовими до релізу частинами, кожну з яких завершують протягом короткої ітерації або спринту.
У скрам-фреймворку аджайл-розробки чотири основні переваги:
- Відгук на потреби клієнта. Компанії-розробники програм добре знайомі з вимогою «зробити на вчора». Традиційні організації, які працюють за методом водоспаду, вбудовують важливі фічі й функції у розклад з двома релізами на рік — і через це часто втрачають клієнтів. Ті, що не пішли зразу, можуть зостатися невдоволеними й покинути вас з часом, коли зустрінуть більш відповідального конкурента. Працюючи короткими й частими циклами, ви можете надавати клієнтам продукти практично зразу за вимогою, а також швидше адаптуватися до нових вимог.
- Зменшення вартості розробки. Aджайл і скрам довели свою економічність і ефективність. У цих моделях ролі розробників більш різноманітні, адже невеликі одиниці можна ефективно тестувати тією ж командою, котра їх розробила. Спеціалізація зникає чи скорочується, скорочуючи витрати.
- Задоволення роботою. Постачаючи продукти швидко, команда переживає ситуацію успіху щоразу, коли роботу виконано і представлено до релізу. Кожна команда розробки знає, як це приємно. Зі скрамом команда радіє релізу не двічі, а як мінімум дванадцять разів на рік.
- Більше швидких доходів. Кошти від клієнтів також надходять не двічі на рік, а значно частіше. Нові фічі також можна додавати частіше, завдяки чому вдається приводити більше клієнтів і швидше обробляти їхні особливі потреби.
Як працює структура скраму
Скрам як фреймворк управління проєктами базується на тому, що самоорганізовані команди постачають закінчені продукти у фіксовані терміни, які також називаємо спринтами. Щоб успішно застосовувати скрам, потрібно використовувати його структуру. Вона складається з ролей, подій, артефактів і правил.
Ролі в скрамі
- Власник продукту — апологет продукту, який повністю розуміє його цінність для бізнесу. Ця людина доносить потреби замовника і стейкхолдерів до розробників, але не відповідає за технічний бік процесу. Власник продукту також відповідає за історії користувачів і визначає їх пріоритетність.
- Розробники виконують всі технічні задачі. Вони кросфункціональні, їхня кросфункціональність залежить від області роботи. Так чи інакше, розробники завжди відповідають за створення беклогу спринту, забезпечення якості відповідно до визначення готового, адаптацію плану щодо цілі спринту і власні експертні зони відповідальності.
- Скрам-майстер виступає фасилітатором роботи скрам-команди. Скрам-майстер допомагає власнику продукту і розробникам виконувати роботу без перешкод і відволікаючих факторів. Уся комунікація людей з-поза команди з командою розробки відбувається через скрам-майстра. (Часом скрам-команди взаємодіють у форматі скраму скрамів, коли скрам-майстри команд мають власні окремі зустрічі).
Події в скрамі
- Спринт (Sprint) — самісіньке серце скраму, де ідеї набувають цінності. Всередині спринту виконується вся робота, необхідна для досягнення цілі продукту, в тому числі планування спринту, дейлі скрами, огляд і ретроспектива спринту.
- Планування спринту (Sprint Planning) — в ньому беруть участь усі члени скрам-команди. На цій зустрічі відбувається презентація продукту. Кожен член команди може висловитися про те, що цікавить або турбує його. Під час зустрічі встановлюються пріоритети й оцінюються терміни.
- Дейлі скрам (Daily Scrum) — скрам-події, які проходять щодня під час спринтів. Вони короткі (до 15 хвилин) і призначені для планування денного розкладу розробників. На цих зустрічах обговорюють робочі труднощі, пояснюють незрозумілі історії користувачів. Дейлі є обов’язковим для розробників. Присутність скрам-майстра необов’язкова.
- Огляд спринту (Sprint Review) — демонстрація діючого продукту, розробленого протягом спринту. Ця подія відбувається наприкінці спринту і призначена в першу чергу для того, щоб детально продемонструвати досягнення стейкхолдерам.
- Ретроспектива спринту (Sprint Retrospective) — щось схоже на розтин. Це обговорення того, як команда спрацювала протягом спринту, і пошук, як підвищити якість її роботи в майбутньому.
На додаток до цих подій під час спринту команди можуть проводити також уточнення беклогу (Backlog Refinement) — обговорювати елементи беклогу й готуватися до наступного спринту. В рамках цієї зустрічі можна обговорити пріоритетність елементів і розділити елементи беклогу на дрібніші складові.
Артефакти
Aртефакти скраму — це робота, яку потрібно виконати, щоб завершити проєкт або спринт. Завдяки їм інформація про проєкт залишається прозорою для всіх, хто над ним працює.
Існує три обов’язкові/основні артефакти у скрамі — беклог продукту, беклог спринту й інкремент. Вони необхідні, щоб постачати програмне забезпечення, яке буде цінним для ваших замовників. Є й необов’язкові артефакти, які, втім, можуть полегшити життя вашої команди (наприклад, берн-даун чати).
Aртефакти спринту і їх компоненти — це:
- Беклог продукту — всі необхідні дії, пов’язані з користувацькою і технічною сторонами проєкту.
- Беклог спринту — сукупність всіх задач, які потрібно виконати протягом ітерації спринту. Його отримують із беклогу продукту під час планування спринту.
- Інкремент — це сума всіх елементів беклогу продукту, виконаних під час спринту, а також цінність інкрементів усіх попередніх спринтів. До закінчення спринту новий інкремент має бути готовий, тобто працездатний і відповідний визначеним раніше критеріям готовності.
- Елемент беклогу продукту — частина роботу, яку слід виконати протягом ітерації спринту. Зазвичай розбивається на декілька малих задач.
- Ціль спринту — те, що треба зробити, щоб виконати елемент беклогу продукту.
- Бьорн-даун чат спринту — робота, що залишається до повного виконання задач спринту. Бьорн-даун чат може мати висхідний або низхідний характер, залежно від того, з чим стикається команда при виконанні задачі. Він слугує не звітом про прогрес команди, а методом подолання труднощів і підтримки активності.
- Реліз продукту/бьорн-даун чат продукту — наприкінці кожного спринту оновлюється скрам-майстром. Горизонтальна вісь відповідає спринтам, вертикальна — показує, скільки роботи (на початку кожного спринту) залишилось до кінця проєкту.
Правила скрам-фреймворку
Ролі, події й артефакти — основні правила скраму, та є й інші, що також підвищують ефективність процесу:
- Скрам-команда складається тільки з власника продукту, скрам-майстра і команди розробки;
- усі спринти повинні мати однакову тривалість;
- по завершенню одного спринту відразу ж починається інший;
- кожен спринт починається з планування спринту. Команда розробки щоранку проводить дейлі скрам;
- у кожному спринті проводиться огляд спринту, щоб стейкхолдери могли надавати зворотний зв’язок;
- доповнювати беклог спринту під час спринту — не найкраща практика.
Обмеження в скрамі
- Scrum часто спричиняє скорочення об’єму робіт через відсутність загального дедлайну проєкту;
- високі шанси провалити проєкт, якщо команда не надто зацікавлена чи не готова до співпраці;
- застосовувати структуру Scrum у великих командах складно, але можливо. Для цього існують фреймворки масштабування: LeSS, SAFe, Nexus та інші;
- якщо один із членів команди звільниться під час проєкту, це може дуже негативно вплинути на проєкт.