SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Podobné dokumenty
SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Agilní metodiky vývoje softwaru

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ

Agile Software Development

Návrh softwarových systémů - úvod, motivace

Zuzana Šochová MFF Modelování a realizace softwarových projektů

Návrh softwarových systém. Návrh softwarových systémů

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

2. Začlenění HCI do životního cyklu software

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání

Umí HR držet krok s byznysem (zkušenosti z agilního řízení)

Ročníkový projekt. Jaroslav Žáček

Vývoj informačních systémů. Jak vyvíjet v týmu

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

Agilní metodiky a techniky. analýza a vývoj IS

Ročníkový projekt. Jaroslav Žáček

Softwarový proces Martin Hlavatý 4. říjen 2018

6INF2. RNDr. Jaroslav Žáček, Ph.D.

Základy analýzy. autor. Jan Novotný února 2007

Praktické zkušenosti s nasazením agilní metodiky SCRUM při vývoji středně rozsáhlého softwarového projektu. Dušan Juhás

Seznam.cz. Tomáš Pergler. najdu tam, co neznám!

XINF1. Jaroslav Žáček

Agilní přístupy k vývoji SW. Jaroslav Žáček

Unifikovaný proces vývoje

Agilní metodiky a vývojové procesy

Agilní řízení projektů v praxi. Daniel Jerman

Řízení reálných projektů, agilní metodiky

Efektívne projektové riadenie v zohratom tíme

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu

Informační systémy ve strojírenství

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Agilní metodiky Agilní Jan Smolík

Manažerská informatika - projektové řízení

Softwarový proces Bohumír Zoubek 1. říjen 2018

Metodika analýzy. Příloha č. 1

Ing. Zuzana Šochová ČVUT FEL - Řízení softwarových projektů

Co je to SCRUM! FRAMEWORK vs METODIKA. Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily?

SCRUM. Procesy, entity, User Stories a jak Vám to pomůže fungovat efektivněji

Úvod do softwarového inženýrství a týmového vývoje

Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc

Přípravné činnosti projektu. Mgr. Lenka Svrčinová Ing. Jan Ministr, Ph.D.

Scrum. principy agilního managementu, metodika Scrum

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

RUP - Motivace, principy. Jaroslav Žáček

2 Životní cyklus programového díla

AGILNÍ METODIKY VÝVOJE SOFTWARE

Vysoká škola ekonomická v Praze

PRŮZKUM AGILNÍHO ŘÍZENÍ V ČR 2013

Životní cyklus vývoje SW. Jaroslav Žáček

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů

Návrh IS - UML. Jaroslav Žáček

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY KATEDRA INFORMAČNÍCH TECHNOLOGIÍ. CMMI a SCRUM. Seminární práce

Vysoká škola ekonomická v Praze

Vývoj informačních systémů. Přehled témat a úkolů

Analýza a Návrh. Analýza

SOFT-ENG ACADEMY 2017/2018

Custom Code Management. Přechod na S/4HANA

8 Přehled OO metodik (metod, metodologií)

Telelogic Focal Point využití pro řízení a optimalizaci projektového portfolia Verze 1.0

8 Přehled OO metodik (metod, metodologií)

AGILNÍ METODIKY A SPRÁVA POŽADAVKŮ

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Vývoj informačních systémů. Přehled témat a úkolů

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D.

Y13ANW ÚVOD DO WEBOVÝCH METODIK. Ing. Martin Molhanec, CSc.

Návrh IS - UML. Jaroslav Žáček

INFORMAČNÍ SYSTÉMY , Ing. Jiří Mráz

POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ

BI-TIS Případová studie

Expresní analýza PLM. jako efektivní start implementace PLM.

CASE nástroje. Jaroslav Žáček

SOFTWAROVÉ INŽENÝRSTVÍ

Agile Forum. Brno Jaroslav Procházka

Obsah. Zpracoval:

Analýza. Roman Danel 1. Metody analýzy

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

POČÍTAČE A PROGRAMOVÁNÍ

CASE. Jaroslav Žáček

Přehled rolí v jednotlivých metodikách

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika. Moderní metody řízení softwarových projektů

Mib:S4Road přechod k SAP S/4HANA. Jiří Palát

Novinky v UML 2.5 a agilní modelování

Využití agilního přístupu v oblasti Business Intelligence

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Globální strategie, IT strategie, podnikové procesy. Jaroslav Žáček

Okruhy ke státním závěrečným zkouškám Platnost: od leden 2017

Metodiky vývoje software, MDA

PŘÍLOHA C Požadavky na Dokumentaci

End-to-end testování. 26. dubna Bořek Zelinka

Vývoj řízený testy Test Driven Development

Jakou metodiku použít pro

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

Metody řízení projektů cesta k efektivitě a úspěchu

Co se chcete dozvědět?

