Скільки часу витрачати на оцінку завдань програмування?


9

Наприклад, якщо я розбиваю проект на n дискретних робочих продуктів (скажімо, класів, функцій чи компонентів), чи існує час t такий, що n * t - це відповідна кількість часу, яку потрібно витратити на оцінку?


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

Оскільки ваші оцінки весь час будуть помилковими, нульова рентабельність інвестицій = нульовий витрачений час. Ой, окрім босів, змусить вас створювати неправдиві оцінки. Agile підрахунки, коли ви вибираєте деяке випадкове число волів у якійсь випадковій одиниці виміру, яка називається BogoEstimons, або щось подібне, здається кращим, ніж оцінки в реальних робочих годинах людей.
Warren P

Приблизний час для оцінки завдання. Нехай розпочнеться оцінка оцінки
користувач

Відповіді:


13

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

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

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


3
+1. але я не згоден, що оцінки не дуже корисні. Вони допомагають краще планувати, а отже, бути більш продуктивними.
superM

4
@superM: Я не сказав, що вони взагалі не були корисними. Вони, безумовно, є. Я сказав, що на них не варто витрачати багато часу. Робота з програмним забезпеченням набагато корисніша, тому витрачайте на це значну частину свого часу.
pdr

@superM: Ви коли-небудь робили порівняння між вашими оцінками та реальними значеннями? Це дозволить розповісти чудовий урок про реальну цінність здогадок (оцінка яких за визначенням). Оцінка - це класична річ Парето: Ви отримуєте досить хорошу оцінку за 20% часу. Витрата більше часу зробить це лише на 5% краще.
JensG

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

2

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

Після того, як ви їх розбили, щоб ви могли це зробити, ви зробили достатньо; незалежно від того, що це таке.


2

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

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

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

Почитайте про це і спробуйте!

Також, як правило, жодне завдання в користувацькій історії не повинно перевищувати 7,5 годин (один робочий день). Якщо це так, вам потрібно розбити завдання на більш дрібні завдання.


1
Планування покерних оцінок Окуляри, які відсутні в реальних одиницях. Який вид робить їх аналогом того, як насправді складаються оцінки; Дикі дупи вбивці.
Warren P

1
Ідея полягає в тому, що якщо ми знаємо, що, наприклад, завдання на 1 бал займе 7,5 годин, то ми можемо сказати, що 5-бальна історія користувача займе 30 годин, а 10-бальна історія користувача - 60 годин. Наприклад, ми можемо вибрати одну з найменших завдань, і орієнтовний час може бути призначений як значення однієї точки історії користувача. Тоді ми можемо використовувати цю історію користувача як основу для оцінки великих завдань. Якщо ми думаємо, що інше завдання займе вдвічі більше часу, ми призначили б 2 пункти історії користувача (15 годин) тощо.
Ciaran Gallagher

1

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

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


1

Що ви отримуєте зі своїх оцінок?

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

Просто витратьте мінімальну кількість часу, щоб отримати оцінку, достатню для ваших потреб. Формули немає.

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


0

Насправді вам потрібна оцінка, щоб допомогти іншим зацікавленим сторонам присвоїти відносний пріоритет - настільки широкі оцінки, що принаймні говорять, що задача1 становить приблизно 3 рази більше зусиль у порівнянні з завданням2 (навіть якщо в кінці годин це не дуже точне в кінцевому підсумку) корисні. Витратьте стільки часу, щоб зрозуміти, які ці завдання (для досягнення певних цілей), а потім мати приблизні оцінки для них.

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


0

Хороші оцінки - це той момент, який базується на фактах, а не на припущеннях.

Таким чином, якщо у вас вже були подібні проекти (проекти) і ви зафіксували попередній час оцінки, це може почати роботу сервера як хорошої бази оцінки . Однак залежно від обсягу вашого проекту можуть бути невідомі артефакти , що краще уточнити якнайшвидше, ніж BA або власник продукту.

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

  • Люди, які виконують роботу, повинні брати участь в оцінці проекту
  • Доведіть експертів: Експертне судження має вирішальне значення для успіху проекту
  • Оцініть великі шматки як діапазон
  • Використовуйте техніку Delphi: Це метод, який допомагає конвергувати думки команди в разі виникнення конфлікту в оцінці програмного проекту.
  • Майте на увазі вартість
  • Майте на увазі виділені ресурси для виконання роботи

Я ніколи не спостерігав за командою чи особою, яка робила оцінки, що звичайно (більше 50% часу) виявилося точним протягом 10% від фактично витраченого часу. Інші люди в інших місцях заявляють про успіхи, які мені здаються важкими уявити, що коли-небудь траплялося б, де я коли-небудь працював.
Warren P

"точне в межах 10% від фактично витраченого часу" - насправді дуже поганий результат. Також враховуйте похибку, яка збільшується за складністю та зовнішніми залежностями проекту.
Юсубов

Це я кажу. Оцінка відстій.
Warren P

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