Основні процеси при роботі з Scrum
Всього в Scrum використовується 4 базові процеси:
- Планування спринту
- Щоденний скрам-мітинг
- Демо спринту
- Ретроспектива
Що таке спринт? У легкій атлетиці спринт – коротка дистанція. У Scrum використовується ітераційна модель життєвого циклу проекту, а ітерації називають спринтами, т.к. вони досить короткі у часі – від одного до чотирьох тижнів. Конкретну тривалість спринту обирає команда проекту. Як правило, команда намагається працювати зі спринтами різної тривалості, а потім вибирає ту тривалість, яка їй зручна, і до кінця проекту її не змінює. Не змінювати тривалість спринтів – дуже важливо, т.к. команда звикає працювати з тим самим темпом і видавати результат після закінчення кожного спринту.
В Інтернеті повно статей про те, як команди планують спринт. Нічого нового я не напишу, проте зазначу моменти, які на практиці видалися важливими.
Отже, команда маєжурнал продукту. У цьому журналі власник продукту щодня наводить лад: додає нові історії, розставляє пріоритети щодо них, а команда може допомагати йому в цій роботі.
При плануванні спринту команда має на себе взяти стільки зобов'язань щодо виконання історій з журналу продукту, скільки вона може реально реалізувати за один спринт.
Для того, щоб спланувати спринт команді потрібно знати:
- Обсяг робіт з кожної історії, яку команда збирається реалізувати у спринті
- Швидкість команди
- Кількість годин, яка є у команди на спринт
Учасники команди, скрам-майстер та власник продукту збираються в одному приміщенні. У кожного учасника команди нарук є колода карт. Можна використовувати спеціальну колоду карт для покеру, в якій значення цифр підібрані по ряду Фібоначчі, або адаптувати класичну колоду покерних карт.

У спеціальній покерній колоді, як ви вже помітили, не всі значення карт відповідають ряду Фібоначчі: наприклад, число ½ не відповідає ряду, так само як і числа, починаючи з «20» (нагадаю, у ряді Фібоначчі сума двох попередніх чисел має давати таке число ). Це зроблено свідомо, т.к. якщо робота займає, на думку експерта, дуже багато часу, то це буде 21 година або 20 вже не дуже важливо. Тим більше це не має значення для значень у 40 або 100 годин – трудовитрати занадто великі, і крок після «20» навмисно обраний дуже великим. У колоді є кілька цікавих карток. Наприклад, карта "?" означає, що експерт не розуміє суть історії і не готовий зробити оцінку, а "кавова чашка" означає, що експерт дуже хоче зробити брейк і попити каву (або чаю), "0" - означає, що ця історія вже реалізована або вона настільки проста що її можна зробити за пару хвилин.
Отже, власник продукту зачитує історію з найвищим пріоритетом із журналу продукту та відповідає на запитання учасників покерного планування. Учасники планування ділять історію завдання, після чого власник товару просить оцінити трудовитрати перше завдання історії. При цьому учасники заздалегідь домовляються про те, в яких одиницях робитимуть оцінки трудомісткості завдань: в ідеальному годиннику або в story points. Кожен учасник, роблячи оцінку, думає у тому, скільки особисто він пішло часу на реалізацію завдання. Зробивши оцінку, експерт повинен витягнути картку з цифрою, яка відповідає цій оцінці, але при цьому покласти її сорочкою вгору, щоб ніхто не бачив цифру. Наприклад, я оцінюювиконання завдання о 8 людино-годин. У цьому випадку я витягаю з колоди картку із цифрою 8.
Після того, як усі учасники витягли карти та поклали їх сорочкою вгору, карти розкриваються та власник продукту оголошує результати. Мета процедури - зблизити думку учасників, тому власник продукту просить висловитися учасника, у якого вийшла найнижча оцінка. Учасник розповідає у деталях, як він планує реалізувати завдання за оцінений ним же час. Іноді виявляється, що учасник неправильно зрозумів вимоги до результатів завдання, іноді він описує дуже витончений підхід, що вимагає менше витрат, ніж інші підходи до виконання завдання. Після цього власник товару просить висловитися учасника, який зробив найвищу оцінку. Після висловлювань двох учасників, як правило, вимоги до результатів завдання стають зрозумілішими, і команда найчастіше вибирає конкретний підхід до реалізації завдання. Власник товару просить учасників обговорення ще раз оцінити трудовитрати і проводиться другий тур голосування. Найчастіше розкид оцінок після другого туру зменшується. Після проведення другого туру можна зупинитися, усереднити оцінки учасників та перейти до оцінки наступного завдання.
Так команда оцінює всі історії, які, на їхню думку, вони можуть встигнути реалізувати за спринт. Мій досвід використання покерного планування показав, що воно дає дуже непогану точність оцінок, особливо якщо їх роблять люди, які добре розуміють предметну область і мають приблизно одну й ту саму кваліфікацію.
На одному з проектів, де ми використовували планування покеру, ми досягли того, що команда, яка робила оцінки робіт на спринт, приблизно через 8 спринтів вийшла на значення Focus factor рівного 100%. Це означає, що всі взяті зобов'язання на спринтвиконувались, а фактичні трудовитрати по завданням були практично рівні прогнозним.
Також для того, щоб правильно спланувати спринт, а саме не набрати на себе надто багато роботи, команди повинна знати свою швидкість. Про вимір швидкості я вже писав в одній зі своїх статей.
І третя важлива річ при плануванні спринту – це розуміння того, скільки годин має команда на спринт. На практиці при розрахунку цього значення наша команда розраховувала, скільки годин кожен учасник команди може працювати в наступному спринті, а потім ми підсумовували цей годинник і множили на значення усередненого Focus factor попередніх спринтів. Як ви вважаєте, навіщо це робилося? Ми планували обсяг робіт в ідеальному годиннику, а наш світ не ідеальний. І для обліку не ідеальності нашого робочого середовища ми множили всі наявні команди на наступний спринт час на середнє значення Focus factor. Цей показник називається capacity спринту. При плануванні спринту ми відбирали завдань кількість годин, не перевищує розрахункове значення capacity.
Отже, результатом планування спринту стає журнал спринту.
Можна, звичайно, удосконалити підхід до планування спринту, але впевнений, що навіть якщо Ви впровадите те, що описано вище, ви отримаєте відчутний результат!