Transkript:

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů Ing. Ondřej Macek 2013/14 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Historie 2 Jak vypadal vývoj SW? - Bylo třeba specifikovat zadání, to se naprogramovalo a pak se dostal výsledek podobně jako např. ve strojírenství - Zákazník nerozuměl tvorbě programů (magie) dnes si všichni myslí, že rozumí - Přelom 81 první PC, takže bylo třeba začít myslet jinak. Jde to těžko! - Někdy kolem 78 byla konference NATO o softwarovém inženýrství projekty často chybují, nejsou včas,... - V roce 2000 bylo 125 aplikací pro řízení projektů a 25 technik a to ještě nebyli agilní metodiky

Tradiční řízení

4 Lineární přístup k řízení projektů (LPMLC) Business Analýza Analýza Návrh Implementace Testy Nasazení

LPMLC 5 Silné stránky? - Už od začátku je jasný plán => víme co bude - snadné řízení zdrojů (paralelismus projektů) - Zvládne to i začátečník/průměrný zaměstnanec (rozdíl oproti agilním) - Není třeba aby tým byl na jednom místě analýza u nás, implementace v Malajsii; dá se snadno předat externímu dodavateli Slabé stránky? - Špatně reaguje na změnu - Stojí hodně peněz veškeré chyby se projeví až při předání (akceptačním testu) a pak je drahé chyby opravit - Dlouho trvá než zákazník vidí nějaký výstup - Vyžaduje detailní plán a specifikaci každé přeplánování je drahé - Sleduje procesy, které není možné změnit - Není zaměřen na přínos klientovi je zaměřen na dodání v nějaký čas dodání podle specifikace není často totožné s tím co zákazníkovi pomůže potřeby vs.přání

Rapid LPMLC 6 Business Analýza Implementace Testy Analýza Návrh Implementace Testy Sloučení Implementace Testy Testy Nasazení

RLPMLC 7 Silné stránky? Slabé stránky?

Pokročilejší přístupy

Inkrementální přístup 9 Business Analýza Analýza Návrh Implementace Testy Nasazení Implementace Testy Nasazení Testy Implementace Nasazení

Inkrementální přístup 10 Silné stránky? Slabé stránky?

Prototypování 11 Rapidní inkrementální přístup

Prototypování 12 Silné stránky? Slabé stránky?

Iterační řízení

Iterační přístup 14 Iterace Uzavření iterace Business Analýza [Ano] Další iterace? [Ne] Uzavření projektu

Iterační přístup 15 Co je iterace? Iterace Uzavření iterace Business Analýza [Ano] Další iterace? [Ne] Uzavření projektu

16 Iterační přístup Charakter - Častý sběr požadavků na změnu, ale známe řešení - Tým v jedné lokalitě - Iterace 2-4 týdny - Část řešení není známa nejsou detaily -> změny - High level scope/detailní scope pro každou iteraci - Zpětná vazba s klientem - Jednoduché/lehké zapojení klienta Nevýhody - Zapojení klienta - Týmy v jedné lokalitě - Není vždy jasné jak to dopadne Potřeby - Malý tým - Zkušení pracovníci

Unified Process

18 Unified Process - Životní cyklus Postupuje ve fázích Fáze se skládá z iterací Po dokončení každé iterace/fáze se provede zhodnocení Další iterace/fáze projektu začne jen v případě splnění kritérií.

FÁZE RUP 19

ZAHÁJENÍ (INCEPCE) 20 identifikace problému, který má být vyřešen formulace čeho má být dosaženo specifikace zadání je třeba porozumět doméně určení priorit Vstupy Stávající systém, úvodní požadavky na systém, Výstupy Vize, Plán, Základní požadavky, (Prototyp) Milník Dohoda mezi zákazníkem a dodavatelem na rozsahu, ceně a harmonogramu

PŘÍPRAVA (ELABOACE) 21 sestavení projekčního týmu nastavení prostředí pro vývoj zpřesňování představy/požadavků základ architektury a prototypu plán projektu Výstup Prototyp, Use case (80%), Návrh(10%), Datový model, Plán testů, Plán projektu, Milník Architektura, Use case, Plán testů, Podrobnější plán projektu

KONSTRUKCE 22 dokončení návrhu první verze SW návrh testů realizace testů vznik dokumentace (návrhové modely, model nasazení ) Výstupy První verze, testy, uživatelská dokumentace Milník Funkční verze

PŘEDÁNÍ (TRANSITION) 23 předání finální verze koncovým uživatelům beta testování systému nemělo by docházet k zásadním změnám funkcionality řeší se instalace, konfigurace a odlaďování Výstupy Konečná funkční verze splňující všechny požadavky zadání, Manuály Milník Předání

Unified process 24 Vyžaduje konzultace s klienty Základem analýzy a implementace jsou usecases Na architekturu je třeba zaměřit se co nejdříve Testy probíhají na všech úrovních

AGILNÍ PRINCIPY

Agilní přístup - motivace 26 Metodiky vývoje SW jsou nevhodné Špatná komunikace vede ke krachu projektu Na testy už nezbývá čas Vytváření zbytečnou dokumentaci

Agilní přístup - motivace 27 Spokojený zákazník Spokojený programátor

Agilní 28 způsob řízení týmu způsob vývoje SW způsob myšlení

