Připoj se ke komunitě!

Občas ti pošleme tipy pro produktivnější práci, odkazy na zajímavé knihy nebo akce. Psát ti však budeme jen jednou za čas a pouze tehdy, budeme-li mít skutečně co říct.

Odeslat


Základna osobního růstu

Odhady práce při různých fázích projektu

By on 17. 3. 2010 in Rozvoj with Počet komentářů: 1

Vladimír Dědek

VLADIMÍR DĚDEK | GTD, self-managementu a rozvoji osobnosti se věnuji už několik let. Své myšlenky sdílím také na webu chcirust.cz.
Mám rád zpětnou vazbu a pro uvítám, když se podělíte v komentářích s vlastními názory!

Poslední články od Vladimír Dědek (Všechny články)

Poté, co proběhne ujasnění zadání projektu se zákazníkem, zadavatel prací očekává časový a finanční odhad prací. Abychom ale mohli vytvořit co nejpřesnější odhad, musíme mít k dispozici co nejvíce informací. To je ale problém, neboť na počátku vývoje projektu máme minimum informací o tom, jak bude výsledný systém vypadat. Zákazník zpravidla sám nemá představu o tom, co chce, dokud nevidí prvotní návrhy GUI a případy užití.

Rozdělení prací na projektu

V průběhu vývoje aplikace se tým developerů zaměřuje na jednu hlavní fázi. Následující graf znázorňuje procentuální rozložení různých fází na projektu.

Graf odchylky odhadu v různých časových fázích vývoje

Následující graf zobrazuje nepřesnost odhadů v odlišných částech vývoje systému.  Z grafu je patrné, že čím více informací a hotové práce máme, tím přesnější jsou naše odhady pro dokončení projektu.

Metoda Use Case Points (UCP)

Tato metoda má za cíl co nejvíce upřesnit odhad prací na projektu na základě již vytvořených případů užití (Use Cases, UC). Hlavní myšlenka metody spočívá v ohodnocení UC různými váhami podle složitosti.

Ohodnocení aktérů v systému a případů užití

Typ aktéra Příklad Váha
Jednoduchý Další systém komunikující přes API. 1
Průměrný Další systém komunikující přes nějaký protokol (např. TCP/IP) nebo člověk komunikující přes textové rozhraní (například konzole). 2
Komplexní Člověk komunikující přes GUI nebo webové rozhraní. 3

Unadjusted Actor Weight (UAV) je celková váha aktérů. Výpočet provedeme tak, že vynásobíme počet aktérů daného typu danou váhou.

Náročnost případu užití Počet transakcí Váha
Jednoduchý 1-3 5
Průměrný 4-7 10
Komplexní > 7 15

Transakce můžeme chápat jako kroky v UC. Váhu UC lze chápat jako počet tříd potřebných k implementaci. Jednoduchý UC lze tedy naprogramovat pomocí 5 tříd, průměrný pomocí 10 a komplexní vyžaduje ještě více.

Unadjusted Use Case Weight (UUCW) je celková váha případů užití. Její výpočet je obdobný jako UAV. Násobíme počet UC daného typu vhodnou váhou.

Součtem UAV a UUCW dostáváme Unadjusted Use Case Points (UUCP).

Technická náročnost, Technical Complexity Factor (TCF).

Odhad náročnosti projektu také závisí na technické náročnosti vypracování. Proto metoda UCP započítává do odhadu ještě další faktor – Technical Complexity Factor (TCF).

Pro ukázku výpočtu TCF uvedu tabulku s příkladem odhadu.

Factor Weight Assessment Impact
Distributed system 2 3 6
Performance objectives 2 3 6
End-user efficiency 1 3 3
Complex processing 1 2 2
Reusable code 1 0 0
Easy to install 0.5 0 0
Easy to use 0.5 4 2
Portable 2 2 4
Easy to change 1 5 5
Concurrent use 1 5 5
Security 1 5 5
Access for third parties 1 3 3
Training needs 1 0 1
Total (TFactor) 42

Výpočet TCF je opět jednoduchý. TCF = 0,6 + (0,01 * TFactor), kde TFactor vznikne součtem dopadu faktorů na systém. Dopad faktoru (Inpact) je chápán jako násobek váhy a odhadu (Weight * Assessment).

Environmental Factor (EF)

Jak rychle se bude systém vyvíjet také závisí na EF, tedy faktoru prostředí, v jakém se bude tvořit.

Factor Description Weight
E1 Familiar with the development process 1.5
E2 Application experience 0.5
E3 Object-oriented experience 1
E4 Lead analyst capability 0.5
E5 Motivation 1
E6 Stable requirements 2
E7 Part-time staff -1
E8 Difficult programming language -1

Výpočet EF je obdobný jako TCF. Opět si spočítáme EFactor (obdoba TFactoru) a ten vynásobíme vhodnými koeficienty.

EF = 1,4 + (0,03 * EFactor)

Závěrečný odhad

Adjusted Use Case Points (UCP) vypočteme vynásobením UUCP, TCP a EF (UCP = UUCP * TCP * EF). UCP je ještě potřeba vynásobit koeficientem, který má určovat počet hodin vhodný pro vývoj jednoho UC. Výsledek po vynásobení nám dá výsledný odhad časové náročnosti vývoje projektu v hodinách. Tento koeficient lze určit na základě zkušeností, v praxi se počítá s hodnotou v rozmezí 15 až 30. Pro výpočet tohoto koeficientu doporučuji využít data z předchozích projektů. Na základě těchto údajů lze vypočítat vlastní hodnotu tohoto koeficientu.

Do výsledného odhadu je také vhodné započítat rizika na projektu. Více o typech rizik lze nalézt například na Wikipedii (http://cs.wikipedia.org/wiki/Projektová_rizika).

Výhody metody

  • Proces odhadu lze automatizovat
  • Poměrně přesný odhad

Nevýhody metody

  • Práci na projektu lze odhadnout až po sepsání všech případů užití
  • Odhad kroků v UC je spíše aproximací, proto může výsledný odhad znepřesňovat

Online Use Case Point Calculator

Na adrese http://tools.michalkoci.com/UseCasePointCalculator.htm lze nalézt online kalkulátor časového odhadu podle výše popsaných pravidel. Stačí zadat odhady všech potřebných faktorů a odhadů složitostí jednotlivých UC.

Zdroje:

http://www2.fiit.stuba.sk/~bielik/courses/msi-slov/reporty/use_case_points.pdf

http://www.methodsandtools.com/archive/archive.php?id=25

http://www.komix.eu/upload/noviny2004c.pdf

Štítky:

Připoj se ke komunitě Mít vše hotovo!

Stačí nám poslat tvou e-mailovou adresu. Občas ti pošleme tipy pro produktivnější práci, odkazy na zajímavé knihy nebo akce. Psát ti však budeme jen jednou za čas a pouze tehdy, budeme-li mít skutečně co říct.

Počet komentářů: 1

Trackback URL | RSS kanál s komentáři

  1. maha napsal:

    V rámci řízení nákladů projektu se odhadují náklady na jednotlivé pracovní balíky, subsystémy i na celý projekt a vytváří se rozpočet celého projektu. Součástí řízení nákladů je porovnávání plánovaných a skutečných nákladů v různých bodech projektu, odhady zbývajících nákladů a aktualizace finálního odhadu nákladů. Náklady jednotlivých výstupů (dodávek) musí být měřitelné a spočitatelné. Náklady na jakoukoli změnu musí být vypočteny, odsouhlaseny a zdokumentovány.

Přidej komentář k příspěvku

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nahoru