1 Řízení projektu A také důsledky (ne)kvality dat Předmět mnoha kurzů a knih Zde hlavní fakta a prostředky možné podpory řízení projektu 2 Definice projektu podle ISO/CSN 1006 •Projekt je jedinečný proces sestávající s více koordinovaných a řízených činností a termíny zahájení a ukončení prováděný pro dosažení předem stanoveného cíle, který vyhovuje specifikovaným požadavkům, včetně omezení danými časem, náklady a zdroji. •Projekt je síť činností mající jeden začátek a jeden konec, alokované zdroje a směřující k vytvoření určitých produktů nebo dosažení určitých změn. S tím je obvykle spojeno riziko 3 Fáze projektu •Vize, proč, cíle (co chceme dosáhnout •Plán, kdy, co, s kým, za kolik, správa rizik •Vlastní vytváření produktu, může se opakovat podle (rámcové) smlouvy –Provedení, vytvoření výstupů –Převzetí resp. akceptace zákazníkem –Vyhodnocení, užívání, podpora 4 Řízení SW projektů pro IS •V podstatě stejné jako u projektů jiných technických oborů •Rozdíly –Velmi malá opakovatelnost, málo použitelných vzorových řešení (best practices, case studies), rychlé změny oboru –Značný vliv důsledků technologie, např. volby SOA. agilita –Nizká cena vytváření nikoliv však nutně cena užívání kopií –Značná svoboda volby způsobů řešení (to se mění) –Nutnost spolupráce s uživateli při vývoji •Nutná kombinace manažerských a informatických znalostí (někdy project leader* project manažer, jindy má vedoucí projektu zástupce, který se stará o administrativu), často jsou nutné i iterdisciplinární znalosti a týmová práce zahrnující i odběratele 5 Řízení SW projektů •Role odborného vedoucího projektu vyžaduje značnou úroveň odborných znalostí (závislost organizace práce a způsobů řešení na architektuře systému), většinou je nutné rozsáhlé zapojení vedoucího (manažera) do řešení odborných problémů. •Odborný talent by se neměl starat o každodenní chod prací. Pro tuto činnost nemívá dostatečné dovednosti. Proto bývá vhodné , aby se o rutinní záležitosti staral specialista na administrativu. •Je pravděpodobné, že se řízení SW projektů stane v budoucnu podobnější řízení projektů v jiných technických oblastech (současná praxe se podobá vztahu mistra a tovaryšů). Mnohé rysy IT jsou překvapivě podobné jiným průmyslovým oborům •Kódování je řemeslo, velký význam talentu –Automatizuje se, scrum je vlastně obdoba manufaktury –Velké rozdíly v rychlosti kódování a v kvalitě kódu, •Dobří kódéři podceňují analytiky a manažéry a platí to i naopak, škodí to obojím –Kecálisti kontra nádeníci –Problém využívání špičkových talentů • 6 7 Řízení SW projektů 1.Plánování, včetně zabezpečení kvality, síť aktivit 2.Vytvoření a řízení a údržba řešitelského týmu, podpora profesního růstu členů týmu a kvality nástrojů 3.Dekompozice problému a zajištění subdodávek 4.Každodenní řízení (operativa projektu) 5.Spolupráce (někdy i boj) s nadřízenými a se „sponzory“ a zadavateli (sttakeholders) projektu, organizace a podpora spolupráce týmu s lidmi mimo tým 8 Infrastruktura projektu •Nástroje a prostředky (SW, HW) –Vývojové prostředky –Propojení v týmu uvnitř i navenek –Dostupnost dat, prostředků jako jsou tiskárny, skenery, kreslicí zařízení atd. •IS projektu, spousta komerčních produktů, viz Computer World 5/2012, často stačí i jednoduché vlastní systémy –Nic se nesmí ztratit, vše potřebné má být dostupné –Tlak na disciplinu –Nutné pro kontrolu průběhu 9 IS projektu, nejdůležitější části •Domovská stránka, měla by obsahovat stručný název, dlouhý název a logo projektu, blog projektu •Log všech komunikací (hlavně e-mailu) •Dokumenty (fulltextová databáze), každý dokument s id tvůrce a id vlastníka, především –Všechny verze vývojových dokumentů, především vize-cíle, specifikace požadavků, důležitá data návrhu a samotné programy včetně testových dat –Deník projektu se záznamy jednání, zápisy, FAQ, výsledky testování a zkušenosti z provozu –Texty smluv, záznamy jednání •Někdy je třeba doplnit i id oponentury apod. •Mnohé prostředky jsou open source, často se používá MS Project. Mnohé je vhodné pro velké projekty 10 Řízení projektu při agilním vývoji •Důvody IS projektu, opakování –Vše je po ruce, –Podpora řízení a kontrole –Nic důležitého se neztratí –Na nic se nezapomene –Vytvářeni business inteligence, růst týmu •Platí i pro agilní formy vývoje (i tam se dá leccos zapomenout, některé požadavky se zapomenou, není vždy zaručeno, že se zadavateli nebudou spory, není zaručena vystopovatelnost a udržovatelnost, je žádoucí uplatnit vyšší varianty CMM). 11 Plán zajištění kvality, ISO 900003, ISO250xx, ISO 20000 1.Účel 2. Seznam dokumentů, na něž se plán odvolává. 3.Popis organizace týmu a rozdělení odpovědnosti. 4.Seznam úkolů pro zajištění kvality ve vazbě na etapy životního cyklu, mj. pravidla provedení kontrol, oponentur a auditů. 5.Seznam dokumentů, které musí být vypracovány.. 6.Popis metod, praktik a konvencí, např. normy na kódování. 7.Prováděné inspekce, revize a audity. • 12 Plán zajištění kvality, ISO 900003 8.Řízení konfigurace, tj. metody a prostředky kontroly toho,zda jsou spojovány správné moduly a jejich verze, řízení a kontrola změn . 9.Metody evidence a způsob řešení zjištěných problémů a závad. 10.Použité softwarové prostředky a použité metodologie. 11.Metody kontroly kódu, tvar knihoven a normy jejich použití. 13 Plán zajištění kvality, ISO 900003 12.Způsob ochrany médií a záznamy na nich: zálohování, ochrana před neautorizovanými zásahy, uchovávání verzí atd. 13.Pravidla kontroly subdodávek. 14.Pravidla údržby dokumentů nutných pro zajištění kvality. 15.Audity. •Modernizace přístupu v ISO250xx 14 Seznam úkolů, bod 4 1.Inspekce požadavků na software. 2.Inspekce předběžného návrhu, ověření technické proveditelnosti (feasibility study). 3.Inspekce návrhu, ověření, zda návrh odpovídá požadavkům. 4.Oponentura způsobu testování, jeho adekvátnosti a úplnosti metod. 5. Kontrola dodržení funkcí před předáním, ověření, zda funkce již realizovaného softwaru odpovídají specifikacím. 15 Seznam úkolů, bod 4 7.Fyzická kontrola úplnosti dodávky. 8.Průběžné kontroly.Obvykle se prověřují: a) programy proti specifikacím, b) správnost rozhraní, c) implementační rozhodnutí -- zda zajišťuje správnost funkcí, d) testy -- zda prověřují správnost všech funkcí. 16 ISO 250xx, 270xx •ISO 250xx: SW Products Quality Requirements and Evaluation, –několik subnorem –Náhrada ISIO 9000 9126 •ISO 270xx Software security management •ISO 20000 Management and processes 17 Řízení konfigurace •Zajistit montáž v požadovaném čase ze správných a prověřených částí, obecně průmyslový problém •Některé OS a CASE nástroje mají podpůrné prostředky (Make, SCCS) •Plán řízení konfigurace má podobnou strukturu jako plán zajišťování kvality, s některými odchylkami, které souvisí s algoritmy zjišťování správnosti konfigurace a s pravidly pro provádění změn. –konvence pro tvoření jmen a čísel verzí, –pravidla práce s médii, zásady provádění změn, –doporučení zásad práce a struktury dohlížecího výboru atd. 18 Plán řízení konfigurace •odpovědnosti řešitelů a pravidla vedení projektu, •vazby na ostatní dokumenty, především na plán zajištění kvality, •termíny inspekcí a kontrol vázaných na vytváření konfigurace, •způsob sledování změn rozhraní -- specifikace rozhraní, postup • přijímání změn, údržba dokumentů o rozhraní, ověření rozhraní "za běhu" systému, • použití organizačních postupů: zařazení realizovaného softwaru do vyššího celku, pravidla pro rozsah testů před zahrnutím části do celku atd., • metody správy konfigurace: stavba knihoven, práva přístupu, zásady ochrany, jištění, historie změn, vzpamatování po výpadku atd., • použití softwarových nástrojů a technik 19 Varianty týmové práce •Pevný tým –Úkoly se hledají k týmu –Víceméně nutnost u malých firem •Najímaný tým –Vedení pevné pro daný projekt, ostatní se z pracovníku firmy „najímají“ podle potřeby (nejde u malých firem) –Vhodné pro spíše rutinní práce –Pro kódování a zčásti i testování se používá hosting a modifikace extrémního programování 20 Problémy týmové práce •Late team increase makes project late •Velký rozptyl výkonnosti (1:20, jeden za 30, poněvadž tým o 20 vyžaduje řadu organizačních a podpůrných činností) •Specifické požadavky na různé role •Náplň rolí silně závisí na typu a velikosti projektu –Velký/malý,nekritický/kritický, nový/rutina, … •Použít function points, případně COCOMO – odhady jsou málo spolehlivé, zvláště v případě SME, nboť není dostatek dat pro kvalitní odhady – 21 Zbytečná administrativa •U velkých a složitých systémů jejichž selhání může způsobit velké škody je nutné papírovat a oponovat •U menších projektů se vyplatí udržovat ty dokumenty, které jsou celkem užitečné a s nimiž je co nejmenší práce •Při vhodných nástrojích není generace dokumentů náročná a uživatel může být velký •Volba optimálního rozsahu dokumentace je důležitou povinností vedoucího týmu 22 Varianty vývoje obvykle pro monolity •Agilní forma je vhodná pro nekritické úlohy, malý projekt (tisíce řádků), vstřícní uživatelé, kvalitní a znalí řešitelé schopní používat moderní SW nástroje •Rapid delivery: Dodávka do několika málo měsíců, do pěti řešitelů. I ekonomické ztráty, střední projekty, kvalitní řešitelé •Express. Větší projekty, i průměrní řešitelé, nejde o životy: ´1-2 roky, 5-10 řešitelů •Iterace, inkrementy v ostatních případech • 23 Síťový graf projektu Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 24 Nejdříve možný začátek •Maximum nejdříve možných konců předchůdců •Předpoklad, jeden zdroj, jedna nora, acykličnost grafu (dá se oslabit/obejít), souvislost grafu •Počítá se tedy od zdroje •Konec = Začátek + Doba řešení 25 Výpočet nejdříve možných zahájení a ukončení prací Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0) (0,3) (0,2) 26 Výpočet nejdříve možných zahájení a ukončení prací Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0) (0,3) (0,2) (3,7) (7,9) (2,8) (7,11) 27 Výpočet nejdříve možných zahájení a ukončení prací Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0) (0,3) (0,2) (3,7) (7,9) (2,8) (7,11) (11,15) (7,9) (15,15) 28 Nejpozději možné ukončení •Minimum nejpozději možných zahájení následníků •Počítá se od nory 29 Výpočet nejpozději možných zahájení a ukončení prací Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0) (0,3) (0,2) (3,7) (7,9) (2,8) (7,11)11 (11,15)15 (7,9)15 (15,15)15 30 Výpočet nejpozději možných zahájení a ukončení prací Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0) (0,3) (0,2) (3,7)7 (7,9)11 (2,8)11 (7,11)11 (11,15)15 (7,9)15 (15,15)15 31 Výpočet nejpozději možných zahájení a ukončení prací Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0)0 (0,3)3 (0,2)5 (3,7)7 (7,9)11 (2,8)11 (7,11)11 (11,15)15 (7,9)15 (15,15)15 32 Kritická cesta •Cesta od zdroje k noře mající tu vlastnost, že prodloužení řešení libovolné činnosti na kritické cestě zvětší dobu řešení projektu •Kriterium – nejpozději možné ukončení je rovno nejdříve možném ukončení 33 Výpočet kritické cesty Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0)0 (0,3)3 (0,2)5 (3,7)7 (7,9)11 (2,8)11 (7,11)11 (11,15)15 (7,9)15 (15,15)15 34 Kritická cesta Vize 0 Specifik. 3 Plán testů 2 Data testů 2 Programy testů 6 Návrh 4 Kódování4 Předání 0 Testování 4 Dokumentace2 (0,0)0 (0,3)3 (0,2)5 (3,7)7 (7,9)11 (2,8)11 (7,11)11 (11,15)15 (7,9)15 (15,15)15 35 Kritická cesta je Goldrattovo úzké místo projektu •Zkrácením činností mimo kritickou cestu se nezkrátí doba řešení, kritická cesta je Goldrattovo úzké místo •Manažerské pravidlo – sledovat kritickou cestu •Kritická cesta může být i při malých změnách dob řešení nestabilní 36 Ganttovy grafy, grafické řešení kritické cesty •Uzly grafu jsou úsečky v délce úměrné době umístěné na časové ose pro každou činnost tak, aby ukazoval kdy bude činnost vykonávána •Časové závislosti a následnosti jsou vyjádřeny šipkami jako v síťovém grafu •Kritická cesta se dá vypočítat i šoupáním úseček •Výhodou je, že je okamžitě vidět souběžnost činností a že je to velmi názorné. Forma presentace problému je tady zcela zásadní 37 Ganttovy grafy, lze najít kritickou cestu Specifikace Návrh Kódování Tst. plán Tst. data Tst. programy Testování Předání XXX XX XXXX XXXX XXX XXXXX XXXX X 38 Ganttovy grafy, jiné měřítko, viz grafiku v MSProject Specifikace Návrh Kódování Tst. plán Tst. data Tst. programy Testování Předání XXXXXX XXXXXX XXXXXXXX XXXXXXXX XXXXXX XXXXXXXXXX XXXXXXXX X 39 Další použití Ganttových grafů •Ganttovy grafy jsou široce používány při plánování výrob, ale také při tvorbě rozvrhů, např. ve škole, jaou v MS Project. •Z Ganttova grafu projektu jsou odvozovány Ganttovy grafy využití jednotlivých zdrojů, např. rozvrhy práce jednotlivých pracovišť nebo pracovníků 40 PERT grafy •Doby práce jednotlivých aktivit nebývají známy a navíc bývají ovlivňovány různými neočekávanými událostmi. Musí se proto odhadovat. •Metoda PERT navrhuje, by se spolu s odhadem očekávané doby řešení (jak jsme si to ukazovali při hledání kritické cesty), prováděl ještě optimistický odhad doby řešení, když to půjde velmi dobře a pesimistické doby řešení, kdy se nebude dařit. Doporučuje se tedy udávat dolní i horní hranici konfidenčního intervalu 41 PERT grafy, problémy •Doby práce jednotlivých aktivit nebývají známy a navíc bývají ovlivňovány různými neočekávanými událostmi. Musí se proto odhadovat. To bývá obtížné, ale ještě obtížnější je odhad hranic konfidenčního intervalu, hlavně té dolní, •V reálných situacích mají pracovníci tendenci jako pravděpodobnou dobu řešení udávat horní hranici konfidenčního intervalu, neboť bývají postihováni za nedodržení termínů. Vedení má naopak tendenci prosazovat jako optimální dolní odhady. •Jedno z řešení je metoda kritického řetězce 42 Problémy kritické cesty •Metoda kritické cesty se dá zobecnit tak, aby byl zohledněn problém soutěže a společné zdroje •V praxi se osvědčuje při plánovaní činností, které se opakují a kde lze doby řešení dobře odhadnout, dokonce změřit •V případech, kdy jsou odhady nejisté, jak je pravidlem při vývoji SW, nebývají výsledky dobré •MS Project je založen na metodě kritické cesty. MS Project využívá rozhraní založené na Ganttových grafech. 43 Problémy kritické cesty, boj o měkké normy •V SW bývá obvykle málo spolehlivých dat potřebných pro dobrý odhad (malá opakovatelnost, nové typy požadavků, změny technologie) – je nutno se spolehnout na odhady řešitelů jednotlivých úkolů. •Pokud někdo nesplní termín, má potíže •Důsledek: Odhady se licitují a volí tak, aby byla malá pravděpodobnost, že se termín nesplní (tj. volí se horní hranice konfidenčního intervalu) 44 Problémy kritické cesty, boj proti zpevňování norem •V dobách řešení jsou velké rezervy. Přesto se i pak se termín obvykle prošvihne. Proč? •Pokud někdo skončí dříve, práci neodevzdá z obavy, že příště by nevylicitoval měkký termín, dali by mu tvrdší termín a on by čelili riziku, že ho nesplní. 45 Problémy kritické cesty, syndrom „líného“ studenta •V dobách řešení jsou velké rezervy, proč i pak se termín projektu obvykle prošvihne? •Pokud má někdo rezervu nezačne včas pracovat (dělá na něčem jiném). Pracovat začne až když má dojem, že už je třeba začít, že by to už při dalším čekání nemusel stihnout. Pak ale často (s pravděpodobností v jednotkách procent, ve špatně vedených týmech i v desítkách procent) nestihne svůj termín. Skluz už se obvykle nedohoní v důsledku boje proti zpevňování norem. Problém není v lenosti •V době, kdy mám takzvaně čas mohu dělat něco jiného (učit se na jinou zkoušku) v podniku by vznikl zbytečně prostoj •O lenost může také jít a to je ta nejhorší varianta, neboť poflakování zhoršuje pracovní návyky 46 47 Problémy kritické cesty, efekt multitaskingu a vyšší moci •V dobách řešení jsou velké rezervy, proč i pak se termín projektu obvykle prošvihne? •Pokud se neudělají opatření, vznikne často situace, kdy nelze na určitém úkolu začít pracovat, protože se dělá na jiné úkolu, jindy nelze začít pracovat,protože předchůdce neskončil včas, což nemusí být jen lenošením – efektem líného studenta, také mohou být potíže s kapacitou uzlů (drahé stroje, specialisté), které pracují pro více projektů •Výsledek: Nutně dojde ke skluzům a je malá naděje, že se skluzy podaří dohnat, protože se pracovníci bojí zpevňování norem 48 Řešení, kritický řetězec •Kritický řetěz funguje jen, když jsou řešitelé ochotni odhalit reservy a neskrývat, že jsou hotovi dříve, než se plánovalo. •Odměny za dodržení termínu (za zkrácení není další bonus, vedlo by to opět k licitování) •Termín se odvozuje z očekávané doby řešení •Navíc má každá činnost odhad doby, když jdou věci špatně (horní hranice konfidenčního intervalu) •Termín pro celý projekt se určuje jako odhad horní hranice konfidenčního intervalu jeho řešení 49 Řešení, kritický řetězec •Každý začne pracovat hned, jak je jeho předchůdce hotov. To ale znamená, že je nutné nějak vyloučit efekt multitaskingu, To se řeší tak, že se dané činnosti postupně stále přesněji oznamuje, kdy bude třeba začít pracovat na daném projektu (činnost je tedy spravována jako autonomní služba) •Práce se odevzdává v okamžiku, kdy je hotova. Její začátek se ale postupně zpřesňuje •Důsledek: Dosti často se daří, aby práce trvala přibližně tak dlouho, jako kdyby byla zcela nezávislá 50 Pravidla hry podrobněji 1.Především změníme způsob plánování prací. Nebudeme stanovovat, kdy se přesně na jednotlivých etapách začne pracovat a kdy práce skončí. Místo toho se stanoví, jak dlouho bude asi řešení etapy trvat (např. odhad střední doby práce nebo mediánu, často se volí polovina odhadu H horní hranice konfidenčního intervalu), a kdy se asi na ní bude moci začít pracovat. 51 Pravidla hry podrobněji 2.Práce na etapě se zahájí co nejdříve od okamžiku, kdy je to možné práci zahájit. Aby tomu bylo možné vyhovět, je postupně zpřesňován odhad okamžiku, kdy bude možné začít na etapě pracovat. K tomu je nutné mít průběžné informace o stavu řešení předcházejících etap. Zkušenost ukazuje, že tento postup skutečně umožňuje, aby řešitelé zorganizovali práci tak, aby mohli začít na projektu pracovat hned, jak je to možné. 3. 52 Pravidla hry podrobněji 3.Od okamžiku zahájení prací se pracuje pouze na úkolech spojených s řešením etapy a pracuje se s maximální intenzitou (to vylučuje efekt líného studenta a multitaskingu). 4.Řešitelé dostatečně často předem hlásí, kdy asi budou hotovi a práci odevzdávají hned, jak jsou hotovi (to je nutné pro bod 1). 53 Pravidla hry podrobněji •Tomu lze vyhovět jen tehdy, jsou-li řešitelé ochotni pracovat naplno a odhalovat své rezervy. Musí být proto zainteresováni na úspěchu projektu a musí mít také jistotu, že se proti nim nepoužije procedura zpevňování norem. •Vedení projektu musí naopak chápat, že jsou termíny kruté a že se často nesplní. Z nesplnění termínu by neměly být zpravidla vyvozovány žádné postihy. Všichni by měli mít prospěch ze zkrácení doby řešení a z prémií za včasné dokončení celého projektu, nejen jejich úkolu. Podstatnou roli tedy hrají psychologie a sociální aspekty fungování týmu. To je u IS standardní situace. •Je dobré provádět analýzu dat, kdy a jak je kdo hotov s dlouhodobým cílem odhalit lenochy, netrestat ale hned kritická místa a postupy • 54 Potřebné znalosti •M střední hodnota (zjednodušeně průměr) •D rozptyl, σ směrodatná odchylka σ = Ö D •Rozptyl součtu nezávislých náhodných veličin je součet rozptylů (lze dokázat) •Takže σsoučtu = ÖSσi2 •V běžných situacích •P(M+3σ < X 0.95 • 55 Kritický řetězec – doba řešení je součtem nezávislých n.v. •Doba řešení T klasické metody kritické cesty bývá • T ³ S (ti+3 si) •Doba řešení pro kritický řetězec bude většinou •T » S (ti+3Ö S si2) xxxxxsss xxxxxsss xxxxxsss xxxxxsss xxxxxsss xxxxxsss xxxxxxxxxxxxxsssss 56 Přípojné buffery Délka nárazníku » (3Öåsi2) 57 Přípojné buffery 58 Práce s přípojnými buffery •Předpokládejme, že návaznost činností v projektu tvoří více lineárních úseků, které se postupně spojují. V tom případě najdeme kritickou cestu. Připojíme za ní nárazník projektu jehož velikost je dána rezervami činností na kritické cestě. Činnosti mimo kritickou cesto zobrazíme jako větve stromu (obr. KC2). Aby činnosti mimo kritickou cestu a projekt se dal lépe řídit je žádoucí doplnit nárazníky délky vypočtené výše uvedeným způsobem pro každou postranní větev. Tyto nárazníky nazveme přípojné nárazníky •Při řízení projektu se sledují pro každou větev výše uvedeným způsobem přípojné nárazníky a nárazník projektu. Pokud přípojný nárazník nestačí (je vyčerpán) zkrátí se i nárazník projektu. • 59 Soutěž o zdroj X •Klasická metoda kritické cesty nedostatečně zvažuje případ, kdy je nějaká činnost X prováděna na více větvích, nebo dokonce ve více projektech (příkladem mohou být kontrolní nebo dokumentační činnosti). Řešení tohoto problému je poměrně komplikované, dobře pracuje následující přiblížení. 60 Soutěž o zdroj X •a) Činnosti X se považují za činnosti na kritické cestě a proto přispívají standardním způsobem ke zvětšení projektového nárazníku (tato cesta se nazývá kritický řetěz). •b) Před každou činností X se vytváří přípojný nárazník. •c) Pro činnost X je možné vytvořit frontu prací obsluhovanou v závislosti na termínech navazujících etap v projektu. •d) Pokud je X úzké místo celé firmy (do značné míry určují výkon firmy) dostávají přednost požadavky těch projektů, pro které má zlomek (výnos projektu)/(doba vytížení X) maximální hodnotu. •Komplikovanější řešení používá i plánování kritického zdroje (podle teorie omezení bývá jen jeden). 61 Hodnocení •Mnohé nedořešeno (obecné acyklické grafy sítí činností) •Osvědčuje se podle dostupných zpráv •Chtělo by to asi lepší statistické zpracování obecnějších případů •Vyžaduje společný zájem všech zúčastněných •Pravidla spolupráce (odhalování rezerv) je možné a rozumné využívat neformálně 62 Hodnocení •Krásný příklad, jak řešení závisí na kvalitě dat a také na tom, že i pak je řešení závislé na na dobrých vztazích v podniku, jeho kultuře a morálce. •Považuji-li lidi za onuce, nemohu čekat dobré výsledky •Psychologický kapitál může být zatraceně významný •Dobrý vztah k lidem není věc dobročinnosti ale chladného kalkulu •Kritický řetěz je zaměřen na operativu nikoliv dlouhodobé úkoly Řešení problémů líný student a zpevňování norem kontrolou a přechodem od řemeslné k manufakturní práci Dekompozice, přechod k velkovýrobním postupům 63 64 The Scrum process. Scrum is an iterative, incremental framework for agile software development. Although magnify-clip The Scrum process. Scrum is an iterative, incremental framework for agile software development. Although 400px-Scrum_process magnify-clip http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Scrum_process.svg/400px-Scrum_process.svg. png Zásobník úkolů Výběr úkolů Každodenní kontrola Přebírání úkolů Přiřazení a formulace úkolů Analytici Kodéři a testéři Integrátoři Je důležité, jak se volí témata a formuluje jejich cíl Míra spoluúčasti uživatelů a programátorů!!!!!!! Agilní scrum zlepší pravidlo 80/20 •Správně vybraný úkol sprintu umožní podstatně zlepšit analýzu a tedy i kvalitu následných sprintů, to je věc kterou Pareto neuvažoval, pravidlo 80/10 zvažuje jen řazení již pevně daných úkolů •V SW asi lze dosáhnout vztahu 90/10, ale za podmínky správné formulace vizí. • 65 Růst rozsahu a složitosti norem má obdobu textech zákonů •Law is Code: A Software Engineering Approach to Analyzing the United States Code •William Li,∗ Pablo Azar,∗ David Larochelle,∗ Phil Hill,∗ and Andrew W. Lo∗ •This Revision: September 21, 2014 • •Výstup projektu a iniciativy SSRN • Možný průšvih,viz SSHD projekt Metrika McCabe pro legislativu USA 100 0 200 STÁLE JE AKTUÁLNÍ NÁSLEDUJÍCÍ KARIKATURA •Pokrok ve formulaci cílů a obecně analýze není uspokojivý 70 71 72 73 2013 74 2013 2013 75 76 Lidé se často rozhodují neracionálně •Podvědomé obavy •Lenost •Chybějící znalosti •Podceňování složitosti úkolu (GAČR) •Snaha se někomu pomstít (boj proti ponorkám za války, raději bombardovat a to ještě ne rafinérie, v míru jsou podobné případy) 77 78 U malých projektů agilita moc nepřináší Hypotéza – nelze je rozumně dekomponovat 79 80 81 82 83 84 Mindmap (use cases) Sledování příčin a následků Sledování problémů a opatření Mnoho i freeware řešení www.Mind42.com