Як підійти до спалення завдання scrum, коли в завданнях залучено кілька людей?


12

У моїй компанії жодного завдання ніколи не може виконати одна людина. Кожне завдання буде переглядати окрему особу з питань контролю якості та коду. Це означає, що кожна людина дасть свої оцінки за кожне завдання щодо того, скільки часу знадобиться для її виконання.

Проблема полягає в тому, як я повинен підходити до вигорання? Якщо я згуртував години разом, припустимо наступну оцінку:

10 годин - Dev час

4 години - QA

4 години - Огляд коду.

Оцінка завдань = 18 год

В кінці кожного дня я прошу, щоб завдання оновлювалося «скільки часу залишилось до його виконання». Однак кожна людина взагалі просто думає про свою частину. Чи повинні вони відзначити зусилля, що залишилися, а потім додати оцінки до цього? Як ви це робите?

ОНОВЛЕННЯ

Щоб допомогти з’ясувати декілька речей, у моїй організації на кожне завдання в рамках історії потрібно 3 людини.

  1. Хтось розробить завдання. (зробіть одиничні тести, тощо ...)
  2. Спеціаліст із контролю якості для перегляду завдання (вони в першу чергу роблять інтеграційні та регресійні тести)
  3. Технічний привід зробити перевірку коду.

Я не думаю, що є неправильний шлях чи правильний шлях, але це наш шлях ... і це не зміниться. Ми працюємо як команда, щоб завершити навіть найменший рівень історії, коли це можливо. Насправді ви не можете перевірити, чи щось працює, поки не буде завершено розробку, і ви також не можете переглянути якість коду ... тому найкраще, що ви можете зробити, - це розділити речі на невеликі логічні фрагменти, щоб можна було перевірити мінімальний функціонал і розглянуто якомога раніше в процесі.

Моє запитання до тих, хто працює таким чином, було б як спалити "завдання", коли вони налаштовані таким чином. Якщо у Завдання немає власних підзадач (яких JIRA не дозволяє) ... я не впевнений, що найкращий спосіб щодня відстежувати "те, що залишилося".


8
Не могли б ви описати, який ваш процес? Ми ніколи не використовуємо години в плануванні Scrum, і ніколи не повідомляємо про години, що залишилися. Завдання виконуються, коли вони закінчені.
dcaswell

1
@ user814064: Добре. Кожного разу, коли я бачив команди, які оцінювали кожне завдання, вони завжди розуміли це неправильно. Іноді коефіцієнтом 1/10 і більше.
Арсеній Муренко

Цей процес для мене новий. У минулому ми спалювали завдання, коли воно було закінчене. ЯКЩО я намагаюся заохотити людей покращити свою оцінку. Ми можемо оглянути свої оцінки і порівняти їх з нашими фактичними і, сподіваємось, навчитися на цьому. Це може бути безрезультатним починанням, але я хочу те, щоб команди намагалися ненадовго спробувати.
AgileMan

Це важко пояснити, чому ви не повинні робити цього в кількох символах, яким ви можете ввести тут. Оцінка - це саме те, що випливає з назви: це розпливчасто, це показник, і ви не можете покращити його будь-яким змістовним, збалансованим за витратами зусиллями. Адже це називається "оцінка", а не "обчислення". Я б радив вам прочитати публікації Ніла Кілліка на #NoEstimates: neilkillick.com/2013/01/31/…
Стефан Білліет

Відповіді:


14

Це 3 завдання, а не одне.

Це може бути одна особливість / історія, але це три завдання. Одне завдання може виконати одна людина за обмежений час.


@ user814064: це не припущення; ОП перелічила оцінки для кожного завдання на посаді
Стівен А. Лоу

Я мав би бути більш конкретним ... це ВЖЕ на рівні завдань. Наприклад, КОЖНЕ завдання (невеликий фрагмент історії) потрібно розробити, перевірити та переглянути. Незважаючи на те, що завдання було виконано однією особою ... інші витратять час, щоб переконатись у її виконанні. Я гадаю, ви можете зробити так, щоб у кожного завдання були свої завдання ... але я не впевнений, як це би спрацювало.
AgileMan

