Це складна тема, і є часті дискусії на цю тему. Мені не подобається концепція "канонічної" думки з цього приводу: є різні думки, які мають значення. Але є підтримуючі цінності, принципи та практики, які повинні керувати підходом.
Далі базується на моїх власних думках, які працювали з командами scrum більше 10 років. Але це просто МОЯ думка.
Історичні бали як метод прогнозування Первісний намір сюжетних точок полягав у пошуку швидкого методу для оцінки зусиль з метою прогнозування того, що може виконати команда протягом певного періоду часу. Деякі з "світильників" стверджують, що точки використовуються лише для прогнозування довгострокового масштабу (наприклад, над випуском), а не для визначення потужності на рівні спринту. Крім того, концепція полягає в тому, що команди застосовують "відносний розмір" на основі історичних цінностей (зусилля X схожі на зусилля B, яке склало 3 бали). Це прискорює процес оцінювання, тому командам не доведеться розбивати майбутні роботи на детальні робочі пакети та застосовувати години до всіх завдань. Команди з високою ефективністю прагнуть перетворити всіх технічних працівників на дуже компетентних членів подібного рівня кваліфікації. (Ця концепція буде вивчена детальніше в пункті №4) Коли це буде досягнуто, рівень індивідуальних навичок дійсно не є змінною в розмірі. АЛЕ: Для досягнення цієї мети зазвичай потрібно досить тривалий час і узгоджені зусилля. Так ... що ми робимо, перш ніж потрапити?
Години роботи визначають ємність спринту: За тими самими "світилами", які заявляють, що бали використовуються для довгострокового прогнозування, вони також пропонують використовувати години роботи для визначення здатності спринту, а не балів. На мою думку, це нормально, але я скажу, що коли я допомагав тренерським командам «Високопродуктивні», їхні навички вирівнювались в середньому до того, де вони могли точно визначити, що вони могли виконати у спринті, використовуючи лише Story Points . Знову ж таки, це може бути ціллю, до якої ми прагнемо, але нові команди до цього не готові. Таким чином, ви можете знайти в одному спринті історію з 2 балами, що має 12 завдань на зусилля, а в іншому - 25 годин зусиль. Так, що ти робиш? Деякі люди, яких я називаю "спритними пуристами", стверджують, що розмір історії (у балах) повинен бути агностичним за тривалістю. Інші не згодні. Прочитайте логіку на пункт №3 і подивіться, що ви думаєте.
- Історія-вказівка консенсусом: Застосування обсягу, невідомих, складності, знань
Таким чином, команди дивляться на роботу, і потрібно узгодити питання, які будуть проксі для рівня зусиль. Правильно? Якщо припустити, що всі навички рівні, то консенсус легко досягти. Але часто в командах є хлопець, який є гуру Java, інший, який не дуже чудовий на Java (можливо, вона була особою C # або .Net або Cobol і вивчає Java). Отже завдання X для Боба дуже проста. Для Джейн важче.
Agile команди намагаються просувати власність колективного коду та зростати / розширювати досвід. Тому ми зазвичай не присвоюємо історії людям, виходячи з їхньої експертизи: ми віддаємо перевагу колективам спільно працювати над історіями та вчитися разом. Це узгоджується з поняттям "сповільнитись, щоб пришвидшити": якщо ми знайдемо час, щоб дати Джейн досвід з Java, в той час як спочатку це може сповільнити нас, згодом у нас з'являться більш компетентні розробники Java. Насправді, якщо у нас є лише ОДИН експерт з Java, і кожен працює за своїми областями, ми створюємо ситуацію з декількома потенційними "пунктами провалу". Що відбувається у спринті, коли 90% роботи - це Java, але Боб (наш експерт з Java) хворий чи у відпустці? Розширюючи навички, ми усуваємо потенційні вузькі місця та знижуємо ризик. Зважаючи на це: Коли команда розглядає історію, вони повинні мати на увазі кілька понять при розмірі. Ви можете придумати абревіатуру VUCK, щоб запам'ятати це.
Обсяг: Деякі зусилля досить прості, але потребують великого обсягу повторних завдань. (У мене був хлопець, який повинен був скопіювати і переформатувати таблиці 50+, який сказав, що це 1 бал, тому що це було просто. Але, подумавши, команда зрозуміла, що, хоча це було легко, це забирало багато часу, і був великий обсяг таблиць, щоб перенести та оптимізувати. Тож нам довелося перенастроювати бали через обсяг роботи)
Невідомі: Іноді ми думаємо, що знаємо, що робити, але також виявляємо деякі невідомі - вони являють собою РИЗИКИ . А це означає, що ми можемо зіткнутися з несподіваними проблемами, які нам доведеться вирішити, переробити або спробувати інше рішення.
Складність: ця досить очевидна. Деякі рішення технічно складні. Ми точно знаємо, що робити, але це вимагає технічної експертизи. Складність також передбачає певний ризик, чи не так? Тож навіть якщо ми всі володіємо рівними навичками, технічна складність означає, що ми можемо зіткнутися з непередбаченими проблемами. Тож ми можемо зробити цю історію більше.
Знання: чи дійсно ми знаємо, що ми вирішуємо? Іноді клієнтам не зовсім зрозуміло рішення, яке вони хочуть, і ми трохи експериментуємо. Або, можливо, ніхто ніколи не реалізував це рішення (нова технологія ніколи не застосовувалася), і тому ми не знаємо того, чого не знаємо.
На мою думку, кожне з цих міркувань насправді є проксі-сервісом на тривалий термін. Легка історія, багато обсягу? Це займе більше часу, або нам потрібно розділити історію. Невідомі? Додано ризик, дослідження, експерименти, це може зайняти більше часу або нам потрібно розділити історію. Складні? Додано ризик, потрібно виправити помилки, переробити дизайн тощо, щоб це зайняло більше часу. Не знаєте, чи є у нас необхідні знання? У нас є додатковий ризик, можливо, доведеться експериментувати тощо, тому це може зайняти більше часу ...
Бачите, куди це йде? Тож, хоча концепція сюжетних точок відлякує нас від думки про тривалість при оцінці, з іншого боку, було б нелогічно мати 1-бальну історію, яку ми можемо завершити за 4 години, та іншу 1-бальну історію, яка є простою, але займе 2 тижні.
- Високопродуктивні команди ліквідують силоси та пляшки: Оскільки команди намагаються вирівняти всіх членів, вони іноді мають менш досвідчених членів, які приймають нові виклики, або зроблять пару-код для обміну знаннями, щоб покращитись як команда. Як вже згадувалося раніше, це необхідний факт, якщо команда коли-небудь досягне справжніх високих показників.
Тож якщо Джейн добровільно береться на те, щоб зробити це на Java, і це зробило б зусилля 2–3 або тричі тривалістю тих же зусиль, якби Боб це зробив, що робити? З часом мої команди вирішували розмір розповідей на основі рівня зусиль (LOE) / VUCK для людей, які доклали зусиль. Боб, команда Гуру, не має сенсу говорити "це 1", коли для Джейн це буде непросто, і це займе тиждень, а також потрібно трохи часу на Боба для парного кодування та перегляду коду. Тому ми зіткнулися з цими пунктами, щоб відобразити реальну ЛОЗ. Наступного разу, коли прийшла подібна історія, те, що раніше було Джейн 8, стало 5. Зрештою, всі погодилися, що це було легко 3. У той момент ми знали, що ростемо як команда.