Як я враховую зміни або забуті завдання в оцінці?


10

Для обробки оцінок рівня завдань та звітності про час я використовував (приблизно) техніку, яку описав Стів Макконнелл у главі 10 Оцінки програмного забезпечення. Зокрема, коли настає час для створення оцінок рівня завдань (безпосередньо перед початком кодування на проекті), я визначаю завдання на досить детальному рівні, так що, коли це можливо, у мене немає завдань з одноточкою, 50 % -впевненість у собі впевненість перевищує чотири години. Таким чином, процес оцінки завдань допомагає створити програмне забезпечення, допомагаючи мені не забувати завдання під час оцінки. Я також придумую можливий діапазон годин для кожного завдання, і, використовуючи статистичні розрахунки, які описує МакКоннелл, разом з моїми історичними даними точності, я можу генерувати оцінки на інших рівнях довіри за бажанням. Я відчуваю, що цей метод спрацював досить добре для мене. Нам потрібно поставити завдання та їх оцінки в TFS для відстеження, тому я використовую оцінки у відсотках впевненості, які мені кажуть використовувати.

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

Я буду радий уточнити, про що я прошу, якщо потрібно - дайте мені знати, що незрозуміло.



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

Ви не даєте оцінок часу; ви даєте сюжетні моменти, які дають ідею іншим. Ви також не розміру «знизу вгору». Вам не потрібно - швидкість - це неясна річ.
Робота

@Job Наразі ми не магазин скраму. Крім того, на відміну від того, що запропонував інший відповідь, я досі виявив, що оцінки знизу вгору покращили мою точність оцінювання, значною мірою значною мірою зменшивши кількість забутих завдань під час оцінки рівня завдання.
Андрій

@blueberryfields - множення лише на 50% повинно бути достатньо, принаймні в компанії з багатьма ієрархічними рівнями, де кожен додає свій власний коефіцієнт завищення.
mouviciel

Відповіді:


6

Книга « Вальсинг з ведмедями: управління ризиком щодо програмних проектів» (автор DeMarco та Lister, автор «Peoplewareware») має надзвичайно сприятливий підхід до цього. Ось моя реінтерпретація:

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

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

Далі зробіть оцінку "якщо такі речі йдуть так, як для подібних проектів, як ця". Ця оцінка допомагає приймати "зовнішній вигляд" ( http://wiki.lesswrong.com/wiki/Outside_view ), уникаючи помилок планування ( http://wiki.lesswrong.com/wiki/Planning_fallacy ).

Далі зробіть оцінку "Я на 90% впевнений, що ми зробимо X". Будьте дуже, дуже впевнені, маєте на увазі 90% впевненості. Іншими словами, ви розраховуєте зайняти більше часу, ніж ця оцінка, лише один раз на кожні десять проектів, які ви робите.

Тепер ми можемо використовувати вашу першу оцінку як оцінку ймовірності 0,1%, другу - як оцінку ймовірності 50% (сезон за смаком), а третю - як оцінку 90%, що дасть вам хорошу криву.

Скажімо, ваші оцінки 0%, 50% та 90% були 1 травня, 1 червня та 1 серпня, тоді крива вашої оцінки виглядатиме приблизно так:

     100 |                                  ......
         |                        ..........
% chance |                ........
of being |          ......
  done   |      ....
         |   ...
         |...
       0 +-----------------------------------------
          \           \           \           \
           May 1st     June 1st    July 1st    August 1st

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


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

@Andrew, якщо я вас правильно зрозумів, "пропущені завдання" враховуються меншою, ніж 100% -ною ймовірністю того, що вони будуть виконані в даний момент часу. Якщо ви зробили багато проектів, таких як поточний, крива швидко зменшиться від 0% до (скажімо) 90%. Це тому, що ви впевнені, що пропущених завдань мало. Якщо у вас низька впевненість, то нахил буде набагато поступовішим. Це стосується будь-якої причини, не тільки забутих завдань, але й інших факторів ризику.
Benji York

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

5

Одним словом - надзвичайна ситуація.

Надзвичайна ситуація - це сума, яку ви додаєте за "інші речі" - речі, які ви не можете врахувати в інших місцях своєї оцінки. Чи охоплює SMc це в програмі "Оцінка програмного забезпечення"? Я не можу згадати, і моя копія працює (я у відпустку відповідаю на це - як мені сумно) ...

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

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

Ця остання частина є критичною - це не лише "речі, які займають трохи більше часу, ніж я думав", це "модуль планування третьої сторони, про який нам сказали, що ми повинні використовувати, оскільки це стандарт компанії може не вирішити цю задачу". Те, як ви обчислюєте, яку кількість непередбачуваних ризиків потрібно додати, - це відсотковий шанс, який ризик може виявитись у вигляді десяткової (так 50% = 0,5), в рази більший від впливу цього ризику (так у прикладі кажуть, що вам потрібно вручну написати CRON робочих місць замість використання планувальника, і це займе 10 днів, це число 10 днів).

Отже, якщо є 50% шансів на те, що ваш ризик відбудеться, і вам знадобиться 10 днів зусиль, щоб обійти його, якщо він дійде, ви додасте 5 днів. Додайте всі значення для всіх виявлених ризиків проекту та додайте їх до загальної суми.

2) Shit Happens Contingency - найкращий опис, який я коли-небудь чув для нього, навіть якщо він не елегантний. Це ІТ-проект, лайно трапляється. Ніколи не виходить так, як ти думаєш, це займе більше часу, пропуститься тощо. Як правило, надзвичайна ситуація SH буде становити від 10% (абсолютний мінімум) до 25% (хоча може бути і вище), причому 15% буде приблизно типовим, точний рівень залежить від рівня невизначеності та загального ризику (переміщення постів цілей, невизначених вимог тощо) ).

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

3) Непередбачувані зміни - саме тут ви впевнені, що клієнт підніме зміни, але не хоче, щоб це було суперечкою. Додайте або X днів, або X%, і він переходить у банк для змін, які піднімає клієнт. Є два способи боротьби з цим: або ти їм розповідаєш про це, і це їх витратити, або ти не розповідаєш їм про це.

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

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

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


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

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

0

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


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

0

Ви стурбовані тим, що додаючи додаткові завдання, ви перекривите свою історичну точність? Або ви думаєте, що не враховуючи зайвих завдань, викривите точність?

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


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