3
@AgileMan: у світі здорового глузду завдання - це єдина одиниця роботи, яку може виконати одна людина, а три завдання послідовно трьома різними людьми - це проект. У світі scrum ... це те саме. (наприклад, www.scrumalliance.org/community/articles/2007/march/glossary-of-scrum-terms#1129). Story-1-dev, Story-1-QA-review і огляд коду Story-1 - це 3 різні завдання. Якщо ви маєте змоделювати завдання з трьох частин, можливо, доречні будуть 3 різних діаграми прогону;)
Стівен А. Лоу

Якщо це потрібно на рівні завдань, вам дійсно потрібно попрацювати над своїм визначенням зробленого та розбити свої завдання. Потрібно простий так / ні, щоб знати, чи завдання виконано, а не процес через декількох людей.
SpoonerNZ

7

TL; DR

Ви використовуєте згоряння неправильно кількома способами. Завдання та розповіді виконуються або не виконуються; намагаючись відстежити відхилення від оцінок планування, що базуються на часі, у процесі згоряння ви фактично переоцінюєте свій графік, а не оцінюючи залишився робочий продукт.

У Scrum вам слід вимірювати прогрес до досягнення цілі спринту, а не вимірювати таймфрейм спринту. Це дозволяє зосередити увагу на потенціалі команди та доставці функцій, а не на постійних налаштуваннях планування.

Завдання проти оповідань

Ви плутаєте завдання та історії. Історії містять усі завдання, необхідні для завершення розповіді, відповідно до "визначення вашої команди". Історія вважається 100% незавершеною, якщо всі її завдання не виконані. У Scrum історії завжди певним чином оцінюються; найчастіше вони оцінюються в балах історії.

Завдання - це кроки або основні етапи, необхідні для завершення розповіді. Хоча кожне завдання може мати залежності та передумови, ви, звичайно, можете сказати, що перевірка коду завершена чи ні, незалежно від інших завдань.

Випалювати

У Scrum, ваша схема згоряння показує кількість роботи, що залишилася для спринту чи проекту. Справжні графіки вигорання часто мають плато; в деяких випадках графік може навіть піднятися. Наприклад, на тижневому спринті з двома історіями вартістю 3 та 5 балів ваші точки даних можуть виглядати приблизно так:

Mon | Tue | Wed | Thu | Fri
--- | --- | --- | --- | ---
 8  |  5  |  5  |  5  |  0

У цьому ідеалістичному сценарії ви починаєте з 8 історій. 3-бальна історія завершилася у вівторок вдень, тоді як 5-бальна історія була завершена до п’ятниці. Точки історії не вилучаються із спалювання, поки історія не відповідає визначенню зробленого. Якщо ви використовуєте ідеальні години замість сюжетних точок, єдине, що змінюється, - це ваш масштаб.

Бокс-тайм

Загальноприйнята практика полягає в тому, щоб забезпечити, щоб ваші завдання були розкладені на шматки розміром від укусу між 1/2 дня та 2 днів. Відхилення більше одного дня повинно бути очевидним із щоденних резервних дій або відставання спринту; не повинно бути необхідним здійснювати офіційний статус статусу.

Ви також можете провести статистичний аналіз на графіку згоряння, щоб визначити, чи правильно рухається ваш спринт. Невеликі відхилення або плато є нормальними, але якщо ніхто не піднімає блокатори в щоденних процедурах, але ваше згоряння здається застряглим, це, як правило, ознака того, що Блокування спринту було неправильно оцінено або є "невидима робота", потрібно чітко вказати у вашому процесі.


Я не думаю, що ми повністю згодні. Звичайно, діаграма перегородок вимірює прогрес до досягнення мети спринту ... але це робиться шляхом вимірювання прогресу на конкретних спринтських історіях. Як правило, ви можете спалити, коли історія на 100% завершена, або ви можете спалювати години на кожну історію щодня, коли робота закінчується. Я намагаюся зробити останнє ... але мені здається, що командам це складно зробити. Я відчуваю, ніби ваша публікація відхиляється від питання, яке я спочатку задав.
AgileMan

Один із ризиків не допустити завдання закрити 100% - це виконати 100% своїх завдань 99%, що означає, що насправді нічого не зроблено
hanzolo

1
@AgileMan Ви вважаєте це "складним завданням для команд", оскільки ви вимірюєте неправильну річ. Ви, звичайно, можете застосувати будь-яку методологію, яка працює для вас та вашої команди, але я буду стояти за твердження, що вимірювання оригінальних кошторисів - минулого часу - це не те саме, що вимірювати решту продукту. Робіть все, що працює для вашого проекту, але не бійтеся ставити під сумнів припущення, які лежать в основі ваших поточних показників.
CodeGnome

@CodeGnome. Тут відбувається просте неправильне спілкування. Я не намагаюся відстежувати «минулий час». Я намагаюся визначити "час, що залишився". Коли це завдання буде виконано? Це все, що я намагаюся визначити. Однак, оскільки навіть найменше завдання (як правило) включає декілька людей, проблема полягає в тому, як визначити те, що залишилося, простим та прямим вперед.
AgileMan

4

Чи можете ви визначити завдання розробника як "виконане" до того, як QA виконає свою роль? Чи можете ви визначити огляд коду як "зроблено" до того, як буде зроблено dev? Чи може QA бути "зроблено", якщо розробка розробників та коду не є?

Я б сказав, що ви повинні об'єднати три елементи в одне завдання, і троє людей повинні над цим працювати разом.

Scrum НЕ каже, що будь-який предмет несе відповідальність за одного члена команди. Якраз навпаки - елементи спринтерського журналу - відповідальність КОМАНДИ. Якщо для виконання завдання потрібно три людини, то для цього потрібно.


У мене є деякі сумніви щодо цієї пропозиції. Для мене завдання розробки можуть бути виконані перед переглядом якості та коду, але огляд коду та контроль якості (які є індивідуальними завданнями для себе), швидше за все, створюють нові завдання розробника, які можна «спалити» окремо. Звичайно, якщо "завдання" означає "реалізувати повну історію користувача", то ви праві, але чому завдання повинно бути настільки грубим?
Doc Brown

@DocBrown - я робив це обома способами. Я виявив, що вимова завдання робиться тоді, коли вона не була перевірена (огляд та перевірка), не виявилася корисною для відстеження прогресу. Поставлення кожному на гачок для виконання завдання допомагає підтримувати терміновість для всіх залучених.
Меттью Флін

Очевидно, нічого не робиться, поки він не пройшов процес DoD. Однак все може прогресувати до того моменту, коли може бути корисним переглянути інші сторони. Як це зараз є, я зливаю всі "роботи", необхідні для кожного невеликого завдання, в сукупну годину, як ви згадали. Проблема полягає в тому, що коли одна людина намагається повідомити про те, що залишилося, їм зазвичай доводиться обліковувати свою частину цього, а потім додавати оцінки інших осіб зверху ... тож це дуже багато напруженої роботи. Я відчуваю, що є кращий шлях.
AgileMan

3

Це не має значення. Поки це буде відносно послідовно в різних історіях, ваш графік обтяження все ще буде працювати в будь-якому випадку. Використовуйте будь-який спосіб, який є найбільш природним для вашої команди.

Моя команда насправді робить свого роду гібридом, хоча не за формальною згодою. Ми відкладаємо 16 годин, якщо думаємо, що завдання займе одну людину два дні, але якщо двоє людей закінчують роботу над нею, ми не змінюємо її.

Після первинної оцінки, наша неофіційна інформація стає більш відсотковою, ніж залишилося години. Якщо ми спочатку думали, що це займе два дні, але після одного дня, ми вважаємо, що це лише 25%, ми беремо 4 вихідних 16 годин. Це залишає 12 годин, де технічно ми оцінюємо 24, тому що, ймовірно, ми відрахуємо 4 години на три дні.

Це спочатку роздратувало мене як майстра розколу, але, як здається, це дуже природний спосіб давати оцінки, адже розробники дуже ненавиджу додавати години на оцінку. Це все в середньому, щоб зробити обробку ще корисною, і це важливо.


2

Залишок часу, який залишився, не має великого значення: нічого не вдасться домогтися, поки вся історія не буде виконана.

Якщо ви хочете відстежити, скільки часу залишилось на історію (загалом), змусивши людей заповнити залишився час на завдання, то розділіть завдання на людину.

Це сказав:

  • Великі завдання можуть бути свідченням того, що ваші історії занадто великі. У цьому випадку найкращим рішенням є зменшення обсягу та розміру сюжетів, і якщо ви зменшите його достатньо відстеження часу, що залишився на завдання, вже не має значення (вони зроблені чи ні - сума підрахунків за невиконані завдання є досить зернистим).
  • SCRUM закликає всіх підібрати те, що потрібно робити. Якщо ви призначаєте завдання особам (на відміну від ролей), ви потенційно не даєте себе розповісти історію, навіть якщо розробник нічого не робить - тому що QA є вузьким місцем.

-1

Розділіть завдання на кілька завдань і введіть їх як завдання, де кожне обробляє інша людина.

Оригінальне завдання: щось виправити

Нові завдання: (дитина з батьків початкового завдання)

  • Dev A - виправлення проблеми
  • Dev B - допомога Dev A у вирішенні проблеми (тобто програмування пар, перегляд коду)
  • Dev A - розробник тестує виправлення за допомогою набору даних X
  • Dev B - dev тестує виправлення за допомогою набору даних Y

У запитанні зазначено, що додаткові завдання заборонені
gnat

я ніколи не мав на увазі підзадачу як такої .. я маю на увазі розбити це завдання на завдання і зробити їх усіма дітьми історії чи помилок. Я перефразую свою відповідь ..
Асим Гаффар

добре порушуючи це так, як ви описуєте, було вже запропоновано та пояснено щонайменше у двох попередніх відповідях (голосування проголосовано в цей момент): "Це 3 завдання, а не одне ..." "Ви плутаєте завдання та історії ..."
гнат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.