Jak delate kalkulace, casove odhady? rubrika: Návrh

Anonym
položil/-a 13.8.2013

Jak u vas delate kalkulace? Jedete podle nejake metodik, cocomo, funkcni body, nebo kalkulace pali senior programatori podle sveho nejlepsiho vedomi a svedomi?

Delate po realizaci projektu vyhodnoceni kalkulace, tj. co se presvyhlo a proc?

Nasobite kalkulace nakonci nejakym koeficientem, magickou konstantou, ktera ma prave navysit kalkulaci o jistou neznamou v podobe nejasnosti plynoucich ze zadani, podceneni problemu programatorem?

odkaz
6 arron
odpověděl/-a 14.8.2013

Management firem si obvykle plete slovo "odhad" se slovem "závazek". A to jak ve vztahu ke svým zaměstnancům, tak hlavně ve vztahu ke klientovi. Nikdo pak nevysvětlí klientovi to, že v úvodní fázi projektu je nejistota tohoto odhadu někde mezi 0.25 násobkem až 4 násobkem odhadu. Z této mýlky pak vzniká drtivá většina problémů...

Když jsem dělal odhady, tak jsem se snažil problém dekomponovat alespoň na základní celky (na ty nejmenší, které byly v té které fázi projektu možné) a odhadul jsem 3 možnosti. Dobu potřebnou k dokončení s 10% pravděpodobností (de facto ideální případ), dobu dokončení s 50% pravděpodobností (očekávaný případ) a dobu dokončení s 90% pravděpodobností. Není lehké trefit se s těmi pravděpodobnostmí, ale dá se to naučit :-) Odhadovaný čas se pak přepočítal podle jednoduchého vzorce: odhad = (10%odhad + (4 * 50%odhad) + 90% odhad)/6 Tohle je jedna ze standardních metodik při vytváření odhadů. Já jsem nakonec ještě celý odhad upravil "osobním multiplikátorem" protože o sobě vím, že ač se snažím, stále jsem spíše optimistou. Nutno podotknout, že skoro vždycky jsem se trefil v rozmezí do 20% okolo výsledného času, což je podle mnoha zdrojů skvělý výsledek :-)

Takže například: vytvoření modelu databáze
10% pravděpodobnost - 2 dny
50% pravděpodobnost - 5 dní
90% pravděpodobnost - 15 dní (musím si být jistný, že se to fakt na 90% stihne v tomhle čase)
odhad = (2+(4*5)+15)/6 = 6.1 dne zaokrouhluji na 7 dní (protože se snažím být v úvodní fázi projektu pesimistou :-))

Nejpřesnější odhady se ale dělají na základě zkušeností s týmem, s konkrétními projekty a konkrétními úkoly. Proto je dobré každý projekt sledovat a mít z něho i různá data o původních odhadech, problémech a finálních časech realizace. Z těchto dat je možné se následně poučit a každý další odhad projektu o podobném rozsahu je přesnější, než ten předchozí.

Jinak doporučuji knihu od nakladatelství Computer Press od Steve McConnella Odhadovaní softwarových projektů :-)

Komentáře

  • Anonym : Podobny princip delame. Dlema dva odhady, optimisticky, pesimisticky, zase ale ve dvou lidech (dva seniori) a nakonec oba odhady prumerujeme. Trefujeme se do plus/minus 25%, v pozdejsich fazich. Problem ale je u odhadu typu, potrebuji nabidku pro klienta, abychom zjistili, zda to bude stat 100 nebo 1000 a v techto uvodnich fazich se muzeme klidne rozejit i o 70% vuci realu. Takze me zajima spis ta faze vyhodnoceni. Ma zminena kniha i navody/postupy jak v prubehu projektu/v prubehu ruznych stadii rozpracovani analyzy a tedy i presnosti kalkulace/ vyhodnocovat kvalitu/relevanci odhadu a ziskat tim tak dopriste relevantnost takovych rychlo odhadu? Souhlasim dale s tim ze kazdy vyvojar odhaduje praci jinak, nekdo nasazuje, nekdo podsazuje a musi tak existovat nakonci osobni multiplikator. Zde jde zase ale o to, jak ho ziskat/udrzovat. Jasne muzem si to zacit evidovat v excelu, a najek si to vymyslet sami, slozite, bolestne. Neexistuje na to nejaky nastroj? Best practice, metodika..? 14.8.2013
  • arron : Rozhodně je dobré dělat odhady ve více lidech. Je super když se sejde celý tým (nebo alespoň jeho část) a lidé mohou jednotlivé odhady ihned oponovat. Zpravidla z toho vylezou daleko zajímavější čísla a zaároveň se dají vypozorovat hlavní rizika projektu, což je jistě velmi cenné. V úvodních fázích projektu se chyba odhadu může vyšplhat i na 400% (a to nejenom u SW projektů, ale obecně) a není to nic nenormálního. Odhad je totiž jenom tak přesný, jak přesné je zadání. Tedy odhad projektu do výběrového řízení je stejně jenom takové věštění z křišťálové koule a přesně tak je potřeba k němu přisupovat. Ano, vyhodnocování těchto dat je asi to nejsložitější. Ono to totiž prosupuje celou firmou a hodně to záleží na systému pro řízení projeků, jaký se ve firmě používá. Ideálně do toho zapojit nějaký issue tracker, kde se bude dát sledovat jednotlivé úkoly (skupiny úkolů) se svými odhady a skutečnou pracností. Tam už se ale začínáme dotýkat nepopulárního vykazování práce a začíná se to dost zásadně komplikovat...nicméně pouze sběrem těchto dat je možné zpětně analyzovat, kde nastal problém a jak jsme si v průběhu projektu vlastně stáli. Kniha se zabývá základními metodami odhadů, jejich porovnáním ve vztahu k fázi projektu, jeho velikosti a tím, co se vlastně snažíme odhadnout (zdroje vs. čas). Dále je tam ještě několik kapitol o odhadech obecně, jejich prezentaci a dalších věcech. Není to žádná velká bichle, takže nejde uplně příliš do hloubky, nicméně si myslím, že je dobrým základem pro další rozvoj. Minimálně se člověk po jejím přečtení začně na odhady dívat trochu jinak. IMHO to není taková investice, aby jí každá SW firma nemohla mít ve své knihovně :-) 14.8.2013

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.