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

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

Agilní metodiky vývoje softwaru

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

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

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

Agile Software Development

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

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

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

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

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

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

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

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

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

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

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

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

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

Agilní metodiky a vývojové procesy

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

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í

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

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

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

XINF1. Jaroslav Žáček

Unifikovaný proces vývoje

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

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

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

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

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

AGILNÍ METODIKY VÝVOJE SOFTWARE

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

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

RUP - Motivace, principy. Jaroslav Žáček

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

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

Agilní metodiky Agilní Jan Smolík

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

2 Životní cyklus programového díla

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

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

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Vysoká škola ekonomická v Praze

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

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

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

CASE nástroje. Jaroslav Žáček

AGILNÍ METODIKY A SPRÁVA POŽADAVKŮ

Identifikace změny Definice změny a jejího rozsahu a dopadu Schválení změny Prioritizace změn Úprava plánu projektu

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

CASE. Jaroslav Žáček

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

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

SOFT-ENG ACADEMY 2017/2018

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

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

POČÍTAČE A PROGRAMOVÁNÍ

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

Vývoj řízený testy Test Driven Development

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

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

Analýza a Návrh. Analýza

Vysoká škola ekonomická v Praze

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

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

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

Metodiky vývoje software, MDA

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

Agile Forum. Brno Jaroslav Procházka

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

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

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

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

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

Jakou metodiku použít pro

Scrum. principy agilního managementu, metodika Scrum

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

Novinky v UML 2.5 a agilní modelování

InternetovéTechnologie

Association for the advancement of Cost Engineering International (AACE) Australian Institute of Project Management (AIPM) English Association of

programátor vs. vývojář

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

SCRUM představení.

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

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

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

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control

BI-TIS Případová studie

Jsme firma, která už působí na trhu několik let. Za tu dobu jsme nasbírali

Efektívne projektové riadenie v zohratom tíme

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

Obsah. Zpracoval:

Vývoj IS. Vladimíra Zádová, KIN, EF TUL- ISN3

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

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS

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

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

Rozvoj a údržba systémů

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ů 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í

Pokročilejší přístupy

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

Iterační řízení

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

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

11 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

13 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 14

ZAHÁJENÍ (INCEPCE) 15 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) 16 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 17 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) 18 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 19 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 21 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 22 Spokojený zákazník Spokojený programátor

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

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

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

Agilní manifest 26 Č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 27 Č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 (Ale zas má agile pravidlo nezasahovat do iterace. Proto krátké iterace)

28 Role projektového manažera

Extrémní programování XP

30 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 31 Nástěnka/tabule základní prostředek motivace/komunikace/modelování Refactoring změna kódu- bez změny chování programu; zvyšování čitelnosti, snižování složitosti =>zlepšení udržovatelnosti; zlepšení rozšiřitelnosti Reverse engineering - hlavně za účelem vytvoření dokumentace, protože dokumentace neexistuje Buildy ověření funkčnosti prototypování

32 XP Návrh je jednoduchý Použití metafor k popisu funkcí Vydávání malých verzí Zaměření na okamžitou přidanou hodnotu Refactoring Udržitelné tempo Zákazník je vždy k dispozici Coding standards Test driven development Pair programming Continuous integration Sdílený kód

33 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

Životní cyklus 35 Requirements are allowed to change (and change is encouraged) but only outside the sprint. Once the team starts on a sprint, it remains maniacally focused on the goal of that sprint.

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

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

Project/Sprint Backlog 39 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

40 Burndown graph

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

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

Výhody a problémy (s) Agile

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

45 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 46 co je doporučováno Zkušené programátory Někoho s předchozí zkušeností s Agile Komunikační schopnosti

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

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

49 Problémy s aplikací agilního přístupu Strach Neznalost Firmy jsou řízeny procesně Manažeři Programátoři Strach z neznámého, ze ztráty kontroly (ze strany firmy); strach z ostatních, pair programmingu, odpovědnosti atd. (ze strany vývojářů) Neznalost představa agile = chaos Firmy jsou řízeny podle procesů a jsou i podle procesů hodnoceny (ISO, CMM) jak do toho zapojit agile? Manažeři jsou nastaveni na procesní řízení (naučili je to), chtějí/jsou zvyklí rozhodovat, u agile by i manažer měl být kodér (z 50%) Programátoři individuality: mají představu nepostradatelnosit nepřijímají kritiku, nechtějí spolupracovat - asociálové: nechtějí pracovat v týmu, bojí se lidí/ukáže se, že že nejsou dobří apod.

50 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

Doporučené čtení 51 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