Manažment v Tvorbe Softvéru 2017/2018 Prednáška 6
Životný cyklus projektu Postupnosť etáp z pohľadu riadenia projektu Sekvenčná, iteratívna, prekrývajúca sa ČAS Typy Prediktívny Adaptívny vodopádový rozsah, rozvrh aj náklady sú určené na začiatku a akékoľvek zmeny sú dôkladne riadené. KVALITA ROZSAH Agilný, Inkrementálny, Iteratívny Rámcový obsah je určený na začiatku projektu Podrobný rozsah je určený na začiatku každej fázy projektu (iterácie) Hybridný kombinácia predošlých dvoch Niektoré (dobré známe, jasné) časti sú riadené prediktívne, niektoré adaptívne NÁKLADY
PMBOK PMBOK:
Základný pohľad na manažment
Inicializácia Procesy, činnosti, úkony, ktoré vedú k vzniku Projektu (default) Fázy/iterácie...
Inicializácia projektu
Inicializácia
Zriadenie projektu OZ: Manažment integrácie projektu Rozpoznanie, že/či projekt má zmysel zhromaždenie, utriedenie všetkých relevantných informácií a podkladov potrebných pre plánovanie projektu predchádza tomu štúdia vhodnosti (angl. feasability study), resp. analýza biznis case Podnety pre vznik projektu: požiadavka trhu Vnútrofiremná potreba požiadavka (objednávka) zákazníka potreby prestíže, marketing výhody a možnosti novej technológie požiadavky legislatívy...
Zriadenie projektu OZ: Manažment integrácie projektu Rozpoznanie, že/či projekt má zmysel zhromaždenie, utriedenie všetkých relevantných informácií a podkladov potrebných pre plánovanie projektu predchádza tomu štúdia vhodnosti (angl. feasability study), resp. analýza biznis case Podnety pre vznik projektu: požiadavka trhu vnútrofiremná potreba požiadavka (objednávka) zákazníka potreby prestíže, marketing výhody a možnosti novej technológie požiadavky legislatívy...
Zriadenie projektu OZ: Manažment integrácie projektu Rozpoznanie, že/či projekt má zmysel zhromaždenie, utriedenie všetkých relevantných informácií a podkladov potrebných pre plánovanie projektu predchádza tomu štúdia vhodnosti (angl. feasability study), resp. analýza biznis case Podnety pre vznik projektu: požiadavka trhu vnútrofiremná potreba (napr. plánovanie teambuildingov) požiadavka (objednávka) zákazníka potreby prestíže, marketing (napr. hlasová biometria) výhody a možnosti novej technológie (napr. platby online, mobilné aplikácie) požiadavky legislatívy (napr. zaručený el. podpis)...
Zriadenie projektu Treba vyhodnotiť: ohraničenia prostredia (vládne alebo priemyselné štandardy, regulačné ohraničenia, politická kultúra,...) vnútrofiremné politiky (organizačné štandardy a metodiky, strategické ciele spoločnosti, firemná kultúra, systém zabezpečovania kvality, organizačné zvyklosti, historické projektové know-how) rôzne typy dohôd, ak sú v tomto momente definované (MOU, SLA) Cieľom je zabezpečiť vzájomné porozumenie u všetkých zainteresovaných na projekte (stakeholder-ov) V rámci procesu sú zahrnuté aktivity ako komunikácia s kľúčovými zainteresovanými subjektmi (transfer informácií, stretnutia), zber ďalších dát a posúdenie expertmi na základe ich skúseností a expertízy
Zriadenie projektu Výstup: formálny (podpísaný) dokument o projekte, typicky zahŕňa: Zámer projektu Merateľné ciele a kritéria úspechu projektu Hrubé požiadavky (high-level) Hrubý opis projektu, ohraničenia Celkové projektové riziká Sumarizované míľniky Predschválené finančné zdroje Kľúčových zainteresovaných na projekte (externí, interní) Prideleného projektového manažéra Zodpovedné osoby za projekt Proces sa môže týkať aj fázy projektu (vzniká dokument k fáze)
Identifikácia zainteresovaných OZ: M. subjektov zainteresovaných na projekte Cieľom je identifikácia, teda určenie základných zainteresovaných a analýza ich záujmov, miery účasti, vzájomných vzťahov, vplyvu a potenciálneho dopadu na úspech projektu Výsledkom je odhad miery, s ktorou sa tomu-ktorému zainteresovanému treba v projekte venovať Prebieha súbežne so zriaďovaním projektu Aktivity zahŕňajú zber dát o zainteresovaných (dotazníky, brainstorming), ich analýzu (s cieľom identifikovať záujmy, právomoci, vlastníctvo, znalosti, ktorými disponujú, a potenciálny príspevok), analýzu ďalších relevantných informácií (predošlé projekty)
Identifikácia zainteresovaných Výsledkom je štruktúrovaná a formalizovaná informácia o zainteresovaných: Identifikačné údaje Kľúčové atribúty: hlavné požiadavky, očakávania, potenciál ovplyvniť výstupy projektu, fázy projektu, kedy má aký veľký vplyv/dopad Klasifikácia: interní/externí, miera vplyvu (impact/influence/power/interest), smer vplyvu (upward/downward/outward/sideward), prioritu Proces môže byť v rámci projektu cyklicky opakovaný (napr. vstup investora)
Identifikácia zainteresovaných Zapojenie externých zainteresovaných počas trvania projektu
Plánovanie v projekte
Plánovanie Prečo plánujeme - dôvody znížiť neistotu / neurčitosť / nepredvídateľnosť výsledku zvýšiť výkonnosť (efektívnosť) tímu zexplicitniť a porozumieť cieľom projektu položiť základ pre kontrolu a riadenie práce vytvorený plán musia všetci zainteresovaní odsúhlasiť tvorba plánov časovo a kapacitne malá, ale kriticky dôležitá činnosť jej podcenenie môže predstavovať vysoké riziko pre projekt
Plánovanie Prediktívne riadenie: Snaha mať čo najpresnejší plán čo najskôr (na začiatku) Adaptívne riadenie: Snaha mať čo najpresnejší plán čo najneskôr Úrovne: Product planning (product roadmap) Release planning Iteration planning Daily plan
Plánovanie
Vytvorenie plánu manaž. projektu OZ: Manažment integrácie projektu Zastrešujúci proces pre plánovanie, teda pre definovanie, prípravu a koordináciu všetkých elementov plánovania Vytvorenie komplexného dokumentu, ktorý definuje základ pre prácu na projekte a spôsoby, akými má byť práca realizovaná Dokument = Plán manažmentu projektu Integruje a dopĺňa plány jednotlivých OZ a ďalšie projektové dokumenty Treba vyhodnotiť: Známe ohraničenia projektu Organizačné politiky, veľkosť a zložitosť projektu, identifikované riziká, zložitosť domény, dostupnosť postrebných zdrojov Cyklicky vykonávajúci sa proces aj pri prediktívnom riadení Pri adaptívnom riadení sa na tento procese vynakladá menej úsilia
Plánovanie manažmentu [OZ] Procesy vedúce k vytvoreniu plánov pre zodpovedajúcu OZ Výstupom sú dokumenty plánov a ďalšie projektové dokumenty Generické (Plán činností, plán nákladov,...) SW špecifické (Plán informačnej bezpečnosti, plán nasadzovania,...) Vytváranie a udržiavanie plánov je nosná časť práce projektového manažéra (na ostatných procesoch často participujú aj (iní) experti analytici, architekti, alebo napr. plánovanie nezávislých testov musí robiť iná funkčná skupina) Pri adaptívnom riadení sa na túto skupinu procesov vynakladá menej úsilia
Plánovanie rozsahu projektu Plánovanie manžmentu rozsahu Ako bude plánované, čo sa v projekte vytvorí Získanie požiadaviek Definovanie rozsahu Vytvorenie WBS
Plánovanie manažmentu rozsahu Určenie, ako bude plánované to, čo sa v projekte vytvorí Dané zvoleným životným cyklom softvéru Hrubé rozšírenie plánu rozsahu na základe dokumentu zriadenia projektu Prediktívne riadenie: Zber a definovanie požiadaviek na začiatku Identifikácia míľnikov (ich obsahu) Adaptívne riadenie Požiadavky sa vyvíjajú v čase, zberajú a definujú sa počas celej doby Plánovanie tzv. Releasov (cyklov vydaní) Čo bude v ktorom release dodané Počet releasov je výrazne vyšší ako počet míľnikov pri prediktívnom riadení
Plánovanie rozsahu pri adaptívnom riadení (Prediktívne riadenie sa líši počtom čŕt aj inkrementov)
Zber požiadaviek Podrobné identifikovanie, zdokumentovania a manažovanie potrieb zainteresovaných (najmä zákazníkov) v kontexte cieľov projektu Rozšírenie toho, čo bolo hrubo definované pri inicializácii, resp. úvodnom pláne rozsahu Explicitné vyjadrenie požiadaviek: Biznis požiadavky Požiadavky zainteresovaných Požiadavky na softvérové riešenie (produkt, služba) Funkcionálne Nefunkcionálne Projektové požiadavky Požiadavky na kvalitu
Zber požiadaviek Úzko späté s biznis analýzou Niekedy aj ako samostatná manažérska oblasť: requirements management Techniky zberu požiadaviek: Interview Tzv. Focusované skupiny, workshopy Techniky skupinovej kreativity Brainstormin, mind mapping, affinity diagrams, Dotazníky, prieskumné ankety Pozorovanie Analýza dokumentov Prototypovanie (papier) Modelovanie persón
Zber požiadaviek Výstupom je zoznam požiadaviek (všetkých typov) a ich dokumentácia: Matica dosledovateľnosti požiadaviek
Zber požiadaviek Prediktívne riadenie Snaha mať zoznam všetkých požiadaviek na začiatku a mať ich dôkladne zdokumentované Existujúce štandardy: IEEE Standard 830 and IEEE Standard 1362 Use case + dokumentácia Adaptívne riadenie Produckt backlog Themes, Epics, Feature sets Priebežne aktualizovaný User story
Definovanie rozsahu Detailný opis rozsahu produktu a projektu Čo všetko má aj čo nemá byť zahrnuté (z identifikovaných požiadaviek) Čo presne bude dodané (deliverables) Akceptačné kritériá Pri adaptívnom riadení rozsah nemusí byť fixný Je určený časový rámec, ktorý sa naplní prácou na základe velocity tímu (založené na dôvere) Agile: 'customer collaboration' over 'contract negotiation'
Vytvorenie WBS Work Breakdown Structure (WBS) hierarchické zoskupenie prvkov (úloh, produktov), stromová štruktúra zásady: integrita (úplnosť) nič sa nesmie stratiť (zabudnúť) súdržnosť prvky po rozklade musia spolu ladiť jednoduchosť dekompozícia len pokiaľ sú prvky zmysluplné dajú sa merať ich podstatné charakteristiky
Work Breakdown Structure (WBS) výhody uľahčenie manažmentu projektu priradenie dekomponovaných úloh jednotlivcom zabraňuje plánovať na príliš vysokej (hrubej) úrovni rozdelenie do etáp a fáz lepší prehľad, optimalizácia alternatív zmysluplné rozhodovacie body križovatky typy: Objektovo-orientované Etapovo-orientované Funkčne-orientované
WBS - príklady
WBS nie je... vyčerpávajúci zoznam činností plán projektu, harmonogram, ani chronologický výpis ale komplexný opis rozsahu dodávky projektu WBS určuje čo se bude robiť, ale nestanovuje ako ani kedy organizačná hierarchia ale môže byť neskôr použitá pri priraďovaní zodpovednosti
Iteratívne rozpracovanie WBS
Plánovanie rozvrhu Plánovanie manažmentu rozvrhu Definovanie činností Zoradenie činností Odhad trvania činností Vytvorenie rozvrhu
Definovanie činností Identifikácia a dokumentovanie činností, ktoré treba vykonať na zabezpečenie požadovaných výsledkov projektu (identifikované v rozpise prác; WBS) Najčastejšie artefakty: Prediktívne riadenie: Use Case Adaptívne riadenie: User Story Dôležité: vhodná miera podrobnosti
User story - INVEST Independent Negotiable You must always be able to estimate the size of a user story. Small A user story must deliver value to the end user. Estimable User stories, up until they are part of an iteration, can always be changed and rewritten. Valuable The user story should be self-contained, in a way that there is no inherent dependency on another user story. User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty. Testable The user story or its related description must provide the necessary information to make test development possible.
Dôležitá vlastnosť softvéru: fidelity Fidelity = (hodno)vernosť
Dôležitá vlastnosť softvéru: fidelity Najčastejšie: miera podrobnosti vizuálneho návrhu danej funkcionality Low fidelity - papierový prototyp, wireframy Medium fidelity - základný klikateľný prototyp High fidelity - plnohodnotný vizuálny zážitok Okrem vizuálnej podrobnosti vieme identifikovať viac typov fidelity: Level of Visual Refinement, Breadth of Functionality, Depth of Functionality, Richness of Interactivity, and Richness of Data Model
Definovanie činností Má každý výstup (z definície rozsahu) stanovenú činnosť, ktorou je vytváraný? Má každá činnosť stanovenú osobnú zodpovednosť? Sú definované všetky činnosti (napr. aj organizovanie stretnutí, tlač a viazanie dokumentácie,...)? Má každá činnosť definované kritérium ukončenia? Ak niektoré potrebné činnosti nemajú merateľný výsledok ( zvládnutie novej technológie ) sú definované uplynutím času? Sú činnosti opísané jednoznačne, nie však príliš podrobne?
Zoradenie činností Čo musíme brať do úvahy?
Zoradenie činností Identifikovanie a stanovenie vzťahov (časových) medzi činnosťami hard logic (nevyhnutné, bezpodmienečné) soft (preferred) logic (odporúčané, podmienečné, na zváženie, dobre zdokumentované) napr. nemožno testovať (akceptačne), keď nie je čo napr. best practices v rámci firmy externé (vonkajšie) k iným projektom (entitám), než je predmetný projekt
Metódy tvorby diagramov činností Arrow diagramming method (ADM) uzly: míľniky hrany: činnosti číslovanie uzlov (orientácia v stave riešenia) Precedence diagramming method (PDM) Uzly: činnosti Hrany: závislosti koniec-začiatok (najčastejšie) začiatok-začiatok koniec-koniec začiatok-koniec
Zoradenie činností Pri vytváraní grafu činností treba uvažovať najmä: aké činnosti musia byť ukončené pred začatím danej činnosti aké činnosti možno vykonávať súbežne s danou činnosťou aké činnosti nemôžu začať, pokiaľ sa iná činnosť neskončí
Odhad trvania činností cieľ: dĺžka trvania každej plánovanej činnosti dni, týždne, intervaly, pravdepodobnosti ovplyvňujú ju faktory (na)plánované zdroje množstvo, kvalita, výkonnosť množstvo zdrojov nelinearita skúsenosti z predošlých projektov ovplyvniteľné neovplyvniteľné faktory pesimistický, optimistický, pravdepodobný odhad trvania činností metódy a techniky: odhad na základe analógie odhad experta odhad na základe modelu napr. COCOMO (COnstructive COst Model) simulácie (zriedka) napr. Monte Carlo
Vytvorenie rozvrhu určenie začiatočného a koncového dátumu pre každú činnosť často iteratívny proces ovplyvnená inými procesmi (plánovanie zdrojov)
Vytvorenie rozvrhu Kľúčové veci: celková doba trvania projektu maximálna hodnota dôb trvania všetkých ciest v grafe činností (doba trvanie cesty = suma dôb trvania všetkých činností na každej ceste v grafe činností) kritická cesta cesta, ktorej súčet dôb trvania činností sa rovná dobe trvania celého projektu oneskorenie činnosti na kritickej ceste omeškanie projektu! doba nečinnosti (angl. slack time) čas, o ktorý sa môže daná činnosť oneskoriť bez vplyvu na celkovú dobu trvania projektu. celková (angl. total; celý projekt) vs. voľná (angl. free; nasl. činnosť) môže indikovať nekonzistencie v rozvrhu
CPM Critical Path Method technika pre vytvorenie rozvrhu 0-te roky postup: 1.výpočet najskoršieho možného času začatia pre všetky činnosti (počíta sa od začiatku grafu činností) 2.výpočet najneskoršieho možného času ukončenia (alebo začiatku) (počíta sa od konca grafu činností) 3.výpočet doby nečinnosti pre každú činnosť 4.stanovenie kritickej cesty (tie uzly, pre ktoré platí LFP ESP=T alebo ESP LSP = 0)
Činnosť A B C D E F G H CPM príklad Čas (dni) 4 3 1 2 6 A C Start E B D G F H
Činnosť A B C D E F G H CPM príklad Čas (dni) 4 3 1 2 6 A4 C Start E B3 D1 G F2 H6
CPM príklad ES EF LS LF Start A4 Činnosť A B C D E F G H Čas (dni) 4 3 1 2 6 ES early Cstart (najskorší možný čas začatia) E EF early finish G H6 LSB3 late start LF late finish (najneskorší možný čas ukončenia) D1 F2
Činnosť A B C D E F G H CPM príklad ES EF LS LF Čas (dni) 4 3 1 2 6 A4 C Start E B3 D1 G F2 H6
CPM príklad ES EF LS LF Činnosť A B C D E F G H Čas (dni) 4 3 1 2 6 A4 1. E výpočet najskoršieho možného času Start B3 G H6 začatia (alebo ukončenia) pre všetky činnosti C D1 F2
Činnosť Čas (dni) A 4 B 3 ES EF C LS LF D 1 E F 2 G H 6 CPM príklad 0 A4 C Start B3 E G 0 D1 F2 0 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 Čas (dni) 4 3 1 2 6 A4 C Start B3 E G 0 3 D1 F2 0 1 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 C Start B3 E G 0 3 D1 F2 0 1 Čas (dni) 4 3 1 2 6 1 3 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 C Start B3 E G 0 3 D1 F2 0 1 Čas (dni) 4 3 1 2 6 1 3 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 C Start B3 E D1 F2 0 1 14 19 G 0 3 1 3 Čas (dni) 4 3 1 2 6 19 2 H6
CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 4 Činnosť Čas (dni) A 4 B 3 C D 1 E F 2 G H 6 9 14 19 19 2 2. E výpočetb najneskoršieho možného času Start G H 0 3 ukončenia (alebo začiatku) C 3 D1 F2 0 1 1 3 6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 C Start B3 E D1 F2 0 1 14 19 G 0 3 1 3 Čas (dni) 4 3 1 2 6 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 C Start B3 E D1 F2 0 1 14 19 1 3 19 2 2 G 0 3 Čas (dni) 4 3 1 2 6 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 C Start B3 E D1 F2 0 1 14 19 1 3 19 2 19 2 G 0 3 Čas (dni) 4 3 1 2 6 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 C Start B3 E G 0 3 D1 F2 0 1 1 3 Čas (dni) 4 3 1 2 6 14 19 19 2 14 19 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 9 14 C Start B3 Čas (dni) 4 3 1 2 6 E G 0 3 D1 F2 0 1 1 3 12 14 14 19 19 2 14 19 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 4 9 A4 9 14 4 9 9 14 C Start B3 E G 0 3 D1 Čas (dni) 4 3 1 2 6 F2 0 1 1 3 11 12 12 14 14 19 19 2 14 19 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 0 4 4 9 A4 9 14 4 9 9 14 C Start B3 E G 0 3 1 4 D1 Čas (dni) 4 3 1 2 6 F2 0 1 1 3 11 12 12 14 14 19 19 2 14 19 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 4 0 4 A4 4 9 9 14 4 9 9 14 3. E Čas nečinnosti = C Start B3 0 3 1 LS-ES 4 D1 Čas (dni) 4 3 1 2 6 alebo LF-EF F2 0 1 1 3 11 12 12 14 G 14 19 19 2 14 19 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 0 4 0 0 4 0 4 9 A4 9 14 4 9 9 14 C Start B3 E G 1 0 3 1 4 D1 11 0 1 11 12 F2 11 1 3 12 14 Čas (dni) 4 3 1 2 6 0 0 14 19 19 2 14 19 19 2 H6
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 0 4 0 0 4 A4 0 4 9 9 14 4 9 9 14 4. C E Kritická cesta = Start B3 Čas (dni) 4 3 1 2 6 0 0 14 19 19 2 14 19 19 2 G H6 uzly, pre ktoré 1platí 4 LF ES == T alebo ES LS == 0 D1 1 0 3 11 0 1 11 12 F2 11 1 3 12 14
Činnosť A B C D E F G H CPM príklad ES EF LS LF 0 0 4 0 0 4 0 4 9 A4 9 14 4 9 9 14 C Start B3 E G 1 0 3 Čas (dni) 4 3 1 2 6 0 0 14 19 19 2 14 19 19 2 H6 1 4 D1 11 0 1 11 12 F2 11 1 3 12 14 Trvanie projektu: 2 dní Kritická cesta: A C E G H
Prístupy k vytváraniu rozvrhu ASAP (As Soon As Possible) známy začiatok -> počíta sa najskorší možný koniec ALAP (As Late As Possible) známy (požadovaný) koniec -> počíta sa najneskorší možný začiatok
PERT Program (or Project) Evaluation and Review Technique 0te roky štatistická technika, analýza činností odhad dĺžky trvania činnosti: optimistická pesimistická najpravdepodobnejšia očakávaná pravdepodobnosť, že projekt sa dokončí včas
PERT pravdepodobnosť najpravdepodobnejšia (CPM) stredná (PERT) te = to + 4 t m + t p 6 pesimistická optimistická to tm te možné dĺžky trvania tp
Ganttov diagram Technika založená na grafovom zobrazení rozvrhu projektu činnosti vodorovné úseky na časovej osi pre každú činnosť je zobrazený časový úsek, v ktorom sa činnosť vykonáva doba nečinnosti sa reprezentuje v schéme tieňovaným úsekom časové závislosti činností nie sú explicitne (špecifickými symbolmi) znázornené
Ganttov diagram návrh kontextový diagram zoznam udalostí ER diagram slovník údajov model systému 1/7 1/8 1/9 1/10 kritická cesta: návrh kontext. diagram slovník údajov
PERT vs. CPM obe: stanovenie minimálneho času trvania projektu činnosti ležiace na kritickej ceste PERT zahŕňa metódu, ako pracovať s neurčitosťami odhadu dĺžky trvania činností CPM zahŕňa postup uvažovania o zmene dĺžky trvania činností, ak sa zmenia zdroje v softvérových nástrojoch často skombinované
Graf činnosti (PERT) vs. Gantt A 10 graf činnosti 20 B 10 10 C D 1 30 E 30 doba trvania v dňoch F 20 0 G 10 60
Scrum
Kanban
Kanban Skôr metóda optimalizácie práce: Optimise the flow Výchádza z riadenia v továrni Znižuje mieru (predčasného) plánovania optimalizácia výroby (na páse) dokonca umožňuje začať bez plánu hlavné princípy: 1. (definovanie a) vizualizácia progresu 2. limitovanie prebiehajúcej práce (WIP) (a neustála aktualizácia limitu) 3. pull namiesto push 4. monitorovanie a zlepšovanie
Kanban neexistujú roly neexistujú cykly (šprinty) existuje len workflow hlavný nástroj: kanban tabuľa Stĺpce: stav položiek/úloh (nie nutne UC, US) Riadky (obsah stĺpcov): položky/úlohy basic: To Do, In Progress and Done advanced : >>
Nabudúce o odhadovaní