Розгляньте точку зору керівника проекту
Задаючи складність, вони хочуть число, яке вони можуть порівняти з вашим наступним спринтом, щоб знайти вашу швидкість як команда. Вони також можуть намагатися використати його, щоб скласти ваш результат із оцінками інших команд, щоб забезпечити загальну оцінку того, коли всі історії будуть виконані.
Керівник проекту шукає оцінку того, коли проект буде завершено, або якщо вони гнучкі на інших сторонах трикутника часу-функції-вартості, які інші випускники можна витягнути, щоб він підходив до часу, що залишився. Це нерозумно. На основі цієї оцінки потрібно приймати ділові рішення. Проблема полягає в тому, що оцінити це для програмного забезпечення дуже важко. Планування покеру - один із способів вирішити цю проблему. Замість того, щоб бачити це як просто додавання кількості сюжетних точок, скоріше думайте про це як про складнішу функцію оцінювання, як ви можете, виконуючи роботу, вимірюючи, як тривало це, ітерацію, а потім екстраполяцію.
Дискусія важливіша за число
Я вважаю, що найважливішою частиною зустрічей, що вказують на історію, є обговорення, які піднімаються. Якщо хтось із команди не впевнено пропонує номер, то він, ймовірно, не повністю розуміє історію, і потрібно буде більше дискусій. З маніфесту Agile "Співпраця з клієнтами щодо переговорів щодо контракту". Замість того, щоб просто вказати контракт, написаний як історія користувача, і сказати, що команда зазнала невдачі, якщо вони не роблять саме те, що ви хочете, завжди краще поговорити про те, що клієнт насправді хоче, поки ви не зрозумієте це.
Складність Vs зусиль
Для вирішення вашого конкретного запитання щодо складності та зусиль, схоже, кожен має різні думки з цього приводу. Маунт-Козл , хто є тими, хто робить покерні картки для планування з козами на спині і власник яких Майк Кон є великим у світі Agile / Scrum, кажуть, що слід докладати зусиль, а не складності.
Зазвичай це не вважається мірою часу (див. Приклад нижче для зустрічного прикладу), оскільки люди погано оцінюють час, а інші фактори впливають на те, яке число вони дають: наприклад, тиск, щоб утримати число низьким, щоб ви могли встановити більше функцій у тиску, щоб дати більший номер, щоб дати собі місце, якщо ви зіткнетеся з проблемою. Побудувати програмне забезпечення важко. Коли ви будуєте свій 100-й будинок, ви можете оцінити, скільки часу у вас буде потрібно, оскільки ви побудували до цього 99 будинків. Якщо програмне забезпечення, яке ви будуєте, таке ж, як і попередні програми, які ви створили, тоді ви можете скопіювати та вставити будь-які кошти, поки проект програмного забезпечення інший, і тому виникнуть проблеми, які ви не передбачили на початку.
Як і в оцінках часу, що містять прихований тиск, так і міра зусиль також має проблеми. Якщо молодший розробник оцінює високу складність, він може відчути, що вони залишають себе відкритими для атаки як недостатньо хороших з боку інших, хто дасть їй нижчу оцінку. Це не тільки шкодить вашим оцінкам, але й людям у команді.
Плануючі покерні числа - це не «кількість днів» або якась інша міра часу, вони відносна міра для порівняння двох історій користувача. Перше, що вам потрібно зробити в новій команді - це встановити базову лінію. Виберіть одну історію користувача, яка знаходиться в середині діапазону складності, і домовтеся, як команда, в середині діапазону, яке ви хочете призначити. Тепер усі інші історії користувачів можуть бути пронумеровані відносно цієї. Я виявив, що це набагато простіше.
Причини, за якими ви не можете дати оцінку
Коли менеджери проектів запитують вас, коли проект буде виконано, вони повинні зрозуміти складність питання, яке вони задають. Програмісти не є фабричними працівниками, де їх продуктивність можна виміряти, помноживши, наскільки швидко вони набирають, на тривалість роботи. Вони з'ясовують відповіді на проблеми, і це важко. Граючи в покер, ви спочатку визначаєте, хто в команді вважає, що вони не можуть відповісти на питання, який номер призначити, а потім ви перекопуєтесь, чому вони не можуть відповісти на це питання. Я думаю, що принаймні чотири причини:
- Історія занадто велика. Розбийте його на більш дрібні, більш конкретні історії користувачів. Пам'ятайте, що кожна історія користувача повинна надавати користувачеві частину цінності; введення - процес - вихід = значення.
- Вони недостатньо добре розуміють проблемний домен, щоб можна було сказати, скільки часу це займе, або навіть задати всі питання належним чином. Поговоріть з людьми, які більше знають про домену / програмування зацікавлених сторін такого типу додатків, чого б ви ще не бачили. Якщо це неможливо або не пройде вас туди, тоді ви можете використовувати дизайнерський шип. Перейдіть і прототипуйте рішення, але лише протягом обмеженого та визначеного часу. Визначте, як довго триватиме фаза прототипування, не надто довго, а потім знову зустрічайтеся, щоб поділитися своїм новим розумінням.
- Ваші зацікавлені сторони недостатньо конкретні. "Побудуй мені хмару" - це неприйнятна історія користувача. "Побудуйте мені систему, де я можу відкручувати віртуальний комп'ютер на вимогу" - це краще, оскільки вона буде розбита далі, але все ще не знаходиться на рівні, де ви можете дати точну оцінку того, як довго це займе у вас, оскільки буде сто прихованих припущення у цій заяві, що ваш зацікавлений сторона має те, що ви не дізнаєтесь, поки не покажете їм щось.
- Нарешті, навіть якщо ви можете дати оцінку, це, ймовірно, буде вперше неправильним. Оцінка - це важка проблема, і найкращий спосіб, який я знаю, щоб вирішити важкі проблеми, - це використовувати науковий метод. Зберіть дані про те, яку кількість оцінює кожен член команди, а потім збирайте дані про те, як довго вони їх зайняли, або наскільки «складними» це було насправді, хоча це складніше, а потім порівняйте їх за часом. Згодом у вас з’явиться відчуття того, хто переоцінює, а хто недооцінює, і тоді ви повинні поділитися цим із командою. Люди можуть допомогти один одному стати кращими в оцінці. Ці цифри також можна повернути у ваш інструмент відстеження, щоб краще передбачити, скільки триватиме історій.
Висновок
Я вважаю, що справді має бути дискусія, але якщо вам дійсно потрібно дати комусь номер, то просто спробуйте зробити його таким, який не залежить від того, хто з членів команди працює над ним і в якому порядку оповідання працюють. Сенс полягає в тому, щоб потрапити до зворотного журналу, який має пріоритет, тому ви працюєте над ними в потрібному порядку та розмірі, щоб менеджер проекту бачив, скільки ще ви можете вписати до встановленого терміну. Ви повинні мати змогу зупинитися в кінці будь-якої ітерації та відправити всі заповнені функції, які були розпочаті.
Увага
Ви можете оцінити час на виконання завдань у вашій команді стільки, скільки захочете, доки ви будете тримати цифри для себе. Після того, як ви дозволите будь-якому номеру вийти з команди та побачити його інших людей, вони зроблять те, що ви не мали наміру. Вони спробують використати це як кількість днів для виконання завдань. Вони спробують утримати вас у рейтингу відносної складності і запитають, чому вам знадобилося більше часу, щоб заповнити одну історію користувача, ніж іншу з однаковою кількістю балів. Вони додадуть ваші номери разом і порівняють їх з номерами іншої команди та запитають вас, чому інша команда «робить більше роботи», оскільки вони заповнюють більше моментів історії протягом певного періоду. Ти можеш'
Убік
Набір плануючих покерних чисел зазвичай розподіляється таким чином, що розриви між числами збільшуються. Я вважаю, що це має на меті відмовити людям сперечатися, чи історія користувача 16 чи 17, якщо вона більша за 13, то просто зробіть це 20.
Приклад
Мені відомо щонайменше одна команда, яка використовує лише цифри 1, 2, 3 і 4 для планування покеру. Вони, проти конвенції та всупереч вище обговореній, визначають їх як дні програмування (насправді пари програмних днів, тобто скільки днів знадобиться двом програмістам, які працюють разом на одній машині, щоб завершити історію користувача). Якщо команда вважає, що на повну історію користувача знадобиться більше 4 днів, тоді вона не залишається загостреною, і власника продукту просять співпрацювати з командою, щоб розбити історію далі або уточнити її більш точно, щоб вона могла вноситись у цей діапазон для майбутньої наради з планування. Але це прогресивно і, ймовірно, його повинні використовувати лише люди, які вже мають досвід використання інших методів.