Які проблеми ми хочемо вирішити, впроваджуючи Scrum?
- Наші завдання зазвичай громіздкі, і часто ми не знаємо, як за них взятися.
- Відсутність декомпозиції великого завдання на менші = відсутність плану виконання. Відсутність плану виконання = нереалістична оцінка, невизначені блокери, неспрогнозовані гіпотетичні ризики.
- Через нереалістичні оцінки ми ніяк не можемо виміряти швидкість команди, тому не можемо вдало спрогнозувати, яке навантаження взяти, щоб вчасно і якісно поставити ПЗ.
- Неправильна декомпозиція (на таски більше 16год) змушує нас переносити батьківські таски із саб-тасками із спринта в спринт (бо саб-таски не можуть бути перенесені окремо від батьківської). Створюється враження, що прогрес дуже малий, і що команда постійно не встигає і не доводить роботу до кінця.
- Ми не даємо описів до завдань, і потім важко зрозуміти, до чого воно відносилось.
Врахувавши основні принципи Scrum, нижче запропоновано спосіб його застосування у нашому проекті.
Scrum Events
Тип події | Ціль | Учасники |
Daily meeting |
| PM, Dev Team |
Product vision session |
| PM, PO, Tech Lead |
Backlog refinement |
Як декомпозувати?
| PM, Dev Team |
Sprint planning |
Суть планування - реалістично оцінити завдання і взяти в роботу тільки те, що команда встигне зробити за спринт, слідуючи Definition of Done. Definition of Done - набір критеріїв, яким має відповідати завдання, щоб команда могла вважати його виконаним. Приклад DoD:
Кожен член команди комітиться на свої таски, і перед стартом спринта команда підтверджує, що цей обсяг роботи є реалістичним, і що всі завдання зрозумілі. | PM, Dev Team |
Sprint review |
| PO,PM, Dev Team |
Типи завдань
Epic | використовується для маркування великих шматків функціоналу, значних оновлень або ключових етапів проекту. Відображається на card layout як у беклозі, так і у спринті. |
Bug | використовується для bug reports (потрібно створити шаблон репорту) |
User story | завдання, яке описує потребу користувача і як її втілити, і написане доступною мовою зрозумілою мовою. Оскільки наші продукти технічні, і кінцевим користувачем є QA (Testlum) і розробники (JBT, Profile API), наші user stories мають технічний характер і не завжди будуть зрозумілими нетехнічним спеціалістам, однак у суті своїй кожному тіммейту має бути ясно, що ми хочемо досягнути тою чи іншою user story. Як писати user story?
|
Sub-task | використовується як найменша одиниця декомпозиції завдання; створюється розробником, якщо є потреба виділити якийсь крок технічної реалізації. |
Task | використовується для виключно тих завдань, які спрямовані на підтримку актуального коду і його якості. Такі завдання лежать в інтересах як бізнесу, так і розробників. Вони зазвичай є необхідними для нормального функціонування продукту, але у них важко виділити пряму бізнес ціль. У таких завданнях є комерційна вигода, бо з якісним кодом у нас буде нагода в рази швидше потім робити новий функціонал. |
Підходи до оцінки
- Оцінка в годинах
- PERT або триточкова: Optimistic (O), Most Likely (M), and Pessimistic (P). Формула: (O + 4M +P) / 6.
- Story points
Що таке story points, і чому їх використовувати?
- Story points оцінюють зусилля, а не час. Оскільки story point - це відносна оцінка: завдання, яке треба оцінити, співставляють по складності із схожим завданням у минулому, і це дає розуміння його складності (ми завжди співвідносимо те, що нам потрібно оцінити, до речей, які ми вже знаємо і оцінювали).
- Рекомендовано використовувати послідовність Фібоначчі як одиниці вимірювання (1, 2, 3, 5, 8, 13, 21 і так далі). Багато команд використовують розміри футболок (S, M, L, XL), або якісь інші одиниці.
- На основі кількох спринтів ми легко можемо виміряти швидкість команди (сума усіх завдань). Це дозволить робити кращі оцінки і прогнози на наступні спринти.
- Наприклад: на sprint review взяти останні 5 user story, які мають однакову оцінку у story points - і порівняти, чи дійсно ці завдання вимагали однакових зусиль. Якщо ні, то обговорити, чи враховуємо ми всі нюанси при оцінці.
- Деякі команди намагаються зіставити story points з годинами – наприклад, 2 story points відповідають завданню, яке займе 2-4 години, а 3 story points можна зіставити із завданнями тривалістю від 4 до 8 годин і так далі.
- Окрема user story чи task не повинно тривати більше 16 годин роботи або більше ніж 21 story points.
Action items
- виписати ідеї які відносяться до технічного боргу і у яких важко визначити бізнес цінність (це і буде технічними тасками)