Agilní manifest 29 Člověk a komunikace je nad procesy a nástroje

Agilní manifest 30 Člověk a komunikace je nad procesy a nástroje Fungující software je nad vyčerpávající dokumentaci

Agilní manifest 31 Člověk a komunikace je nad procesy a nástroje Fungující software je nad vyčerpávající dokumentaci Spolupráce se zákazníkem je nad přesně sjednanou smlouvou

Agilní manifest 32 Člověk a komunikace je nad procesy a nástroje Fungující software je nad vyčerpávající dokumentaci Spolupráce se zákazníkem je nad přesně sjednanou smlouvou Reakce na změnu je nad přesné dodržování plánu

33 Role projektového manažera

Extrémní programování XP

35 XP Projekt se skládá z iterací Plánování je zaměřeno na časté dodání malých releasů (iterace = release) Každý tým má vyčleněný vlastní pracovní prost Pracovní den začíná stand up meetingem Reporting sleduje rychlost projektu Popis funkce pomocí User stories.

XP 36 Návrh je jednoduchý (Testable, Understandable, Browsable, and Explainable) Použití metafor Použití CRC při návrhových meetinzích (Class, Responsibilities, and Collaboration) Prototypování SW i dílčích částí Zaměření na okamžitou přidanou hodnotu Refactoring Zákazník je vždy k dispozici Coding standards Test driven development Pair programming Continuous integration Sdílený kód

37 XP Pro každý kód existuje unit test Před každým release musí projít všechny testy Pokud je objeven bug => je napsán unit a akceptační test Akceptační testy probíhají často a jejich úspěšnost je zveřejňována

SCRUM

Zúčastněné strany 39 Product owner Scrum master Team

41 SCRUM dokumenty/výstupy Sprint/Product Backlog Burndown charts Increment

Project/Sprint Backlog 42 Project Sprint Name Estimate (days) 1 Manažer zadává úkoly zaměstnancům 1 1 Zaměstnanec předá úkol pro otestování 2 2 Remaining (days) Sprint Name Manažer zadává úkoly zaměstnancům Estimate (hours) 1. 12. 2. 12. 3.12. 8 7 3 0

43 Burndown graph

Životní cyklus 44

SCRUM Meetings 45 Planning meeting Daily meetings Sprint review Sprint retrospective meeting

SCRUM done 46 Kompletní funkčnost Kompletní testy Připraveno na nasazení

KANBAN

Co je kanban? 48 看板 Signální karta Vizuální metoda řízení a zlepšení projektů/výroby Cílem je efektivita dodávky a práce týmu Efektivita je založená na znalosti co produkovat v jakém množství produkovat kdy dodat

Principy 49 1. Začni s tím co umíš 2. Začni měnit své postupy a role (inkrementální evoluce) 3. Respektuj své kořeny 4. Leadership na všech úrovních

Cíle 50 1. Vizualizace workflow 2. Omez work-in-progres 3. Řiď tok (manage workflow) 4. Vysvětli principy fungování organizace (policies) 5. Uč se 6. Zlepšuj a experimentuj

Kanban board 51

LEAN DEVELOPMENT

Co je Lean 53 1. Eliminace odpadu nedělej nic co nepřináší hodnotu suffer oreinted programming 2. Soustavné učení krátké iterace + feedback 3. Rozhodování na poslední chvíli když je dostatek informací 4. Dodávání co nejrychleji 5. Posílení role týmu 6. Zapracování integrity zákaznická systémová 7. Soustředění se na celek

Výhody a problémy (s) Agile

55 Řízení projektů používající agilní metodiky Vize Týmový práce & spolupráce Jednoduchá pravidla Sdílení informací Lehké řízení Učení se

56 Kde se Agilní přístup doporučuje Zkušení programátoři Očekává se hodně změn Malý tým

Co Agilní přístup potřebuje 57 co je doporučováno Zkušené programátory Někoho s předchozí zkušeností s Agile Komunikační schopnosti

58 Kde se Agilní přístup nedoporučuje Velké programátorské týmy Dislokované týmy Nutnost fixace projektového trojúhelníku

59 Co Agilní programování není Anarchie Ignorování dokumentace Cowboy programming Striktní sada pravidel

60 Problémy s aplikací agilního přístupu Strach Neznalost Firmy jsou řízeny procesně Manažeři Programátoři

61 Problémy s aplikací agilního přístupu Aplikace jen některých doporučení Nepřítomnost zákazníka Spoléhá na ústní podání Přečtení knížky zavedení do praxe Malý důraz na architekturu v počátečních fázích

Extrémní řízení projektů

XŘP cyklus projektu 63 Initiate Speculate Incubate Review

Doporučené čtení 64 http://soch.cz/blog/ https://docs.google.com/spreadsheet/ccc?key =0Ag91X5gS0piQcDhvTUw1QzlNLS11d29mb WhsMW5wZXc#gid=0 http://www.extremeprogramming.org/ http://www.scrumalliance.org/ http://www.methodsandtools.com/archive/archi ve.php?id=18