1. Що таке Scrum?
Ви вже зрозуміли, що в розробці багато чого стандартизовано. А що, як я скажу вам, що стандартизовано взагалі все? Ідеться навіть не лише про імена змінних і функцій — хоча їх теж стандартизують.
Є методологія розробки — вона називається Agile, а її популярна реалізація — Scrum. Scrum ще називають фреймворком: він визначає всі процеси в команді. Коли мають бути зустрічі, хто на них має бути присутнім, що саме потрібно обговорювати, якими мають бути результати та в якому вигляді їх слід зафіксувати.
«А навіщо стільки стандартизації?» — спитаєте ви. По-перше, ви працюєте у високотехнологічній сфері. По-друге, так простіше взаємодіяти одне з одним. А по-третє, у назві вашої професії .NET Software Engineer зверніть увагу на останнє слово — інженер. Саме звідси й береться така увага до стандартів.
2. Як виглядає робота за Scrum
Scrum — це гнучка методологія управління проєктами, яку часто використовують у розробці програмного забезпечення. Вона спирається на ітеративні та інкрементні процеси.
Scrum ділить проєкти на цикли (етапи) розробки, які називаються спринтами. Зазвичай вони тривають від двох до чотирьох тижнів. Кожен спринт починається з планування завдань, які потрібно виконати, і завершується презентацією, де команда демонструє досягнуті результати.
Ключові елементи Scrum охоплюють ролі, події та артефакти.
- Основні ролі — це Product Owner, який визначає вимоги до продукту; Scrum Master, який підтримує процес відповідно до правил Scrum; і команда розробників, що виконує роботу.
- Основні події — це щоденні зустрічі (daily meetings), планування спринтів, ретроспективи та демонстрації результатів роботи.
- Артефакти включають беклог (список завдань) продукту, беклог спринта та інкремент продукту.
Не лякайтеся! Хоча регламентування всього на світі може виглядати трохи загрозливо, працювати за Scrum легко й приємно. Scrum розвʼязав основний конфлікт між розробниками та замовниками (або власниками продукту).
Розробники завжди просили залишити їх у спокої й дати можливість зосереджено працювати. А власникам продукту потрібно було терміново додати нові функції, щось змінити або провести якийсь експеримент.
Scrum поділив розробку на стабільні періоди — спринти (зазвичай два тижні). Протягом одного періоду розробники виконують лише ті завдання, які запланували на поточний спринт. Якщо замовнику потрібно терміново щось зробити, він додає ці запити до наступного спринта.
3. Sprint & Scrum Board
Sprint — це основний цикл розробки в Scrum тривалістю від одного до чотирьох тижнів. Як ми вже говорили, протягом цього періоду команда працює над виконанням конкретного набору робіт із беклога продукту.
На початку кожного спринта відбувається планування, під час якого команда обирає завдання з беклога продукту та зобовʼязується їх виконати. Спринт завершується демонстрацією зробленого та ретроспективою: команда аналізує процес і шукає способи поліпшити роботу в наступному спринті. Такий підхід дає змогу регулярно оновлювати продукт і швидко реагувати на зміни вимог та пріоритетів.
Під час поточного спринта розробники та власник продукту мають зібратися на зустріч і обговорити завдання для наступного спринта.
Backlog, або беклог, — це список усіх завдань, які потрібно виконати. У Scrum розрізняють беклог продукту, що містить усі вимоги до продукту (функції), і беклог спринта, який складається із завдань, обраних для реалізації в поточному спринті. Беклог — це «живий» документ: його регулярно оновлюють і переглядають, щоб він відповідав поточним бізнес-цілям і умовам ринку.
Беклог поточного спринта часто показують у вигляді Scrum Board — певної дошки із завданнями та статусами. Дошку поділяють на стовпці, які зазвичай відповідають етапам виконання завдань: «До виконання», «У процесі», «На перевірці» та «Виконано». Це дає змогу всій команді бачити прогрес і легко помічати будь-які труднощі в робочому процесі.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