12.12.2005 1 Ukončení projektu Pankaj Jalote: Software Project Management in Practice Chap.12 Project Closure 12.12.2005 2 Význam • určit, co se dělalo dobře, co bylo špatně • co fungovalo a co ne • jak to udělat příště lépe Hlavním cílem není „pomoci“ pitvanému projektu, ale organizaci. Analýza je potřebná pro pochopení výkonnosti procesu při řešení daného projektu, ze které získáme poznatky o schopnostech samotného procesu. 12.12.2005 3 Zpráva o závěrečné analýze Obecné informace a informace vztažené k procesu Souhrnná informace o projektu, dosažená produktivita a kvalita, použitý proces a jeho odchylky, odhady a aktuální časy, použité nástroje apod. Rizikové řízení Odhadnutá rizika včetně plánovaných opatření. Skutečná rizika a jejich vyřešení. Velikost Odhady pro jednoduché, středně složité a složité moduly. Sjednocení velikosti podle jedné metriky (např. SLOC ⇒ FP). 12.12.2005 4 Zpráva o závěrečné analýze Práce Odhad práce a skutečná práce. Práce zhodnocená podle etap. Cena práce věnované kvalitě (procento práce věnované přezkoumání, testování, přepracování, projektově zaměřené školení). Defekty Souhrn nalezených defektů s analýzou významnosti, etap detekce, etap zavedení, efektivita odstranění defektů. 12.12.2005 5 Zpráva o závěrečné analýze Aktiva procesu a dodatky Jiné užitečné artefakty procesu, které mohou být potenciálně přínosné pro budoucí projekty. Kauzální analýza Po ukončení projektu známe výkonnost procesu. Pokud vybočuje výkon z běžných mezí, pak hledáme příčiny. Kauzální analýza zkoumá velké odchylky a identifikuje jejich příčiny, obvykle pomocí diskuse a brainstormingu. 12.12.2005 6 Obecné informace ...Konzultant kvality SW ...Obchodní manažer ...Vedoucí projektu/vedoucí modulu Finance. Webová aplikace pro správu účtů.Oblast Vývoj, úplný životní cyklusŽivotní cyklus ...Kód projektu 12.12.2005 7 Shrnutí výkonu zlepšení díky prevenci chyb-26%0.030.022Rychlost zanášení defektů N/A5%33%31.4%Cena kvality N/A2%5758Produktivita prevence a inkrem. proces0.01250.02Kvalita (#defektů/FP) 97 30/11/00 03/04/00 9 501 Odhad malá 27 dní 0 0 19% Odchylka Efektivita odstranění defektů Konec Počátek Vrchol počtu pracovníků Práce (pracovník/den) Parametr N/A97.4 změny 5% práce navíc03/11/00 N/A03/04/00 N/A9 2 velké požadavky na změnu597 Důvod velké odchylkyAktuální 12.12.2005 8 Detaily procesu sledování požadavků bylo řešeno pomocí nástroje Requsite Pro analýza a vývoj prováděny iterativně - 2 iterace na analýzu a návrh, 3 iterace na vývoj použit Rational Unified ProcessPřizpůsobení procesu 12.12.2005 9 Použité nástroje Interní nástroje: BugsBunny, WAR Externí nástroje: VSS, VJA, Requsite Pro, MSPPoznámky o použitých nástrojích 12.12.2005 10 Řízení rizik odchod zaměstnancůRiziko 3 nesprávné použití RUP, protože se jedná o první nasazeníRiziko 2 problémy s přístupem k zákazníkově DB pomocí sítě nedostatek podpory DB architekta a DB administrátora - zaměstnanců zákazníka Riziko 4 Riziko 1 nesprávné použití RUP, protože se jedná o první nasazeníRiziko 3 nedostatek podpory DB architekta a DB administrátora - zaměstnanců zákazníkaRiziko 2 odchod zaměstnanců vliv konverze na VAJ 3.0 Riziko 4 Riziko 1 Rizika identifikovaná na začátku projektu Rizika identifikovaná během projektu 12.12.2005 11 Řízení rizik - poznámky ke snížení vlivu Riziko 1: Jasná formulace rizika přispěla k získání souhlasu zákazníka s odložením konverze a upřesněním nákladů souvisejících s konverzí. Riziko 2: Uspěla strategie pečlivého a včasného plánování a nasazení koordinátora v místě u zákazníka. Riziko 3: Školení řešitelského týmu v RUP bylo úspěšné. Riziko 4: Riziko zůstalo, ale neuskutečnilo se. Vliv by byl minimální, neboť více řešitelů bylo informováno o každé kritické činnosti 12.12.2005 12 Velikost 12 9 5 Odhad 12Počet složitých PU 9Počet středně složitých PU 5 Skutečnost Počet jednoduchých PU Poznámky k odhadům Klasifikační kritéria: Standardní definice složitosti PU vyhověla. Velikost systému v FP: Velikost změřená v LOC byla normalizována na FP s použitím konverze. Java: 21 LOC = 1 FP, COBOL: 107 LOC = 1 FP 1241 33865 Velikost v LOC 12COBOL 1612 Velikost v FP Java 12.12.2005 13 Plán 0,0015Testování systému 0,04040Integrační testování -2,1144141Vývoj celkem -9,3109Testování jednotek 10 135 42 0 31 odhadnutá doba (dny) 200,0 -1,6 -6,7 0,0 -6,5 % skluz Předávací testy Kódování Podrobný návrh Celkový návrh Požadavky Etapa prodlouženo na žádost zákazníka30 132 38,8 0 28,67 důvody skluzuskutečná doba (dny) 12.12.2005 14 Práce 3586.5343.569.53173.5Životní cyklus celkem 90.00.00.090.0Testování systému 734.0160.56.0567.5Integrační testování 146.517.00.0129.5Testování jednotek 0.0 39.5 14.0 0.0 10.0 přezkoumání 0.0 76.5 29.5 0.0 60.0 přepracování Předávací testy Kódování Podrobný návrh Celkový návrh Požadavky Etapa 336.5336.5 1304.01188.0 695.5652.0 0.00.0 280.0210.0 celkemúkol 12.12.2005 15 Práce 5229.50343.5069.504816.50Celková práce (osoby-hodiny) 1643.00.00.01643.0Řízení celkem 0.37 0.0 0.0 0.0 0.0 přezkoumání 1.84 0.0 0.0 0.0 0.0 přepracování Celková práce (osoby-měsíce) Různé Řízení konfigurací Školení Řízení projektu 27.9725.76 488.5488.5 317.0317.0 104.5104.5 733.1733.1 celkemúkol 12.12.2005 16 Cena kvality COQ = (přezkoumání + přepracování + testování + školení) x 100 / práce celkem = (69.5 + 343.5 + 129.5 + 567.5 + 90 + 336.5 + 104.5) x 100 / 5229.5 = 31.4 % 12.12.2005 17 Defekty -20 -40 16 -73 100 -62 % odchylky 3523Předávací testy 17252529Integrační a systémové testování 40571315Testování jednotek 100 50 10 % z celk. #defektů 145 29 29 odhad #defektů Celkem Přezkoumání kódu Přezk.požadavků a návrhu Etapa 100116 2058 2011 % z celk. odhadu #defektů skutečný #defektů Zdůvodnění odchylek ... 12.12.2005 18 Defekty Zdůvodnění odchylek: 1. Prevence defektů snížila rychlost vzniku defektů v pozdějších etapách, došlo k celkovému snížení rychlosti zanášení defektů. 2. U předchozího projektu, který byl základem pro odhad, se dělalo méně přezkoumání. Důraz byl kladen na testování jednotek. U současného projektu bylo nalezeno více defektů při inspekcích a počet defektů propuštěných do testování jednotek výrazně poklesl. 12.12.2005 19 Efektivita odstraňování defektů NávrhVýrobaPožadavky 91% 29/(29+3)2900Integrační a systémové testování 32% 15/(15+29+3)1500Testování jednotek 55% 58/(58+15+29+3)5800Přezkoumání kódu 0 6 Etapa zanesení defektu 3Předávací testy Přezkoumání návrhu Přezkoumání požadavků Etapa detekce defektu 100%0 100%0 100%5 Efektivita odstranění defektu Celková efektivita odstraňování defektů = 113 / 116 = 97.4 % 12.12.2005 20 Rozložení defektů podle závažnosti ------ostatní5. 2.63kritická4. 31.036velká3. 116 51 26 #defektů 2. 1. celkem 44.0malá 22.4kosmetická % z celk. #defektů závažnost 12.12.2005 21 Rozložení defektů podle typu 0.91znovupoužitelnost8. 1.72konzistence7. 7.79uživatelské rozhraní5. 12.014nadbytečný kód4. 20.724výkonnost3. 4 29 33 #defektů 6. 2. 1. 3.5architektura 25.0standardy 28.4logika % z celk. #defektů Typ defektu 12.12.2005 22 Kauzální analýza a získané poznatky Zhodnocení projektu ve vztahu k plánování: Bylo jen velmi málo výrazných odchylek od očekávaných parametrů procesu. Zdůvodnění odchylek je zapsáno u všech velkých odchylek. Nejdůležitější získané zkušenosti jsou: 1. Inkrementální vývoj je velmi užitečný pro dosažení vyšší kvality a produktivity, protože .... 2. Prevence defektů výrazně redukuje rychlost vnášení defektů. Z pohledu spotřebované práce přináší prevence 5 až 10 násobnou úsporu při redukci práce vynaložené na předělání produktu. 3. Diskuse se zákazníkem o vlivu velkých změn .... 4. Efektivita přezkoumání kódu a testování jednotek je zatím nízká. Je nutné prověřit procesy .... 12.12.2005 23 Aktiva procesu • plán řízení projektu • harmonogram projektu • plán řízení konfigurací • kódovací standardy Java • kontrolní seznam pro přezkoumání kódu • kontrolní seznam pro přezkoumání integračního plánu • zprávy z kauzální analýzy pro prevenci chyb Artefakty, které vznikly při procesu a mohou být užitečné i pro jiné projekty.