Vedení projektů, Odhadování, historie Jiří Mach
26. 11. 2014
Agenda o Docházka
o Specifikace o Vedení projektů – Pár slov SW projektu na MFF
o Odhadování o Historie projektů o Dotazy
2
Project management o Co je to projekt? – Formální definice: viz. Google („define: project“)
– Způsob jak vyvinout softwarový produkt.
o Co je to management? – Vedení, řízení
o Project management – = Vedení projektu – Zjednodušeně – přidělování práce vývojářům tak, aby se vše stihlo včas a kvalitně.
3
Odbočka – modely SDLC o Zvolený model výrazně ovlivňuje způsob řízení projektu.
o Waterfall (vodopád) o Agilní metodiky – Extrémní programování – SCRUM
4
Waterfall o Klasický model. – Učí se na školách
o Vhodný pro změnová řízení, nevhodný pro vývoj z nuly. – U větších projektů je prakticky nemožné vytvořit kompletní analýzu na začátku.
o Jednotlivé fáze SDLC jdou po sobě – Požadavky, Analýza, Design, Programování, Testování a pak předání zákazníkovi • Dokumentuje se průběžně
5
Agilní metodiky o Základní myšlenky: – Iterativní vývoj • Přizpůsobování změnám (namísto slepého následování plánu).
– Úzká spolupráce (mezi vývojáři i se zákazníkem) – Méně dokumentace, více testů – http://agilemanifesto.org/
o SCRUM – Zaměřený na management projektů
o Extrémní programování – Zaměřené na programování
6
Praktiky při projektovém řízení o Praktiky (ne všechny se používají všude): – Test driven development
– Párové programování – Continuous integration
7
Project management o Každý projekt (softwarový) je kompromisem mezi – – – –
Cenou (pracností) Časem (termínem dokončení) Rozsahem (množství funkcí) Kvalitou (množství chyb, usabilita, …)
o Smlouva (a specifikace) určuje meze daných veličin.
8
Project management o Největším otloukánkem je kvalita – Těžko se měří. – Když jde do tuhého, zpravidla se první krátí testování.
o S termínem se většinou dá hýbat o Cena se dá navyšovat jen obtížně – Nelze říci: „My jsme si mysleli, že to bude jednoduše implementovatelné, ale není. Tak připlaťte“.
o Dobré stanovení rozsahu (dobrá specifikace) je pro úspěch projektu naprosto zásadní
9
Reálný život o Rozsah má tendenci bobtnat – Na začátku není možné vše přesně vyspecifikovat
– Zákazník si vymýšlí – Projektový manažer (nebo někdo jiný – podle organizace firmy) tomuto musí bránit.
o Odhady jsou nepřesné (viz. dále)
o Lidé dělají chyby o => PM je obtížný úkol. Není to exaktní věda.
10
Praktické cvičení o Definujte strukturu plánu projektu na vývoj nového portálu.
11
Plán o Dokument obsahující: – Harmonogram práce – Přidělení úkolů jednotlivým lidem – Deadlines
o Nezáleží na formě – MS Project je fajn, ale Excel je taky fajn
o Dlouhodobý výhled o Podrobný rozpad úkolů na další týden až 14 dní o WBS = Work Breakdown Structure
12
Praktická ukázka o Plán projektu
13
Rizika o Věci, které mohou potenciálně ohrozit projekt – Například nemoc klíčového vývojáře, výbuch serverovny …
o Atributy rizika – Dopad na projekt (jak zásadní?) – Pravděpodobnost, že nastane
o Sepsat seznam (na začátku projektu) a průběžně ho aktualizovat – Průběžně přijímat protiopatření (tam, kde se to vyplatí)
o Fishbone diagram
14
PM u SW projektu na MFF o Vhodné, aby se toho ujal jeden člověk – Dostatečně motivovaný
– Respektovaný všemi členy týmu – Musí umět jednat s lidmi (soft skills) – Zpravidla to nebývá vedoucí (z MFF) • Není dostatečně motivovaný
o Velmi časově náročné o Komplikace - distribuovaný tým, nezkušenost
15
Odhadování
Odhadování o Snaha určit rozsah.
o Důležité pro stanovení ceny a termínu – Do nabídek.
o Vyžaduje velké znalosti a zkušenosti o Tím přesnější, čím více informací máme – Odhady změnových řízení bývají řádově přesnější než odhady vývoje z nuly
o Většinou nejvíce potřeba na začátku projektu – Není dostatek informací – Kužel nejistoty
17
Kužel nejistoty
18
Odhadování o Nejprve počítejte
o Co počítat – Moduly, Vlastnosti, Use Case, Změnové požadavky – Technické požadavky, Funkce, Obrazovky, Reporty – Třídy, databázové tabulky, Test Case, řádky kódu
o Zdroje dat – data z odvětví - 5-10% PM, 10-30% analýza – historická data – počet MD/obrazovka – projektová data – počet Use Case, počet modulů
o Úsudek je až poslední možnost
19
Odhadování – metody I o Individuální úsudek expertů
o Dekompozice a zpětné skládání – Zákon velkých čísel
o Analogie – Snažíme se najít podobný projekt
– Provedeme srovnání
o Fuzzy logika – rozdělení funkčností na velmi malé, malé, střední, velké a velmi velké – použijeme historická data a aplikujeme na náš projekt
20
Odhadování – metody II o Skupinové úsudky expertů – každý z členů týmu provede odhady
– průměr nestačí – použití diskuze na velkými odchylkami
o Softwarové nástroje – Simulace – Construx, Cocomo II, Excel
o Použití více přístupů – kombinace několika metod
21
Odhadování - problémy o Dva extrémy – Příliš široké odhady • Bude to hotové za dva měsíce až dvacet let
– Příliš úzké odhady • Bude to hotové za 2000 až 2001 dní
o S přibývajícími zkušenostmi jsou odhady zpravidla pesimističtější. – Juniorská konstanta 4 :-)
22
Odhadování o Další zdroje chyb – neznámá oblast trhu
– neznámá technologie – nesprávný převod odhadnutého času na čas projektu
o Další vlivy na odhady – velikost projektu
– lidský faktor – programovací jazyk, framework – distribuovaný tým
23
Odhadování - opomíjené aktivity o Nic není zadarmo a do Vašich odhadů byste měli zahrnout i: – Příprava dodávky a nasazení
– Nápověda – Rozhraní pro externí systémy – Studium nových nástrojů a frameworků – Vytváření testovacích dat – Integrace komponent systému
– Opravy chyb – Spolupráce s dalšími dodavateli
24
Odhadování - kvíz o Doplňte dolní a horní hranice, tak aby správný výsledek v daném intervalu ležel s 90% pravděpodobností: 1. Povrchová teplota Slunce 2. Zeměpisná šířka Šanghaje 3. Plocha asijského kontinentu 4. Rok narození Alexandra Velikého 5. Celkový objem měny USA v oběhu roku 2004 6. Celkový objem velkých jezer 7. Celosvětové příjmy z filmu Titanic 8. Celková délka pobřeží Tichého oceánu 9. Počet knih (ne výtisků) vydaných v USA od roku 1776 10. Váha nejtěžší zaznamenaná modrá velryba ©2006 Steve McConnel. All Rights Reserved. 25
Vyhodnocení kvízu o
Za každou správnou odpověď máte 1 bod 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
6000°C 31° severní šířky 44 390 000 čtverečních kilometrů 356 bc 719,9 miliard dolarů 23 000 krychlových kilometrů 1,835 miliardy dolarů 135 663 kilometrů 22 milionů 170 tun
26
Odhadování - závěr o Potřeba historická data => měření
o Přesnost odhadů se zvyšuje s množstvím informací a se zkušeností odhadovatelů o Lidé mají sklony k podceňování (viz kvíz). o Dobrý odhad je základem úspěchu (rentability) projektu.
27
Měření a historie o Měření je důležité pro PM – V jakém stavu je projekt (oproti plánu)
– Podklad pro přijímání opatření • Například žádost o nové zdroje (lidi, HW, …) • Změna procesů (například pokud roste chybovost).
o Co měřit – Počet zkonzumovaných MD – Počet řádek kódu – Počet chyb – Cokoliv, co má nějakou vypovídací hodnotu
28
Jak získat metriky
Měřit průběžně Task management nástroje (Jira, Bugzilla) CvsStat / StatSVN, … Libovolný systém pro vykazování času (Excel, open source, MS Project, …)
29
Děkujeme za pozornost Profinit, s.r.o., Tychonova 2, 160 00 Praha 6 Tel: +420 224 316 016, www.profinit.eu