Scrum складається з окремих етапів роботи, результатом яких стає готовий продукт. Ітеративність, одна з головних особливостей фреймворку, дозволяє демонструвати продукт замовнику після кожного етапу. Своєю чергою замовник може виявити та вказати на наявні проблеми або частково чи повністю змінити функціональність. Для більшої наочності пропонуємо розглянути кожен етап окремо.
Перший етап - product backlog
Беклог продукту — це список вимог до продукту, що розробляється. Його елементи - користувальницькі історії або user story - впорядковані за ступенем важливості та мають свій унікальний ID. Крім того, проводиться попереднє оцінювання user story – initial estimate, та спосіб, що описує те, як можна продемонструвати виконані завдання. Попередня оцінка обсягу робіт - initial estimate - вимірюється в story point.
Другий етап - sprint planning та sprint backlog
На другому етапі визначається тривалість спринту. Якщо вона буде короткою, це дозволить частіше випускати продукт, а отже, швидко отримувати відгуки від замовника і визначати помилки в роботі. Довгі ітерації дозволяють присвятити більше часу проблемам, що виникли. Щоб зробити правильний вибір, можна вивести середній показник. Як правило, тривалість спринту становить близько 2 тижнів. На цьому етапі комунікація між замовником та scrum-командою відіграє важливу роль: клієнт визначає пріоритетність завдань, а розробники – обсяг роботи.
Плануючи спринт, команда звертається до product backlog і вибирає найпріоритетніші завдання — user story. Крім того, розробники визначають як виконуватимуться поставлені цілі. Вибрані користувальницькі історії йдуть у беклог спринту. Важливо розуміти, що кількість user story, які потраплять у беклог спринту, впливає як їх пріоритетність, а й обсяг гаданих робіт. До уваги береться тривалість користувачів історії в story point, щоб кожну user story встигли виконати до кінця спринту.
Третій етап - робота над спринтом та scrum meetings
Коли визначено актуальні user story, починається процес розробки. Це третій етап роботи. Найпростіше його реалізувати, використовуючи наочні способи візуалізації - картки та таблиці, вони можуть бути різного розміру, кольору. Таблиця поділяється на кілька категорій:
- Stories;
- To Do;
- In Progress;
- Testing;
- Done.
Це приклад того, як може виглядати таблиця. Категорії можуть відрізнятися залежно від специфіки проєкту.
На картці вказано назву конкретної історії або описано окреме завдання, необхідне для реалізації user story. До речі, даний момент візуалізації відомий як Kanban. Потім залишається лише переміщати картку з однієї категорії в іншу, залежно від того, на якому етапі знаходиться рішення завдання.
Це найпростіший спосіб, який можна реалізувати підручними засобами. Але є й інший спосіб — спеціальне програмне забезпечення, наприклад, Atlassian JIRA.
Ще одна важлива особливість процесу розробки – це scrum meetings. Це своєрідна нарада, де кожен розробник інформує колег про те, яке завдання зараз у роботі, що вже виконано і що планує робити.
Четвертий етап - ретроспектива
Після всіх робіт проводиться демонстрація продукту замовнику. Останній, своєю чергою, залишає відгуки та враження. Ретроспектива ґрунтується на відгуках про продукт, й покликана покращити процес розробки, щоб уникнути проблем. Крім того, scrum-команда шукає ефективні шляхи роботи. Після ретроспективи команда розпочинає планування наступного спринту, і так по колу. Як бачите, scrum досить динамічний та гнучкий фреймворк. Для нього характерний безперервний розвиток та клієнтоорієнтованість. Це призводить до оптимізації процесу розробки або доводить його до досконалості.