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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika Moderní metody řízení softwarových projektů bakalářská práce Autor: Vlastimil Dvořák Vedoucí práce: doc. Dr. Ing. Jan Voráček, CSc. Jihlava 2015

2

3 Abstrakt Předními zájmy této bakalářská práce jsou agilní metodiky řízení softwarových projektů a jejich nástroje pro řízení. Nejdříve jsou zde vysvětleny základní pojmy jako projekt, softwarový projekt, životní cykly software a metodiky. Dále pak jsou zde charakterizovány jednotlivé agilní metodiky. Poslední kapitola se zabývá nástroji a techniky v moderním řízení softwarových projektů. Klíčová slova Projekt, agilní metodiky, kanban, scrum, extrémní programování Abstract Another objective of this work are agile software project management methodologies and tools for their management. First, there are explained the basic concepts such as design, software design, software life cycles and methodologies. In addition, here are characterized by different agile methodologies. The last chapter deals with tools and techniques in the modern management of software projects. Key words Project, agile, kanban, scrum, extreme programming

4 Prohlašuji, že předložená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem v práci neporušil/a autorská práva (ve smyslu zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů, v platném znění, dále též AZ ). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím užitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen s tím, že na mou bakalářskou práci se plně vztahuje AZ, zejména 60 (školní dílo). Beru na vědomí, že VŠPJ má právo na uzavření licenční smlouvy o užití mé bakalářské práce a prohlašuji, že s o u h l a s í m s případným užitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, že užít své bakalářské práce či poskytnout licenci k jejímu využití mohu jen se souhlasem VŠPJ, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených vysokou školou na vytvoření díla (až do jejich skutečné výše), z výdělku dosaženého v souvislosti s užitím díla či poskytnutí licence. V Jihlavě dne... Podpis

5 Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce doc. Dr. Ing. Janu Voráčkovi, CSc. za poskytnutí tématu a možnost vytvářet ho pod jeho vedením.

6 Obsah 1 Úvod Struktura práce a cíle práce Projektové řízení Historie projektového řízení Definice a vlastnosti projektu Vlastnosti projektu Projektový trojimperativ Proces řízení projektu Softwarový projekt Rigorózní řízení projektů PMBOK Agilní řízení projektů Agilní manifest Rigorózní metodiky a životní cykly vývoje software Životní cykly vývoje software Vodopád Spirála Rigorózní metodiky RUP Agilní metodiky Charakteristika agilních metodik Procesní model Představení agilních metodik Extrémní programování (XP) Základní principy Základní praktiky XP Procesní model Shrnutí XP Dynamic Software Development Method Klíčové pojmy Procesní model Feature driven development Základní pojmy Procesní model Shrnutí FDD... 33

7 4.6 Lean software development Principy a nástroje Shrnutí Leanu Test driven development Procesní model Shrnutí TDD Scrum development process Základní pojmy: Role Procesní model Shrnutí Porovnání rigorózních a agilních metodik Metody a nástroje pro řízení projektů Kanban Scrumban Nástroje a techniky používané ve Scrumu Product Backlog Story board Taskboard Testboard Project burndown Velocity trend Estimate trend Test trend Sprint burndown Závěr Seznam použité literatury Seznam tabulek Seznam obrázků... 58

8 1 Úvod Tato bakalářská práce se zabývá moderními metody řízení softwarových projektů. V současnosti jsou v projektovém řízení dva směry, které se navzájem částečně vylučují i doplňují. Prvním historicky starším směrem je rigorózní vývoj, který se snaží přistupovat k řízení softwarových projektů systematicky s řadou daných pravidel, postupů a nástrojů, aby dosáhl co nejlepšího výsledku. Druhým směrem je agilní přístup, který vznikl na základě Agilního manifestu. Tento přístup se snaží přistupovat k vývoje software méně formálně a s větší volností k co největší spokojenosti zákazníka. Oba tyto dva základní směry lze dále dělit na konkrétní metodiky, které principiálně vychází z daného projektového přístupu, avšak se od sebe mírně liší v pravidlech a procesním modelu. Dále pak v projektovém řízení existují spousty konkrétních metod, nástrojů a technik. Klasické nástroje projektového řízení však přestávají v agilním vývoji stačit, proto byly a jsou vytvářeny nástroje, které jsou agilním potřebám více přizpůsobeny. 1.1 Struktura práce a cíle práce Cílem této práce je seznámit se s moderními způsoby řízení SW projektů v návaznosti na perspektivní procesní modely a ukázat a na názorných příkladech dokumentovat současné nástroje a techniky řízení vývoje softwaru. Tato práce je rozdělená na dva celky podle cílů. První tři kapitoly se věnují prvnímu zadanému cíli. Druhá kapitola přináší úvod do projektového řízení. Jsou zde představeny základní vlastnosti projektu a oba směry projektového řízení. Třetí kapitola navazuje přímo na druhou kapitolu. Jsou zde popsány a zhodnoceny tradiční metodiky a životní cykly. Čtvrtá kapitola se věnuje přímo konkrétním agilním metodikám. Šest vybraných agilních metodik je zde charakterizováno a zhodnoceno. Na konci čtvrté kapitoly jsou shrnuty a zhodnoceny oba směry projektového řízení. Celá pátá kapitola se věnuje druhému cíli a dokumentuje na příkladech současné nástroje a techniky vývoje software. 8

9 2 Projektové řízení Pro pochopení současných trendů je v této kapitole představena stručná historie řízení projektů. Dále pak je popsáno, co vlastně je projekt a jaká jsou specifika softwarových projektů. Poté následuje část, která se věnuje rigorózním a agilním přístupům řízení softwarových projektů. 2.1 Historie projektového řízení V dnešní době se o projekty a projektové řízení zajímá velké množství lidí, jak v soukromé, tak v podnikové oblasti. Mohlo by se zdát, že se jedná o moderní disciplínu, avšak historie ukazuje, že řízení projektů není nic nového. Mezi první projekty lze považovat stavby, které vznikaly po staletí, jako jsou například pyramidy. Ačkoliv většina lidí má vznik moderního projektového řízení spojený s projektem Manhattan, ve kterém americká armáda vyvinula atomovou bombu. Postupem času, v padesátých a šedesátých letech minulého století se zdokonalovaly techniky a metody projektového řízení, například Ganttovy diagramy, síťové grafy a analýzy kritické cesty. Stále se však projektové řízení uplatňovalo pouze v armádě. Od sedmdesátých let minulého století, kdy se zdokonalovaly informační technologie, začaly se tvořit softwary pro řízení velkých projektů, jako například program Artemis pro řízení vývoje letadel. Časem se, díky levnějším informačním technologiím, nástroje pro řízení projektů dostaly i do podnikové sféry. S rostoucí popularitou projektového řízení vznikají i různé obory na vysokých školách, školicí střediska a dochází k vytvoření mezinárodních organizací, které určují standardy. Mezi nejznámější patří PMBOK, IPMA a PRINCE2. Historie softwarových projektů provází řada zvratů a důležitých milníků. Ze začátku se software tvořil tzv. modelem Napiš a oprav. To mělo za následek prodlužování a prodražování projektů a hlavně jejich špatnou kvalitu. Tím nastala softwarová krize, díky které vzniklo softwarové inženýrství s prvním životním cyklem, ze kterého později vyšel Vodopádový model. V tu dobu to byl opravdu velký přelom, ale později se ukázalo, že tento model má své nevýhody a není vždy vhodný k použití. Proto v roce 1985 vzniká Spirálový model, který řeší některé nedostatky Vodopádu. Dále pak v 90. letech vznikají metodiky určené přímo na vývoj software, v současnosti je 9

10 nejznámější metodika RUP. Pro řízení softwarových projektů se také začaly používat metodiky jako PMBOK a další výše zmíněné. Na přelomu tisíciletí se však začínají objevovat tzv. Agilní metodiky, které se snaží vývoj software ještě více zefektivnit. [1] 2.2 Definice a vlastnosti projektu Projekt je časově omezené úsilí vynaložené na vytvoření unikátního produktu, služby nebo výstupu. Projekty mohou mít různou velikost, může se na nich podílet jeden člověk nebo i tisíce lidí. Mohou trvat pouze jeden den nebo i dlouhé roky. Také náklady jsou různorodé. Za projekt lze považovat například stavbu rodinného domu nebo vytvoření informačního systému velké společnosti. [2] 2.3 Vlastnosti projektu Jedinečnost - každý projekt je jedinečný, protože se provádí pouze jednou. Dočasnost projekt má začátek i konec. Postupné zpracování s přibývajícími detaily se návrh projektu stále aktualizuje a upravuje. Nejistota díky jedinečnosti projektu je obtížné přesně odhadnout cíle, čas, náklady, atd. Zdroje z různých oblastí najímání odborníků ke konzultaci. [2] 2.4 Projektový trojimperativ Popisuje, jak spolu souvisí základní elementy projektu rozsah, čas a náklady. Každý projekt má jisté limity v těchto třech dimenzích. Projektový manažer, aby dosáhl úspěchu, musí tyto protichůdné cíle sladit dohromady. [2] 10

11 2.5 Proces řízení projektu Definování definice projektových cílů Plánování splnění trojimperativu Vedení využití manažerských schopností k řízení lidských zdrojů Sledování kontrola stavu a postupu prací na projektu Ukončení zjištění, zda je vše dokončeno [2] 2.6 Softwarový projekt Softwarové projekty patří mezi obecné projekty. Mají stejné či podobné vlastnosti jako například ve stavebnictví, ale v mnohém se liší. Největší rozdíl mezi softwarovým projektem a projektem jiného druhu je, že není fyzický, to znamená, že nemá hmotnou povahu. Software je složen z myšlenek, návrhů, pokynů a vzorců. Tvorba softwarového projektu je v podstatě poznávací činnost. Artefakty v softwarových projektech nejsou tak viditelné a pochopitelné jako v jiných projektech. Musí se vytvořit způsob, aby dané artefakty byly vidět. Některé softwarové projekty se nezdaří, protože návrhy nejsou dobře udělané. Konečný stav softwarového projektu je často mnohem více spekulativní než u jiných projektů. Máme například špatnou představu o daném softwarovém projektu nebo je naše představa jasná, ale zapomeneme ji říct někomu druhému. 2.7 Rigorózní řízení projektů Rigorózní přístup řízení projektů tvoří metodiky a standardy světového formátu jako je PMBOK, PRINCE2 a IPMA. Tyto standardy jsou specifické velmi podrobnými a formálními modely procesů. Přesně stanovují procesy, všechny požadavky a produkty, předpokládají, že tvorbu software lze přesně definovat, popsat a opakovaně realizovat. Tento přístup k řízení projektů je určitě velmi efektivní u klasických projektů např. ve stavitelství. Ale kvůli odlišné povaze softwaru, provází vývoj softwarových projektů řadou neúspěchů a problémů [1]. 11

12 2.7.1 PMBOK Patří mezi nejstarší a nejobecnější standardu řízení projektů, která je mezinárodně uznávaná. Vydává ji Institut PMI (Project Management Institute). Snaží se popsat všechny směry projektového řízení. Je zaměřen na firmy, které dodávají svoje výrobky nebo služby pomocí projektů. Jsou zde zaznamenány nejnovější trendy projektového řízení. PMBOK obsahuje 5 základní skupin procesů a 10 oblastních znalostí, které jsou typické pro většinu projektů. 5 základních skupin procesů: Zahájení Plánování Provádění Monitorování a řízení Zavření 10 znalostních oblastí: Projektové řízení integrace Projektové řízení rozsahu Projektové řízení času Projektové řízení nákladů Projektový management jakosti Projektové řízení lidských zdrojů Projektové řízení komunikace Projektové řízení zadávání veřejných zakázek Projektový management zúčastněných stran [1]. 12

13 2.8 Agilní řízení projektů Agilní řízení projektů vzniklo na základě Agilního manifestu. Důvod k tomu byl, že vývojáři považovali tehdejší vývoj softwarových projektů za neefektivní a snažili se jej co nejvíce zdokonalit. Agilní přístupy pohlížejí na vývoj softwarových projektů z jiného úhlu. Předpokládají, že vývoj softwarových projektů nelze přesně popsat, o což se právě snaží rigorózní přístupy. Vývoj softwaru provází řada změn, protože zákazník většinou neví, co bude přesně potřebovat, nebo se postupem času jeho požadavky mění. Proto by se změny neměly potlačovat, ale spíše na ně reagovat a nabízet rychlá řešení. V agilním přístupu řízení projektů se nedefinují žádné určité procesy, ale spíše principy a praktiky, které se snaží vývoj softwaru zkvalitnit. Pro agilní vývoj je velmi důležitá komunikace jak mezi zákazníkem, tak mezi členy týmu [3]. Agilní metodiky jsou dále popsány a zhodnoceny ve čtvrté kapitole Agilní manifest Objevujeme lepší způsoby vývoje software tím, že jej tvoříme a pomáháme při jeho tvorbě ostatním. Při této práci jsme dospěli k těmto hodnotám: Jednotlivci a interakce před procesy a nástroji Fungující software před vyčerpávající dokumentací Spolupráce se zákazníkem před vyjednáváním o smlouvě Reagování na změny před dodržováním plánu Jakkoliv jsou body napravo hodnotné, bodů nalevo si ceníme více. [4] 13

14 3 Rigorózní metodiky a životní cykly vývoje software V této kapitole budou vysvětleny metodiky a životní cykly vývoje software. Je zde vysvětlen rozdíl mezi těmito dvěma pojmy a dále jsou představeny a zhodnoceny jednotlivé tradiční životní cykly a tradiční metodiky. 3.1 Životní cykly vývoje software Metodika a životní cyklus vývoje software jsou dva odlišné pojmy, které bývají občas považovány za stejné, je zde ale značný rozdíl. Metodika je považována za souhrn veškerých pravidel, postupů a nástrojů pro řízení softwarového projektu. Životní cyklus vývoje software je model procesu tvorby softwaru, který zobrazuje vzájemné vztahy mezi jednotlivými fázemi. Lze říci, že každou metodiku tvoří určitý životní cyklus. Životní cykly vývoje softwaru lze dělit na dvě základní skupiny a to na prediktivní životní cyklus a adaptivní životní cyklus. Prediktivní životní cyklus jasně rozčleňuje rozsah projektu, lze určit jeho harmonogram a náklady. Je věnováno spoustu času na sbírání požadavků a poté na návrh. Nevýhoda je, že delší dobu nejsou vidět hmatatelné výsledky práce. Mezi nejznámější životní cykly patří tyto modely: Vodopádový model, Spirálový model, Přírůstkový model, Prototypový model a model RAD. V této práci jsou pro přehled představeny pouze první dva. Adaptivní životní cyklus je opakem prediktivního životního cyklu. Tento životní cyklus vychází z adaptivního přístupu, protože požadavky není možné na začátku životního cyklu přesně definovat. Projekty jsou založeny na komponentách, které se postupně vytvářejí a splňují funkčnost, která odpovídá specifikacím zákazníka a časově definovaných cyklech, které mají přesně dané cílové termíny. Vývoj se řídí rizikem a je tolerantní ke změnám. Dnes se to nazývá agilní softwarový vývoj. Konkrétní životní cykly jsou popsány v kapitole o agilních metodikách. [1] 14

15 3.1.1 Vodopád Vodopádový model patří mezi nejstarší modely životního cyklu software. Jeho pojmenování vychází z neustálého toku (jako když teče vodopád). Vznikl v 70. letech a byl tehdy přelomem na dívání se na vývoj software, protože do té doby byl většinou používán tzv. model Napiš a oprav. Jednotlivé fáze vodopádového modelu se mohou lišit, ale v základní formě jde hlavně o těchto 5 fází: Požadavky Návrh Implementace Verifikace Údržba Obrázek 1: Vodopádový model [6] 15

16 Pro Vodopádový model je charakteristická sekvenčnost jednotlivých fází, to znamená, že do další fáze lze vstoupit až poté, co je předchozí fáze kompletně dokončena a uzavřena. Jestliže má být tento model úspěšně použit, musí se dlouze věnovat počátečním fázím. Hlavní principy vodopádového přístupu: Rozdělení na fáze jdoucí postupně za sebou Důležité je plánování, časové rozvrhy, termíny a rozpočty Přísná kontrola po dobu životnosti projektu Mezi výhody Vodopádového modelu patří jednoduchost, a pokud se nevyskytnou problémy, tak je i rychlý a levný. Je vhodný pro projekty, které už byly implementovány a u kterých se neočekávají výrazné změny. Nevýhodou Vodopádového modelu je, že zákazník uvidí kompletní funkční software až na úplném konci. To mívá za následek, že zákazník většinou není spokojený, protože si to představoval jinak. Dále zákazník může zjistit, že některé funkcionality už jsou pro něj naprosto zbytečné, protože uplynula delší doba od zadání požadavků. To představuje obrovské finanční a časové ztráty, protože se může začít od začátku. Další nevýhodou je obsáhlá dokumentace, která je potřebná na konci každé fáze a která nepřináší zákazníkovi žádnou užitečnou hodnotu [5] [6] Spirála Spirálový model kombinuje prvky dvou přístupů, a to iterativního a prototypového. Tento model poprvé použil Barry Boehm ve svém článku A Spiral Model of Software Development and Enhancement v roce Spirálový model je vhodný pro větší projekty, protože lépe zvládá pozdější úpravy. Pokud chceme u toho modelu přejít do další fáze, musíme zanalyzovat všechna rizika pro možné problémy. Spirálový model je rozdělen do několika částí, které se stále opakují, dokud není projekt hotov. Čtyři hlavní části životního cyklu spirálového modelu: Analýza - určení cílů, alternativ a omezení 16

17 Vyhodnocení vyhodnocení alternativ, identifikace a řešení rizik Vývoj vývoj a verifikace další úrovně produktu Plánování plánování fází, které následují Obrázek 2: Spirálový model [9] Spirála přinesla do vývoje softwaru dva velmi užitečné principy, a to analýzu rizik a inkrementální postup. To částečně vyřešilo některé problémy, které se vyskytovaly u Vodopádu. Důslednou analýzou rizik se výrazně snižuje chybovost a odchýlení se od požadavků. Díky inkrementálnímu postupu vzniká řada prototypů, což zákazníkovi může dokázat, že se něco děje. Ale tyto prototypy ještě není možné uvést do ostrého provozu, slouží spíše pro plánování dalších iterací. Spirála se v dnešní době používá stále méně kvůli výše zmíněným nedostatkům, ale je třeba zdůraznit, že z ní vycházejí současné principy ve vývoji software [7]. 3.2 Rigorózní metodiky Metodiky vývoje software lze dělit na dvě základní skupiny. Na rigorózní a agilní. Význam slova rigorózní je přesný nebo precizní. Tento název je velmi příhodný, 17

18 protože tyto metodiky jsou velmi charakteristické velmi přesným a důkladným popisem všech prvků, které obsahují. Dnes už se tyto metodiky začínají nazývat tradiční, protože uplynul už nějaký čas, kdy byly jedinými metodikami, které se používali. Nejvýznamnějším zástupcem je metodika RUP, proto i ta bude stručně představena RUP RUP patří mezi metodiky vývoje softwaru, kterou vytvořila společnost Rational Software Corporation. Je to velmi rozsáhlá a komplikovaná metodika. Obsahuje velkou spoustu standardizovaných nástrojů, postupů a artefaktů. Tyto metody jsou dodávány ve formě internetových stránek, který provází tým přes všechny fáze projektu. Tato metodika je vhodná pro rozsáhlejší projekty a dokáže se přizpůsobit různým potřebám potenciálního zákazníka. Procesní model obsahuje celkem čtyři fáze. Zahájení v této fázi se definují cíle a požadavků projektu. Příprava tato fáze se většinou skládá ze dvou iterací. Hlavní cílem je eliminovat rizikové faktory a návrh architektury systému. Tvoří se zde podrobný plán pro další fázi konstrukce Konstrukce - tato fáze se skládá z více iterací. V každé iteraci probíhá malý vodopád. Předávání tato fázi zahrnuje školení koncových uživatelů a správců systému. 18

19 Obrázek 3: Procesní model RUP [11] RUP je kvůli své robustnosti spíše vhodná pro rozsáhlé projekty a týmy. Lze jej používat u všech možných softwarových projektů, hlavně u rizikových, kde je nutná velmi podrobná analýza. RUP je však natolik rozsáhlá, že vyžaduje věnovat spoustu času na školení všech zaměstnanců. Mezi nevýhody patří také, že vyžaduje velkou spoustu dokumentů, artefaktů a mezivýsledků, které nepřinášejí zákazníkovi žádnou hodnotu. Také je třeba zmínit, že RUP je placená metodika [10] 19

20 4 Agilní metodiky V této kapitole jsou nejdříve představeny nejznámější agilní metodiky. Dále je charakterizováno a zhodnoceno šest vybraných agilních metodik. Na konci jsou shrnuty principy, kterými se agilní metodiky vyznačují a jsou zde srovnány s rigorózními. 4.1 Charakteristika agilních metodik Procesní model Jedním z hlavních znaků agilního vývoje, který se liší od rigorózního, je procesní model. Ten je založen na tom, že se vývoj softwaru rozdělí do jednotlivých iterací. Každá iterace poskytuje na konci určitou část funkcionality požadovanou zákazníkem. Pokud si vezmene Vodopádový model jako zástupce tradičního vývoje, vidíme, že vývoj probíhá v určitých fázích přesně za sebou. Požadavky uvedené na začátku projektu se v pozdějších fázích velmi těžko předělávají. Agilní přístup počítá s tím, že se změny určitě objeví. Vývoj probíhá tak, že se na začátku projektu vytvoří hrubý plán s požadavky zákazníka ve formě tzv. uživatelských příběhů. Pak následují postupně jednotlivé iterace, které přinášejí funkční software, s postupně vytvářenými funkcemi, který je zákazníkovi předveden. Zákazník tak vidí, že se něco děje a může ovlivnit, co se bude vytvářet v dalších iteracích. Jednotlivé procesní modely se v různých metodikách liší, ale tento zjednodušeně popsaný princip je zachován [3]. 20

21 Obrázek 4: Vodopád vs. agilní vývoj [12] 4.2 Představení agilních metodik Agilní metodiky vychází z Agilního manifestu. Spousta z nich ale existovala v určité formě již před ním. Existuje spousta agilních metodik, zde je stručný výčet nejznámějších z nich. - Adaptive software development - Agilní modelování - Agile unified proces - Crystal metodiky - Dynamic systems development method - Extrémní programování - Feature driven development - Lean software development 21

22 - Scrum - Test driven development Tyto metodiky lze do určité míry kombinovat. Lze používat konkrétní metody a principy obsažené v jedné metodice ve druhé. Také je třeba říct, že lze kombinovat nejen agilní metodiky mezi sebou, ale i rigorózní a agilní. To už však záleží na konkrétní společnosti či vývojovém týmu. Výčet a možnosti těchto kombinací, lze však těžko spočítat a popsat. V současnosti je ale nejvýznamnější kombinace Kanbanu a jiných metodik, zejména Scrumu (Scrumban). To však nejsou metodiky v pravém smyslu, spíše tzv. hybridy. Kanban sice bývá zařazován mezi agilní metodiky, ale je to spíše metoda a nástroj k lepší práci s procesem. Proto je Kanban a Scrumban zařazen až do páté kapitoly, kde jsou popsány nástroje a metody projektového řízení. Pro tuto práci jsem vybral celkem šest odlišných metodik, které mě nejvíce zaujali. 4.3 Extrémní programování (XP) Extrémní programování patří mezi nejznámější a nejpoužívanější agilní metodiky vůbec. Jejím autorem je Kent Beck, který vysvětlil její principy v knize Extreme Programming Explained vydanou v roce [13] Tato metodika se nazývá extrémní programování, protože osvědčené postupy ve vývoji software žene do extrémů. Např. testování kódu, integraci, návrh architektury, párové programování, revize kódu atd. Pokud se třeba nejvíce osvědčilo testování kódu, neustále se testuje. Před i po každé změně kódu, tím se zajišťuje stále správná funkcionalita. Tato metodika je založená hlavně na programovacích technikách a je nejvíce vhodná pro projekt, kde se mění neustále požadavky. Není proto vhodná pro projekty, kde je nutná pečlivá začáteční analýza, nebo kde není možné neustále testovat. Také je vhodné, aby projekt nepřesáhl počet lidí v týmu (max ). Projekt by se také měl umět rozdělit na jednotlivé části (iterace), proto je vhodný hlavně pro objektové programování. Pro tuto metodiku jsou specifické základní principy a praktiky popsané níže. Také procesní model se liší od ostatních agilních metodik. 22

23 4.3.1 Základní principy V extrémním programování se definují těchto pět základních principů, které by se měli co nejvíce dodržovat, pokud se chce dosáhnout jisté efektivity. Komunikace Komunikace v týmu je velmi důležitý prvek, který by se neměl podcenit a zvláště pak u extrémního programování. Komunikace je třeba mezi všemi zúčastněnými stranami. Zvláště pak se zákazníkem, který by měl být pevnou součástí týmu. Neméně důležitá je také komunikace mezi manažerem a programátorem. Zajišťuje totiž reálnou představu o stavu projektu a zjednodušuje manažerovi projektu rozhodování. Zpětná vazba Efektivní zpětné vazby se dosahuje především neustálém testováním, nebo komunikace se zákazníkem, který může říct, co vyhovuje jeho požadavkům a co ne. Jednoduchost U extrémního programování se tvoří jen to, co je zrovna potřeba a k užitku. Nevytváří se kód, který by se mohl někdy hodit a který tím pádem stěžuje práci. Požadavky se neustále mění a není možné je všechny předvídat. Odvaha Pokud se objeví nějaký problém, u kterého není vidět řešení, je třeba riskovat určitý způsob řešení, který může přinést očekávaný výsledek nebo také nemusí. Respekt Aby tým mohl správně fungovat, je třeba, aby všichni členové týmu měli respekt ke svým kolegům a hlavně k zákazníkovi Základní praktiky XP Extrémní programování má celkem 12 základních praktik (postupů) [14]. 23

24 Plánovací hra Cílem je dosáhnout za nejkratší čas, co největší hodnoty softwaru. Vytvoření funkčních požadavků a jejich uživatelských scénářů. Určení pracnosti požadavků a stanovení jejich priorit. Malé verze Cílem je mít minimálně možný funkční systém a ten postupně po krátkých cyklech zvětšovat. Metafora Používá se pro jednodušší komunikaci v týmu. Zákazník může být laik a některé odborné pojmy, by pro něj mohli být matoucí. Vytváří se příběh, který je metaforou ke skutečnému projektu. Zákazník na pracovišti Velmi důležitý prvek, který často přináší úspěch. Zákazník specifikuje požadavky za běhu projektu a pomáhá tím k rychlejšímu procesu tvoření. Měl by to být někdo, kdo bude v budoucnu software používat nebo někdo, kdo dobře zná potřeby budoucích uživatelů. Párové programování Dva programátoři sedí u jednoho počítače. Jeden programuje a druhý přemýšlí o celkovém konceptu a souvislostech. Probíhá střídání v páru a dokonce i páry se mění. Tím se dosahuje optimalizace, protože každý může mít originální nápad, který usnadňuje řešení. Společné vlastnictví kódu Veškerý kód je sdílen celým týmem. Každý má právo na úpravu jakéhokoliv kódu, pokud uzná, že jeho řešení je lepší. Naštěstí probíhá neustálé testování, takže v případě chyb, se vše snadno opraví. Standardy pro psaní kódu Zjednodušuje se tím komunikace o zdrojovém kódu. Tyto standardy by se měli dodržovat, každý pak bude moci snadno upravovat a číst kód, který není jeho. 24

25 40 hodinový týden Dodržování doporučené pracovní doby. Přesčasy nejsou žádoucí, protože vedou ke snížení výkonnosti a soustředění, což se projevuje na výsledcích práce. Testování V XP patří testování do činností, které jsou vedeny do extrému. Testy se dokonce píší před samotným funkčním kódem. Podmínkou je, aby všechny testy byly 100%. Refaktorizace Refaktorizace je opět velmi důležitá praktika, která je charakteristická pro XP. Jedná se o změnu systému. Chování zůstává stejné, ale mění se nefunkční prvky. Např. jednoduchost, výkonnost. Integrace Neustále jsou postupně přidávány různé funkce. Správnost integrace opět zajišťuje testování. Jednoduchost návrhu Požadavky na software se neustále mění. Proto je třeba mít implementovány jen požadavky, které jsou skutečně chtěny. Nepotřebné funkce zbytečně zvyšují složitost software Procesní model Procesní model se skládá obvykle ze šesti fází, jak je zobrazeno na obrázku. 25

26 Obrázek 5: Procesní model XP [15] Průzkum Na začátku vývoje se provádí celkový průzkum požadavků zákazníka. Jsou vytvořeny takzvané karty zadání, které popisují veškeré požadavky zákazníka na funkčnost softwaru. Tyto karty si zákazník tvoří sám. V této fázi se také provádí přibližné určení nákladů a doby trvání projektu. Plánování Po průzkumu nastává fáze plánování, při které se vyberou nejdůležitější karty zadání, a poté je naplánován jejich vývoj. Iterace do uvolnění první fáze První verze se skládá z několika iterací podle rozsahu projektu. V první iteraci je vytvořena kostra systému a v dalších iteracích jsou vytvořeny další funkce podle vybraných karet zadání. Zprovozňování Po vytvoření plánovaných iterací vzniká první verze, která je předána zákazníkovi a začíná její ostrý provoz. 26

27 Údržba Po nasazení první verze se zpomaluje vývoj, protože programátoři jsou zaměstnání údržbou systému. Pokud je třeba, vznikají nové verze, které implementují další funkce podle potřeby a požadavků zákazníka. Nové verze začínají vždy opět od průzkumu. Smrt Tato fáze představuje konec projektu. Jedním z důvodu může být spokojenost zákazníka a dále už nejsou žádné požadavky. Druhý důvod nastává ve fázi, kdy zákazník nemá dost finančních prostředků na pokračování v projektu. [16] Shrnutí XP Tato metodika se hodí spíše pro menší projekty a týmy, protože vyžaduje velmi úzkou spolupráci a častou komunikaci mezi členy, což by se u větších týmů těžko provádělo. Je dále vhodná pro projekty, u kterých se často mění požadavky. Také je třeba, aby se jednotlivé požadavky daly co nejvíce rozdělit. XP není vhodná metodika pro projekty u kterých je důležitá důkladná analýza a kde nelze rychle provádět zpětné vazby. 4.4 Dynamic Software Development Method Metodika vznikla ve Velké Británii a jejím autorem je britské konsorcium DSDM Consorcium, které bylo založeno v roce 1984 a má 16 zakládajících členů. V roce 1995 bylo dovršena a členy konsorcia schválena prvotní verze této metodiky. V dalších letech se verze metodiky zlepšovali a podíl na tom měly také rostoucí zkušenosti z praktického užívání. Charakteristika Dynamic Software Development Method je založen na sedmi iterativních fázích. Základ DSDM se skládá ze čtyř základních složek: Vývoj softwaru je týmovou prací do vývoje by měl být zapojen zákazník i počítačový odborní Aby měl software vysokou kvalitu, musí splňovat účel využití a být technicky zdařilí 27

28 Vývoj může být inkrementální není účelné dodat všechny části najednou. Někdy je lepší dodat některé části dříve, než všechny později. Efektivní využívání zdrojů za účelem, co nejlepšího konečného výsledku pro zákazníka Klíčové pojmy Tato metodika je založena na devíti principech: Aktivní zapojení uživatele Tým s rozhodovacími pravomocemi Časté dodávky produktů Změny v průběhu vývoje Definice požadavků na hrubé úrovni Podpora podnikových cílů Iterativní a inkrementální vývoj k zajištění chtěného řešení Testování v průběhu celého životního cyklu Týmová spolupráce Procesní model Dynamic Software Development Method formuluje těchto sedm fází uskutečňovaných iterativním postupem: Úvod projektu nastavení správné sestavy Studie proveditelnosti zjišťování, zda je DSDM vhodnou metodikou pro daný projekt Obchodní studie obchodní procesy v doménové oblasti Stanovení modelu funkcí utváření a rozvíjení obchodního modelu aplikace Návrh navržení a zdokonalení struktury 28

29 Implementace samotné vytvoření projektu Závěr projektu dokončení projektu a jeho správa Obrázek 6: Procesní model DSDM [16] Na tomto obrázku můžeme vidět schéma modelu DSDM. První fáze zaznamenává studie proveditelnosti a obchodní studie. Další tři fáze (modelování, návrh a implementace) se provádí iterativně na základě současného stavu a požadavků zákazníka. Jednotlivé fáze nejsou pevně dané, pokud se zjistí nesrovnalosti, či chyby, je možné se libovolně vrátit na námi zvolenou fázi [16]. 29

30 4.5 Feature driven development Metodika Feature driven development byla představena v devadesátých letech minulého století Jeffem De Lucou, který řadu let pracoval v oboru vývoje softwaru a měl tak za sebou mnoho zkušeností a dokázal posoudit výhody a nevýhody dané metodiky a Peterem Coadem, který se řadí mezi nejvýznamnější odborníky ve vývoje softwaru. Pojem Feature se dá označit jako důležitá vlastnost, rys nebo znak. Cílem bylo vytvořit metodiku, která by byla jednodušší, čitelnější a efektivnější pro řízení projektů a vývoj softwaru, proto také do této metodiky vložili své nápady, názory a mnoholeté zkušenosti. Charakteristika Feature driven development je agilní a flexibilní metodika, která je založena na iterativním vývoji a vývoji, který je řízen vlastnostmi produktu a klade důraz na výsledný produkt a tím maximalizuje produkt. Snaží se lidem z různých oborů umožnit efektivní a produktivní práci, dohlíží na kvalitu a z vývojového procesu se snaží odstranit co nejvíce zmatků, nervozity a nejistoty Základní pojmy Jak už bylo v úvodu řečeno, metodika Feature driven development je založena na vlastnostech produktu, a proto nejdůležitějším klíčovým pojmem je vlastnost (feature). Vlastnost je z pohledu FDD charakterizována jako malý výsledek (malá část) užitečná z pohledu zákazníka. Charakteristiky vlastnosti jsou: Měřitelnost musíme být schopni posoudit, zda implementovaná vlastnost, je ta, kterou zákazník požadoval Srozumitelnost musíme být schopni vlastnosti porozumět, být si jisti, že víme, čeho se daná vlastnost týká, definovat ji a jednoduše jí vysvětlit. Realizovatelnost musíme si být jisti, že vlastnost bude možné realizovat a doba realizace bude přiměřeně dlouhá. Pokud je vlastnost příliš rozsáhlá, měli bychom ji rozčlenit do více menších vlastností. Vzhledem k tomu, že je metodika silně založena na vlastnostech, předepisuje i jejich formát: 30

31 <akce> <předmět> <podrobnosti> Akce označuje činnost, která je uskutečňována v rámci dané vlastnosti. Předmět označuje artefakt, s nímž nakládáme, a na kterém daná akce uskutečňuje. Podrobnosti se používají pro upřesnění vlastnosti, mohou být přidána další kritéria nebo upřesnění dalších požadavků na danou vlastnost. Praktiky Doménové objektové modelování (Domain Object Modeling), vývoj podle užitných vlastností (Developing by Feature), vlastnictví tříd (Individual Class Ownership), týmy pro užitné vlastnosti (Feature Teams), inspekce (Inspections) pravidelné buildy (Regular Builds), řízení konfigurací (Configuration Management), reporting/viditelnost výsledků (Reporting/Visibility of Results) Procesní model K zamezení zmatků a chaosu metodika FDD vytvořila pět procesů, které mají následující parametry: Feature driven development formuluje následujících pět procesů: Vytvoření celkového (globálního) modelu Vypracování podrobného seznamu vlastností Plánování podle vlastností Návrh podle vlastností Implementace podle vlastností [2] 31

32 Obrázek 7:Procesní model FDD [16] Vytvoření celkového (globálního) modelu V první fázi spolupracují doménoví experti a členové vývojového týmu, společně s hlavním programátorem a architektem. Vytváří základní model, který předvádí základní a obecné účely systému. Doménoví experti seznámí ostatní členy týmu s daným projektem, s jeho cíli a zaměřením. Cílem první fáze je dát členům týmu hrubou o dalších postupech projektu a vytvoření úvodního modelu. Vypracování podrobného seznamu vlastností Tato fáze je zaměřena na vypracování podrobného seznamu vlastností. Tým by se měl pokusit vytvořit co nejrozsáhlejší seznam vlastností, který by měl zohledňovat, co největší počet požadavků a specifikací na daný systém. Vypracování co nejpodrobnějšího seznamu vlastností se využívají nejen model z první fáze, ale všechny dostupné informace. Na závěr probíhá spolupráce se zákazníkem identifikace konečného výsledku. Zákazník posoudí konečný výsledek a rozhodne, zda za něj zaplatí, či nikoliv. Plánování podle vlastností V této fázi se vytváří plány pro další vývoj, jehož součástí je i datum ukončení vývoje, které bývá označováno za nejdůležitější mezní datum. Poté se rozpracovávají plány jednotlivých skupin vlastností a ke každé z nich se přiřadí vlastník. Důležité je také vytvoření pořadí, ve kterém budou vlastnosti implementovány. Návrh podle vlastností V této fázi jsou už rozpracovávány vybrané vlastnosti. Programátor vybere jednu nebo více vlastností, například podle vzájemné závislosti pro implementaci. Poté hlavní 32

33 programátor zahájí proces, který se zakládá na určení jednotlivých tříd, které dané vlastnosti zahrnují a kontaktování vlastníků, kteří vytvoří tým a rozhodnou o následné implementaci jednotlivých vlastností. Implementace podle vlastností Tato fáze zahrnuje činnost implementace jednotlivých vlastností. Jednotliví vlastníci jsou zodpovědní za návrh a implementaci, píší jednotlivé metody a provádí i jednotlivé testy. Jakmile je hlavní programátor spokojený s konečným výsledkem, integruje ji do systému [17] [18] Shrnutí FDD Tato metodika je mnohem formálnější než ostatní, protože zpočátku projektu se více věnuje modelování celého systému a návrhu potřebných vlastností. Úzce ale spolupracuje se zákazníkem, což je velká výhoda, protože směr vývoje jde správným směrem. 4.6 Lean software development Metodika Lean software development (LSD) má původ v řízení průmyslové výroby. Metoda Lean manufacturing (štíhlá výroba) vznikla v japonské firmě Toyota po druhé světové válce. Jejím cílem bylo levnější, efektivnější a rychlejší řízení výroby aut. Hlavním cílem bylo, co nejvíce omezit plýtvání bez ztráty kvality. Metoda se snaží, aby zákazník neplatil za chyby, které způsobí firma svoji neschopností. Zákazník by měl platit, jen za to, co požadoval. Lean manufacturing byla přizpůsobena pro vývoj software v rámci agilních metod a byla nazvána Lean software development. Tato metodika se snaží identifikovat a hlavně eliminovat všechny zdroje plýtvání v průběhu celého vývojového procesu a zákazníkovi dodat produkt, který splňuje jeho požadavky. Cíle metodiky: Vyvíjení software za třetinu času Redukce chyb na třetinu 33

34 Snížení rozpočtu na třetinu Principy a nástroje Koncept principu Lean zahrnuje těchto sedm principů: Eliminovat plýtvání Včleňovat kvalitu do vývoje Vytvářet znalosti Odkládat závazky Dodávat co nejrychleji Důvěra a respekt k lidem podílejících se na vývoji Optimalizovat celek Princip první: eliminace plýtvání: Základem tohoto principu je nalézt všechny relevantní zdroje plýtvání a následně je eliminovat. Dalším důležitým pojmem v tomto principu je tok zajištění plynulého toku od požadavků k řešení. V tomto principu se mezi nástroje řadí Kano model, který identifikuje hodnoty, tzv. přesné porozumění zákazníkovi a identifikace hodnoty, kterou si představuje. Dalším nástrojem je Mapa hodnotového toku, která je zaměřena na identifikaci plýtváním. Dále potom Sada zásad pro každou oblast plýtvání, která eliminuje plýtvání. Princip druhý: včleňovat kvalitu do vývoje: Pro větší efektivitu je třeba začleňovat kvalitu do vývoji už na začátku. Zamezuje se tím, že chyby postupují celým vývojem, ačkoliv na konci by byly stejně odstraněny. Pro tento princip se používají celkem tři skupiny nástrojů pro jednotlivé účely. 34

35 Účel Zpětná vazba Prevence vzniku chyb Nástroj Iterativní vývoj Testování Vývoj řízený testy Automatizace Refaktorizace Nepřetržitá integrace Disciplína při vývoji Sada principů 5S Tabulka 1: princip druhý Princip třetí: Vytvářet znalosti V klasickém vodopádu je na počátku věnována spousta času ke sběru všech požadavků. Protože vývoj softwaru je nestálý a požadavky se mění, a proto přijde tato práce nazmar. Lean se snaží pomocí níže uvedených nástrojů v tabulce eliminovat tyto zbytečné ztráty [19]. Účel Podpora tvorby a sdílení znalostí Zachycování znalostí Tabulka 2: princip třetí [20] Nástroj Komunikace Vědecká metoda Metoda A3 Vývoj založený na souboru možností Speciální pravidla Párové programování Dokumentace Wiki systém Princip čtvrtý: Odkládat závazky Odkládání závazků na poslední chvíli umožňuje přizpůsobení se aktuální potřebě a současnému stavu. Umožňuje pružně reagovat na změny ve vývoji a v případě špatného rozhodnutí se vydat jinou cestou. Účel Vytvoření tolerance ke změnám Odkládání závazných a nevratných rozhodnutí Nástroj Iterativní vývoj Minimalizace závislostí Vývoj založený na souboru možností Neoddělovat tvorbu návrhu od implementace Tabulka 3: princip čtvrtý [20] 35

36 Princip pátý: Dodávat co nejrychleji Tento princip nám říká, že je velmi výhodné dodávat zákazníkovi software po malých funkčních celcích. Tím víme, že se vývoj udává správným směrem a nejsou vytvořeny funkce, které už jsou pro zákazníka zbytečné. Účel Dodávat co nejrychleji Tabulka 4: princip pátý [20] Nástroj Krátké iterace, malé dávky Princip šestý: Důvěra a respekt k lidem podílejících se na vývoji Pokud se bude vývojář cítit ve svém týmu motivovaný a potřebný, tak ho jeho práce bude bavit a bude více produktivní. Také je potřeba, aby se mohl vývojář na své spolupracovníky spolehnout a svěřit jim úkoly s tím, že je splní. Účel Pravomocní pracovníci Podpora týmové práci Tabulka 5: princip šestý [20] Nástroj Samořízené týmy Motivace Komunikace Kanban Andon Tvorba přehledů Princip sedmý: optimalizovat celek Pro správný vývoj nesmí fungování jednotlivých částí převážit fungování celku. Účel Systémové myšlení Neustálé zlepšování Tabulka 6: princip sedmý [20] Nástroj Metoda pěti Proč? Vnímání širšího kontextu vývoje Metriky Kaizen Shrnutí Leanu Lean nepředepisuje žádný konkrétní procesní model. Poskytuje však sedm principů, které se snaží, aby byly splněny cíle metodiky. Pro efektivní vývoj je důležité, aby se využívalo všech principů, tím vynikne síla metodiky. Pro každý princip existuje několik 36

37 metod a technik, které pomáhají aplikovat jednotlivé principy. Konkrétní metody lze samozřejmě používat i v jiných metodikách, ale to už záleží na jednotlivých týmech. 4.7 Test driven development V každé fázi procesu vývoje je testování důležitá část a autoři metodiky Test driven development, tedy vývoj s testováním na počátku, na to nemají jiný názor. Dokonce by se dalo říct, že testování považují za nejdůležitější a staví ho před všechny ostatní kroky a označují za základ celkového vývojového procesu. Podle autorů této metodiky je ze všeho nejdůležitější nejprve napsat test a až potom napsat zdrojový kód. Poté, co je zdrojový kód hotov, projde testem a následuje řada dalších úprav. Úprava změny kódu se nazývá refaktorizace. TDD říká, že první test, který bude vytvořen, musí selhat, jinak nedojde k implementaci funkce. Dokončení implementace proběhne až ve chvíli, kdy projde tímto testem Procesní model Obrázek 8: Procesní model TDD [16] Životní cyklus se skládá ze tří fází. První fází je testování, druhá fáze implementace a třetí fáze je návrh. 37

38 Procesy Jednotlivé fáze, se kterými vývojáři pracují, znázorňuje tento diagram: Obrázek 9: Procesní model TDD [16] V prvním kroku, co nejrychleji vytvoříme test, který selže na základě chybějící funkcionalitě. Spustíme všechny existující testy a přesvědčíme se, že test v kroku 1 opravdu selže. Pokud máme velké množství testů, spustíme pouze jejich podmnožiny. Nastává čas pro úpravu potřebné funkcionality (modul, funkci). Ověříme, zda zdrojový kód projde testem z kroku 1. V této fázi dochází k puštění všechno dosavadních testů nad tímto novým zdrojovým kódem. V případě velkého množství, spustíme jejich podmnožinu. Pokud nedopadne testování úspěšně, musíme testovat znovu. V posledním kroku provedeme potřebné úpravy a odstraníme případné duplicity. Zkontrolujeme, zda nebyla porušena integrita po přesunutí testu do testovací sady [16] [21] Shrnutí TDD Test driven development je zajímavá metodika avšak velmi specifická. Někdy bývá součástí ostatních agilních metodik. Pro plnohodnotné použití potřebuje zkušený tým, který ji dokáže využívat. Je vhodná pro projekty, které jsou rizikové a nepotřebují se na počátku projektu věnovat příliš návrhu. 38

39 4.8 Scrum development process Metodika Scrum development process (dále jen Scrum) se řadí k agilním metodikám, které byly vytvořeny později. Název Scrum se používá v rugby, což by se dalo přeložit jako mlýn. Jedná se o strategii týmu dostat míč do hry. Tato metodika se snaží vidět svět objektově, proto je vhodné používat objektové modelování při jejím používání, tím vynikne její síla. Základní charakteristika Scrum se spíše řadí mezi manažerské metodiky. Snaží se zlepšovat metody a praktiky, které se používají v softwarovém inženýrství. Každý vývojář má přidělenou určitou množinu objektů, které se věnuje, na rozdíl od extrémního programování, kde každý má přístup ke všemu. Vývoj probíhá v určitém počtu časových posloupností, jejichž délka je pevně daná. Každý jeden interval se nazývá sprint a trvá průměrně jeden měsíc. Není to ale podmínka, délka sprintu záleží na rozsáhlosti projektu. Každý den probíhají tzv. Scrum meetings, které nahrazují centralizované plánování. Na těchto setkáních se probírá dosavadní pokrok, předvedení současných výsledků a samozřejmě další plánování. Scrum se do jisté míry shoduje s dalšími agilními metodikami. Je flexibilní, iterativní a snaží se včasně reagovat na nové požadavky zákazníka Základní pojmy: Scrum Jednodenní iterace v rámci Sprintu, je mnohem kratší než sprint, trvá jeden den. Na začátku každého pracovního dne se koná schůzka, tzv. Scrum Meeting. Sprint Sprint je druhý typ iterace, který trvá podle velikosti projektu. Většinou však délka trvání je jeden měsíc. Vývoj projektu probíhá obvykle ve třech až osmi sprintech. Na počátku sprintu se uskutečňuje schůzka, na které se třídí a vybírá množina požadavků, která se bude řešit. Ke konci sprintu je další schůzka Sprint review, na které se shrnuje, co se během sprintu vykonalo a co se podařilo či nepodařilo splnit. Zákazníkovi se předvádí tzv. Sprint demo. Na úplném konci probíhá retrospektiva, na které se shrnuje, jak si tým po celou dobu sprintu vedl a poukazuje na slabé a silné stránky. Backlog Ve Scrumu se dělí backlogy na dva základní druhy: 39

40 Product backlog a Sprint backlog. Product backlog v sobě obsahuje veškeré funkcionality a požadavky zákazníka na produkt. Odpovědnost za Product backlog má pouze Vlastník produktu, který uspořádá seznam požadavků, podle svých priorit. Tento seznam se stále mění podle potřeby a logické návaznosti. Pro každou položku je časem vytvořen uživatelský příběh, který více přibližuje požadovanou funkčnost. Sprint backlog obsahuje položky z Product backlogu. Tyto položky jsou více rozpracovány a je určen časový odhad pro její vykonání Role Scrummaster je osoba, která je odpovědná za komunikaci se zákazníkem a managementem a také zda jsou dodržovány praktiky Scrumu. Má za úkol odstraňovat všechny překážky, které zabraňují maximální míře efektivity. Na setkáních klade otázky a moderuje diskuzi. Vlastník produktu (Product Owner) odpovídá za chod projektu, řídí jeho průběh a stará se o Product backlog. Je vybrán Scrummasterem, zákazníkem a managementem. Scrum tým (Scrum Team) je samoorganizující projektový tým, který má za úkol splnit cíle daného sprintu. Dalšími jeho úkoly je odhad pracnosti a času Procesní model Obrázek 10: Procesní model Scrum [24] 40

41 Postup vývoje: Vývoj se dělí na 3 základní kroky: Předehra a Dohra mají lineární průběh. Hra se skládá ze sprintů, který se iterativně opakují. Předehra Plánování Architektura systému a návrh Hra Sprinty Vývoj Zabalení Revize Dohra Ukončení Plánování Předehra Plánování definuje systém. Na začátku je sestaven Product Backlog, který obsahuje všechny požadavky. Ty jsou uspořádány podle priority a logické návaznosti. Sestavuje se projektový tým, vybírají se vývojové nástroje, analyzují se rizika a zdroje. Hra Hra je nejdůležitější část celého procesu Scrum. Je iterativně opakována ve sprintech, který implementují nové funkcionality. Během jednoho sprintu probíhají všechny klasické vývojové fáze: sbírání požadavků, analýza, návrh, vývoj, testování, předání. Obsah sprintu je určený backlogem. Na začátku každého sprintu se z něj vybírá skupina požadavků, který tvoří Sprint Backlog. Tyto požadavky jsou pak během sprintu implementovány. 41

42 Dohra Jedná se ukončení celého vývoje. Cílem této fáze je příprava produktu pro předání zákazníkovi. Vytváří se dokumentace, testují se vazby mezi moduly[22] [23] Shrnutí Scrum je jedním z nejpoužívanějších agilních metodik, který má celou řadu zásad, které řídí vývoj softwaru. Metodika je iterativní, měřitelná a inkrementální, protože se zaměřuje na zpřísnění vývojového cyklu, který je rozdělen do menších úkolů, které představují menší množství úsilí, tzv. sprinty, na rozdíl od rozsáhlého plánování, budování, testování a nasazení. Výhody: Iterativní a inkrementální metoda: umožňuje sledování pracovního postupu projektu a poskytuje mezivýsledky. Přizpůsobivost vývoje produktů: Scrum umožňuje měnit priority a požadavky. Také umožňuje rychle přidat další modifikace nebo funkce. Účast a posílení komunikace: všichni členové týmu jsou zapojeni do procesu a motivováni k tomu vyjádřit svůj názor a přispět ke všem rozhodnutím. Tým je schopen snadno komunikovat a odstraňovat překážky co nejdříve. Spolupráce: zdokonalování vztahů se zákazníky a klienty díky denní komunikaci. Zvyšování produktivity: umožňuje rychleji dodávat produkty stanovením předběžného odhadu a porovnáváním výkonnosti produktivity týmu. Nevýhody: Vyžaduje zkušený tým: obvykle se metodika Scrum používá pro malé týmy 5-8 osob. Členové týmu musí být přiděleny v rámci projektu a měli by mít dostatečnou zkušenost. Pokud tým se skládá z nováčků, může být riziko, že nebude dokončen projekt včas. Čas a náklady: po každém sprintu potřebuje sprint nové plánování. To spotřebuje hodně času, pokud je plánován delší sprint. Neočekávané problémy mohou také bránit dokončení sprintu v čas. 42

43 4.9 Porovnání rigorózních a agilních metodik Na základě předchozích poznatků, lze shrnout a porovnat oba směry projektového řízení v určitých oblastech. Náplň rigorózní metodiky se více zaměřují na samotné procesy. Samotné pracovníky lze ve vývoji nahradit. Agilní metodiky považují pracovníky za klíč k úspěchu. Kvalita rigorózní metodiky se zaměřují na vysokou kvalitu procesů a tím předpokládají, že to povede ke kvalitnímu výsledku. Naopak agilní metodiky se zaměřují na vysokou kvalitu, která bude vyhovovat zejména zákazníkovi. Změny rigorózní metodiky se snaží změnám co nejvíce vyhnout, nebo je alespoň minimalizovat, protože přílišnými změnami se znehodnocují další plány. Agilní metodiky změny vítají a počítají s nimi, protože zákazník může alespoň přehodnotit své požadavky a zbytečně se nevytváří něco, co pro něj už v současnou chvíli nemá význam. Podrobnost rigorózní metodiky se vyznačují vysokou podrobností všech procesů a činností v celém vývoji. Agilní metodiky předkládají většinou pouze principy a doporučení, aby nebyly vytvářeny zbytečné meziprodukty, které nemají žádný přínos. Dokumentace v rigorózních metodikách se zpracovává velké množství dokumentace, která však zákazníkovi nepřináší žádnou hodnotu a pro vývojáře a to neoblíbená a zdlouhavá práce. V agilních metodikách se tvoří pouze minimální dokumentace (User story). Dokumentace není ani tolik potřebná, neboť tým často komunikuje se zákazníkem. Specializace lidí v rigorózních metodikách bývají přesně definované role vývojářů, například databázový expert se stará pouze o databáze atd. V agilních metodikách je tým brán jako jeden celek, který spolu sdílí znalosti a spolupracuje. Plánování v rigorózních metodikách se velký čas věnuje sběru požadavků a pečlivému plánování celého vývojového procesu. V agilních metodikách se většinou plánuje pouze příští iterace z důvodu, že není jisté, co zákazník může považovat vhodné. Řízení lidí v rigorózních metodikách je pevně daná organizační struktura. Hlavní slovo zde má vždy projektový manažer, který plánuje a řídí veškerý proces. V agilních metodikách bývá většinou role projektového manažera vypuštěna. Nejlépe je to vidět ve 43

44 Scrumu, kde je vývojový tým složen z vlastníka produktu, Scrummastera a samoorganizovaného týmu. Projektový manažer může mít pouze podpůrnou roli k odstranění administrativních nedostatků. Komunikace v rigorózních metodikách je komunikace převážně písemná a naopak agilní metodiky dávají přednost osobní komunikací tváří v tvář. Způsob vývoje v rigorózních metodikách se můžeme setkat spíše s vodopádovým modelem, popřípadě s přírůstky, které ale probíhají v dlouhých iteracích. Naopak v agilních metodikách se můžeme setkat s přírůstkem, který probíhá v krátních iteracích. Vztahy se zákazníkem v rigorózních metodikách se považuje zákazník pouze za zdroj peněz a veškeré závazky jsou velmi dobře právně ošetřeny. Zákazník je většinou přítomen pouze na začátku projektu při sběru požadavků a na konci při předávání výsledného projektu. Naopak v agilních metodikách funguje spolupráce mezi zákazníkem a vývojovým týmem na základě důvěry. Zákazník bývá, nebo je alespoň dobré, když je součástí týmu nebo pravidelně komunikuje. Technologie v rigorózních metodikách se většinou může používat jakákoliv technologie. V agilních metodikách je využívána objektově orientovaná, neboť jde více rozdělovat do jednotlivých funkčních částí. Testování v rigorózních metodikách probíhá testování na konci vývojového cyklu a naopak v agilních závisí na metodice, ale dalo by se říci, že probíhá neustále. 44

45 5 Metody a nástroje pro řízení projektů Tato kapitola se zabývá metodami a nástroji, které se využívají v moderním projektovém řízení. Některé už byly představeny v rámci jednotlivých agilních metodik. 5.1 Kanban Kanban bývá zařazován do agilních metodik, ale je to spíše technika, která se snaží zefektivnit proces, tím že vizualizuje plánované a odvedené práce. Jejím zakladatelem je Taiichi Ohno, který pracoval v Japonské firmě Toyota. Termín kanban se překládá jako viditelná deska. Kanban odstraňuje z procesu neefektivitu tím, že veškerou práci bere jako plynutí. To, co brání plynulosti procesu, odstraňuje. Pokud se omezí rozpracovaná práce, zvýší se tím kvalita. Pokud se vývojáři soustředí pouze na jeden úkol, je dosaženo vyšší kvality. Kanban je tvořen těmito pěti pravidly: 1. Vizualizace workflow 2. Limitování work-in-progress 3. Měření a řízení toku (flow) 4. Explicitní vyjádření pravidel procesu 5. Využívání modelů k rozpoznávání příležitostí a k zlepšení. Vizualizace workflow Metoda Kanban se opírá zejména o vizualizace a vizualizaci workflow. Rozdělíme Kanban tabuli (Kanban board), která je fyzická nebo elektronická, do svislých sloupců a zapíšeme do nich jednotlivé procesy. Jednotlivé Tasky zapíšeme na lístečky a ty potom rozdělíme do jednotlivých procesů podle stejné nebo podobné úrovně. 45

46 Limitování work-in-progress Podle metody Kanban by se nemělo dělat více věcí najednou. Fyzická tabule zapisuje limity tasku nad každý sloupec. Elektronický Kanban kontroluje WIP (work-inprogress), což je výhodou. Měření a řízení toku Pro kontinuální zlepšování procesu, je třeba procesy měřit. K tomu slouží veličina lead time, která měří čas, za jakou dobu se jednotlivý task dostane z jednoho do druhého stavu. Průběh a vývoj toku se zobrazuje pomocí Cumulative flow diagramu. Tento diagram nám ukazuje, jestli jsou dodržovány limity WIP. Explicitní vyjádření pravidel procesu Veškerá dohodnutá pravidla, by měli být dodržována a všichni členové týmu, by k nim měli mít přístup. Využívání modelů k rozpoznávání příležitostí a k zlepšení Pro zefektivnění kanbanu je třeba používat procesní modely [25] [26] [27]. 5.2 Scrumban Scrumban používá smíšené techniky Scrumu a Kanbanu. Spojuje základní vlastnosti Scrumu a flexibilitu Kanbanu. Scrumban má mírně vynucený proces, kde stanovování priorit je volitelné, ale doporučuje se při každém plánování. Také, stejně jako v Kanbanu, deska zůstane trvalá, zatímco pouze úkoly a jejich priority se mění. V Scrumbanu je práce obvykle zaměřena spíše na plánování než uvolnění, zatímco plánování ve Scrumu se provádí po každém sprintu, plánování ve Scrumbanu se provádí pouze na vyžádání. Tato metoda se používá hlavně pro rychle se rozvíjející proces jako začínající nebo projektů, které vyžadují nepřetržité tvorbu produktů, kde prostředí je dynamické. 46

47 Výhody: Úspora času: Scrumban využívá plánování na vyžádání, takže není nutné dělat odhad a plánování sprintu. Tým plánuje pouze tehdy, když je potřeba. Z tohoto důvodu členové týmu získají další den navíc. Kvalita: ušetřený čas na plánování umožňuje zaměřit se na kontrolu kvality a ověření, zda pracovní položka je správně vytvořená. Ušetřený čas dovolí ovládání výrobního procesu a kontrolování, zda práce je připravená do fronty připravených procesů. Minimalizace odpadu: Scrumban používá proces vyrovnávání paměti a diagramy ukazují slabiny a příležitosti procesu. To dává možnost odstranit vše, co není přidanou hodnotou pro zákazníka. Použití Scrumbanu: Rozšířená deska Vytváří se sloupce, které se skládají ze sekcí "Dělat", "Práce postupu" a "Hotovo". Sloupec " Práce postupu " může být rozdělena do více částí, poté nové sloupce ukazují konkrétní etapy procházení úkolu, proto každý vidí současný stav a úkoly jsou dokončeny co nejdříve. Nové úkoly jsou umístěny na desce, aniž by byly přiřazeny konkrétnímu členu týmu. Z tohoto důvodu jsou členové týmu schopni vybrat, na kterém úkolu by chtěli pracovat. Omezení Backlogu Na začátku je potřeba udělat seznam úkolů, vložit je do Backlogu a nastavit omezení ve sloupci Práci postupu. Protože Scrumban nemá pravidelné plánování schůzek, omezení se používá k implementaci plánování na požadovanou techniku. Tým bere položky z Backlogu a vkládá je do procesu, dokud nebude prázdný. Prázdná Backlog je znamení, že je třeba plánovat další úkoly. Je to lepší a snadnější pro menší plánování, které má cíl pouze několik úkolů na iteraci. Nalezení úzkých míst Pro nalezení úzkých míst je potřeba rozdělit sekci Práce postupu do menších sloupců, které realizují samostatné WIP omezení. Tento přístup umožňuje objevit úzká místa, které blokují tok procesů [28]. 47

48 5.3 Nástroje a techniky používané ve Scrumu Pro řízení softwarových projektů, která využívá agilních myšlenek, existuje v dnešní době opravdu velké množství nástrojů. Já jsem si vybral produkt od společnosti Versionone, který mě asi nejvíce zaujal, protože poskytuje komplexní a propracované nástroje pro celý vývojový proces projektu. Součástí produktu jsou také výukové videa a blogy, které pomáhají, jak pracovat s programem i jak přizpůsobit vývojový proces pro vlastní tým [29] [30.] Product Backlog Obrázek 11: Product Backlog [29] Product Backlog slouží k uchovávání všech uživatelských příběhů (User story). Každý User story má vlastní název, ID, vlastníka, prioritu a odhad vykonání práce. 48

49 5.3.2 Story board Obrázek 12: Story board [29] Storyboard využívá metodu Kanban. Vizualizuje veškeré User story v daném sprintu. Seznam všech sloupců lze volitelně nastavit. Každý User story obsahuje stručné informace, jako například název vlastníka a odhad práce. Mezi sloupci lze položky jednoduše a libovolně přesouvat mezi sebou Taskboard Obrázek 13: Taskboard [29] 49

50 Taskboard funguje na podobném principu jako Storyboard. Každý User story obsahuje jeden nebo více tasků (úloh), to vše je zobrazováno v jednotlivých řádcích. Členové týmu vidí, které tasky už jsou hotové, a které jsou potřeba ještě vykonat Testboard Obrázek 14:Testboard [29] Testboard je třetí nejdůležitější vizualizace Kanbanu pro sledování sprintu. Podobně jako Taskboard zobrazuje jednotlivé testy k náležícím User story Project burndown Obrázek 15: Project burndown [29] 50

51 Project Burndown je graf, který zobrazuje, v jaké současné fázi se projekt nachází. Bere v úvahu všechny sprinty, které zatím byly provedeny. Horní křivka značí aktuální stav zbývajících User story, které je třeba vykonat. Dolní přímka představuje ideální stav. Na tomto obrázku je vidět, že vývoj na konci projektu sotva dosáhl jedné třetiny počtu vykonaných User story Velocity trend Obrázek 16: Velocity trend [29] Velocity trend vyjadřuje rychlost vývoje projektu. Na začátku sprintu se určí optimální rychlost vývoje. Tým se snaží na základě předchozích sprintů určit správnou hodnotu rychlosti. Na obrázku je vidět příklad Velocity trendu. Jednotlivé sloupce vyjadřují skutečnou rychlost v dané časové jednotce. Přímka, procházející jednotlivými sloupci představuje rychlost danou na začátku sprintu. Na tomto konkrétním obrázku je vidět, že tým dodržovat danou rychlost pouze v první časové jednotce. V dalších čtyřech časových jednotkách tým vykazoval zvýšenou rychlost, což by nebylo na škodu, ale protože v posledních dvou časových jednotkách je rychlost podstatně menší než v předchozích, je zde vidět, že práce v týmu nebyla optimálně rozložena. Proto by tým měl v dalším sprintu svoji práci více zoptimalizovat. 51

52 5.3.7 Estimate trend Obrázek 17: Estimate trend [29] Estimate trend zobrazuje celkový počet odhadů všech jednotlivých User story v rámci celého projektu. Je zde vidět lineární zvyšování počtu uzavřených odhadů, což je výhodné, protože tým se postupně zdokonaluje a získává zkušenosti pro další projekty Test trend Obrázek 18: Test trend [29] 52

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

Návrh softwarových systémů - úvod, motivace Návrh softwarových systémů - úvod, motivace Jiří Šebek, Martin Tomášek Návrh softwarových systémů (B6B36NSS) Obsah Motivace Integrace s ostatními obory SI Kdo / co ovlivňuje cílový SW Modely, metodiky

Více

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

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ Předmětem softwarového inženýrství jsou metodiky pro řízení vývoje softwaru. Proč potřebujeme tyto metodiky? Čím je vývoje softwaru specifický oproti jiným odvětvím? SOFTWAROVÉ

Více

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

Návrh softwarových systém. Návrh softwarových systémů Návrh softwarových systém ů - úvod, motivace Jiří Šebek Návrh softwarových systémů (B6B36NSS) Obsah Motivace Integrace s ostatními obory SI Modely, metodiky SI Verzování SW 2 Úvod Motivace SI Velké projekty

Více

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

Zuzana Šochová 30.10.2008. MFF Modelování a realizace softwarových projektů Zuzana Šochová 30.10.2008 1 Metody řízení projektů Týmová spolupráce Agilní metody Scrum proces Backlog úloh a odhady Jak plánovat Tým a zákazník 2 Executive support User involvement Experienced project

Více

Agile Software Development

Agile Software Development Agile Software Development Agile Software Development Jiri Fabian www.jirifabian.net O čem to bude O metodologiích RUP Agile XP Scrum Co je softwarový vývoj Umění? Manufaktura? Modelování? Co je softwarový

Více

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

TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE Tel. +420 543426329 TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE Autor: Vít Chvál Verze dokumentu: 1.0 Datum poslední změny: 18.2.2013 Obsah: 1 Pracovník 3 2 Pracovní činnosti (Náplň práce)

Více

Agilní metodiky vývoje softwaru

Agilní metodiky vývoje softwaru vývoje softwaru : důraz na průběžnou komunikaci mezi vývojovým týmem a zákazníkem důraz na tvorbu kvalitního kódu a funkcí, které mají přímou obchodní hodnotu pro zákazníka týmovou spolupráci a samoorganizaci

Více

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

Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc Seminární práce Vývoj informačního systému Manažerská informatika 2 Ing. Miroslav Lorenc Vypracoval: Jan Vít (xvitj17) LS 2007/2008 1. ÚVOD...3 1.1. POPIS PROJEKTU...3 2. OBSAH PROJEKTU...3 2.1. SEZNAM

Více

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

Metodika analýzy. Příloha č. 1 Metodika analýzy Příloha č. 1 Příloha č. 1 1 Účel dokumentu Dokument popisuje závaznou metodiku systémové analýzy, je upraven na míru pro prostředí Podniku. Dokument je provázán s Podnikovou analýzou,

Více

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

2. Začlenění HCI do životního cyklu software Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

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

Seznam.cz. Tomáš Pergler. najdu tam, co neznám! Scrum @ Seznam.cz Tomáš Pergler Obsah přednášky Jak funguje Scrum role fáze (meetingy) vstupy / artefakty Jak děláme Scrum v Seznam.cz Praha Brno na dálku Jak reportujeme dál Projekty i maintenance Co

Více

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

X36SIN: Softwarové inženýrství. Životní cyklus a plánování X36SIN: Softwarové inženýrství Životní cyklus a plánování 1 Kontext Minule jsme si řekli, co to je deklarace záměru, odborný článek, katalog požadavků, seznam aktérů a seznam událostí. Seznam aktérů a

Více

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

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ 4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ 1 METODIKY K ČEMU JSOU DOBRÉ? BUĎ NEMÁTE ŽÁDNOU NEBO STRIKTNÍ / RIGORÓZNÍ POSTUPY NĚCO MEZI TÍM: AGILNÍ PŘÍSTUP K ČEMU

Více

METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph.

METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph. METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph.D Katedra informačních technologií VŠE Praha nám. W.Churchilla 4,

Více

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

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů 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

Více

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

Řízení reálných projektů, agilní metodiky Agent Technology Group Katedra kybernetiky Fakulta elektrotechnická - České vysoké učení technické Praha, 2009 Osnova Lze vyvíjet software bez metodiky? - bohužel ano menší komerční firmy (zejména vývoj

Více

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

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů 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

Více

AGILNÍ METODIKY VÝVOJE SOFTWARE

AGILNÍ METODIKY VÝVOJE SOFTWARE AGILNÍ METODIKY VÝVOJE SOFTWARE Postupy předchozích metodik, založené na důsledné analýze a propracovaném návrhu jsou obecně nejlepší. Ale Děláte web půl roku? Konkurence mezitím spustila dva Zdánlivě

Více

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

Vývoj informačních systémů. Jak vyvíjet v týmu Vývoj informačních systémů Jak vyvíjet v týmu Co je potřeba a co je podstatné? Lidé a jejich spolupráce Plány, pravidla, procesy, řízení Dokumentace Techniky a technologie Dlouhý čas Cílem je produkt (software)

Více

P R O J E K T O V É Ř Í Z E N Í A M A R K E T I N G 1. Akad. rok 2015/2016, LS Projektové řízení a marketing - VŽ 1

P R O J E K T O V É Ř Í Z E N Í A M A R K E T I N G 1. Akad. rok 2015/2016, LS Projektové řízení a marketing - VŽ 1 P R O J E K T O V É Ř Í Z E N Í A M A R K E T I N G 1 Akad. rok 2015/2016, LS Projektové řízení a marketing - VŽ 1 Vznik a historie projektového řízení Akad. rok 2015/2016, LS Projektové řízení a marketing

Více

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

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 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 Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových

Více

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

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto tomas.t.turecek@tieto.com 2010 Tieto Corporation Agile nejžádanější způsob vývoje software Tomáš Tureček Business consultant, Lean&Agile coach Tieto tomas.t.turecek@tieto.com 2012 Tieto Corporation Tieto Aktivity ve více než 20

Více

POČÍTAČE A PROGRAMOVÁNÍ

POČÍTAČE A PROGRAMOVÁNÍ POČÍTAČE A PROGRAMOVÁNÍ Moderní metody vývoje softwaru, Demontrační příklad piškvorky Miroslav Vavroušek PPI 09 V1.0 Opakovaní z minulé přednášky Vícerozměrná statická a dynamická pole Pole polí Datový

Více

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce WORKFLOW Procesní přístup Základ perspektivního úspěšného podnikového řízení Funkčnířízení založené na dělbě práce Procesní řízení princip integrace činností do ucelených procesů 1 Funkční řízení Dělba

Více

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

Co je to SCRUM! FRAMEWORK vs METODIKA. Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily? Úvod do SCRUM!! Co je to SCRUM! FRAMEWORK vs METODIKA Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily? agilemanifesto.org www.mountaingoatsoftware.com/scrum Z čeho to je...! Vychází

Více

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

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze

Více

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

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D. Prezentace k zahájení projektu pro Radu kraje Vysočina Projektový manažer - Ing. Ivan Sokolov, Ph.D. Obsah Úvod Cíle projektu Rozsah projektu Projektové řízení základní východiska Základní organizační

Více

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

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

ÚVOD DO PROBLEMATIKY PROJEKTŮ, KATEGORIE

ÚVOD DO PROBLEMATIKY PROJEKTŮ, KATEGORIE PROJEKTOVÉ ŘÍZENÍ STAVEB ÚVOD DO PROBLEMATIKY PROJEKTŮ, KATEGORIE Vysoká škola technická a ekonomická v Českých PROJEKTŮ Budějovicích Institute of Technology And Business In České Budějovice Tento učební

Více

Ročníkový projekt. Jaroslav Žáček jaroslav.zacek@osu.cz

Ročníkový projekt. Jaroslav Žáček jaroslav.zacek@osu.cz Ročníkový projekt Jaroslav Žáček jaroslav.zacek@osu.cz Cíle předmětů Vytvoření fungující aplikace, která splňuje definované požadavky Vyzkoušet si celý životní cyklus projektu - specifikace zadání, formování

Více

2 Životní cyklus programového díla

2 Životní cyklus programového díla 2 Životní cyklus programového díla Typické etapy: 1. Specifikace požadavků - specifikace problému - analýza požadavků 2. Vývoj programu - návrh - kódování (programování) 3. Verifikace a validace 4. Provoz

Více

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

1 Úvod 1.1 Vlastnosti programového vybavení (SW) 1 Úvod 1.1 Vlastnosti programového vybavení (SW) - dávkové zpracování - omezená distribuce - zakázkový SW - distribuované systémy - vestavěná inteligence - laciný HW - vliv zákazníka 1950 1960 1970 1980

Více

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

Agilní metodiky a techniky. analýza a vývoj IS Agilní metodiky a techniky analýza a vývoj IS Využití UML UML jako náčrt systému UML jako plán vývoje UML jako programovací jazyk Příklad: Analýza - chyby v zákoně viz http://blog.geospy.org/tagged/anal%c3%bdza

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE Václav Šebesta Ústav informatiky Akademie věd ČR, e-mail: vasek@cs.cas.cz Abstrakt Jestliže ještě před

Více

Návod k požadavkům ISO 9001:2015 na dokumentované informace

Návod k požadavkům ISO 9001:2015 na dokumentované informace International Organization for Standardization BIBC II, Chemin de Blandonnet 8, CP 401, 1214 Vernier, Geneva, Switzerland Tel: +41 22 749 01 11, Web: www.iso.org Návod k požadavkům ISO 9001:2015 na dokumentované

Více

ANALÝZA A PROJEKTOVÁNÍ SYSTÉMŮ Řízení projektů zavádění IS

ANALÝZA A PROJEKTOVÁNÍ SYSTÉMŮ Řízení projektů zavádění IS ANALÝZA A PROJEKTOVÁNÍ SYSTÉMŮ Řízení projektů zavádění IS Roman Danel VŠB TU Ostrava HGF Institut ekonomiky a systémů řízení Literatura Staníček, Z, - Hajkr, J.: Řízení projektů zavádění IS do organizací.

Více

Projektové řízení. Lenka Švecová, Tomáš Říčka. University of Economics, Prague. Project management for SMEs/NGOs - exchange of experience for trainers

Projektové řízení. Lenka Švecová, Tomáš Říčka. University of Economics, Prague. Project management for SMEs/NGOs - exchange of experience for trainers Project management for SMEs/NGOs - exchange of experience for trainers LLP Grundtvig Learning Partnership Projektové řízení Lenka Švecová, Tomáš Říčka University of Economics, Prague This project has been

Více

Zveme Vás na vzdělávací program: 1. ŘÍZENÍ PROCESŮ

Zveme Vás na vzdělávací program: 1. ŘÍZENÍ PROCESŮ děláme z dobrých firem skvělé Zveme Vás na vzdělávací program: 1. ŘÍZENÍ PROCESŮ Proč jsou procesy na prvním místě Úspěšné společnosti optimalizují své procesy, zvyšují efektivitu výroby, prohlubují flexibilitu

Více

WS PŘÍKLADY DOBRÉ PRAXE

WS PŘÍKLADY DOBRÉ PRAXE WS PŘÍKLADY DOBRÉ PRAXE ISO 9001 revize normy a její dopady na veřejnou správu Ing. Pavel Charvát, člen Rady pro akreditaci Českého institutu pro akreditaci 22.9.2016 1 ISO 9001 revize normy a její dopady

Více

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

Okruhy ke státním závěrečným zkouškám Platnost: od leden 2017 Okruh I: Řízení podniku a projektů: strategický management, inovační management a manažerské rozhodování 1. Základní struktura strategického managementu a popis jednotlivých fází, zhodnocení výstupů a

Více

komplexní podpora zvyšování výkonnosti strana 1 Využití Referenčního modelu integrovaného systému řízení veřejnoprávní korporace Město Hořovice

komplexní podpora zvyšování výkonnosti strana 1 Využití Referenčního modelu integrovaného systému řízení veřejnoprávní korporace Město Hořovice strana 1 Využití Referenčního modelu integrovaného systému řízení veřejnoprávní korporace Město Hořovice 19.3.2018 Zpracoval: Roman Fišer, strana 2 1. ÚVOD... 3 2. POPIS REFERENČNÍHO MODELU INTEGROVANÉHO

Více

Jakou metodiku použít pro

Jakou metodiku použít pro Jakou metodiku použít pro konkrétní projekt? Hodnocení a výběr vhodné metodiky pro budování IS Alena Buchalcevová Katedra informačních č technologií, VŠE Praha Agenda metodika jako nástroj zvýšení úspěšnosti

Více

Úvod do problematiky vývoje Vývoj informačních systémů

Úvod do problematiky vývoje Vývoj informačních systémů Úvod do problematiky vývoje informačních systémů Vývoj informačních systémů Management Klasický management - slouží k udržování a rozvíjení zavedených systémů, které jsou prostředkem pro nepřetržitou,

Více

PROJEKTOVÁ VÝUKA, ŘÍZENÍ PROJEKTŮ A VÝZNAM CERTIFIKACE PRO BUDOUCÍ KARIÉRNÍ RŮST

PROJEKTOVÁ VÝUKA, ŘÍZENÍ PROJEKTŮ A VÝZNAM CERTIFIKACE PRO BUDOUCÍ KARIÉRNÍ RŮST PROJEKTOVÁ VÝUKA, ŘÍZENÍ PROJEKTŮ A VÝZNAM CERTIFIKACE PRO BUDOUCÍ KARIÉRNÍ RŮST Ing. Jan Doležal Agenda 2 Projektové řízení a projektová výuka Jaké jsou požadavky praxe? Význam a možnosti certifikace

Více

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE Vývoj prvních programů byl prováděn nadšenci, programy byly šité na míru. Žádná metodika vývoje SW v té době neexistuje. Vývoj SW byl vnímán jako výzkum. Cíl, co bude

Více

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

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz RUP - Disciplíny Jaroslav Žáček jaroslav.zacek@osu.cz Disciplíny Množství disciplíny v dané iteraci Disciplíny podle RUP Šest základních: Business modeling - pro pochopení problémové domény Requirements

Více

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D.

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D. Procesní přístup k projektům informačních systémů RNDr. Vladimír Krajčík, Ph.D. Jaká byla moje cesta k zavedení a užití procesních prvků při řízení projektů veřejných informačních systémů se zaměřením

Více

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

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE náměstí W. Churchilla 4, 130 67 Praha3 Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control Jméno a příjmení: Michal Hendrich Školní

Více

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

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

Více

Druhy a formy projektového managementu, projektový cyklus a úvod do vybraných nástrojů projektového managementu

Druhy a formy projektového managementu, projektový cyklus a úvod do vybraných nástrojů projektového managementu Druhy a formy projektového managementu, projektový cyklus a úvod do vybraných nástrojů projektového managementu Druhy projektů Teoretická část Další možné členění projektů: Z pohledu základních rozlišovacích

Více

Softwarová podpora v procesním řízení

Softwarová podpora v procesním řízení Softwarová podpora v procesním řízení Zkušenosti z praxe využití software ATTIS Ostrava, 7. října 2010 www.attis.cz ATTN Consulting s.r.o. 1 Obsah Koncepce řízení výkonnosti Koncepce řízení výkonnosti

Více

Canon Business Services

Canon Business Services Canon Business Services Přeměna vašeho podniku Canon Business Services Chování zákazníků se mění rychleji než kdykoliv předtím a vaše organizace musí být připravena na změnu ve způsobu, jakým vytváříte

Více

CASE nástroje. Jaroslav Žáček

CASE nástroje. Jaroslav Žáček CASE nástroje Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within

Více

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

Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů Alena Buchalcevová Vysoká škola ekonomická v Praze, Fakulta informatiky a statistiky, katedra informačních technologií

Více

Novinky v UML 2.5 a agilní modelování

Novinky v UML 2.5 a agilní modelování Novinky v UML 2.5 a agilní modelování Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro AIS 15. října 2015 Marek Rychlý Novinky v UML

Více

S T R A T E G I C K Ý M A N A G E M E N T

S T R A T E G I C K Ý M A N A G E M E N T S T R A T E G I C K Ý M A N A G E M E N T 3 LS, akad.rok 2014/2015 Strategický management - VŽ 1 Proces strategického managementu LS, akad.rok 2014/2015 Strategický management - VŽ 2 Strategický management

Více

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

Agilní přístupy k vývoji SW. Jaroslav Žáček Agilní přístupy k vývoji SW Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ http://www.agilemanifesto.org/ Principy 1/4 Naší nejvyšší prioritou je vyhovět zákazníkovi včasným a průběžným

Více

kapitola 2 předprojektová fáze 31

kapitola 2 předprojektová fáze 31 OBSAH 6 projektové řízení Předmluva 3 Kapitola 1 Základní pojmy a východiska 13 1.1 Úvod do řízení projektů 14 1.1.1 Co je to projektové řízení 14 1.2 Základní pojmy projektového řízení 17 1.2.1 Projekt

Více

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

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Osnova Základní principy tvorby SW Fáze tvorby SW v předmětu UOMO Analýza požadavků Modelování typových úloh 2006 UOMO 54 Tvorba SW Dříve umění vyvolených

Více

Nebojte se přiznat, že potřebujete SQA

Nebojte se přiznat, že potřebujete SQA Nebojte se přiznat, že potřebujete SQA Internet a technologie 16 Václav Klimeš vaclav.klimes@nic.cz 1. 6. 2016 Osnova Kvalita Koncept kvality Co je a není SQA (Software Quality Assurance) Proč se zajímat

Více

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

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu Životní cykly Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu Vývoje produktu Implementace produktu 1. Identifikace problému potřeba nového systému/služby

Více

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů Odhadování pracnosti a PM Agenda Docházka Odhadování Neohlášený test Vedení projektů Historie projektů PM, odhadování, historie Odhadování Snaha určit rozsah. Důležité pro stanovení ceny a termínu Do nabídek.

Více

ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU?

ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU? ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU? HOW WELL-KNOWN AGILE METHODOLOGIES CAN CONTRIBUTE TO A SOFTWARE DEVELOPMENT PROCESS? Robert Pergl, Zdeněk Struska Abstrakt:

Více

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme Smysl metodiky IS/IT Koncentrovaná zkušenost Checklist na nic nezapomeneme Přínosy metodik Větší produktivita a kooperace týmů Komunikační standard Specializace projektových týmů Nezávislost na konkrétních

Více

19.11.2013. Projektový management. Projektový management. Další charakteristiky projektu. Projekt

19.11.2013. Projektový management. Projektový management. Další charakteristiky projektu. Projekt Projektový management Lekce: 8 Projektový management Doc. Ing. Alois Kutscherauer, CSc. Projektový management je typ managementu uplatňovaného k zabezpečení realizace jedinečných, neopakovatelných, časově

Více

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

Umí HR držet krok s byznysem (zkušenosti z agilního řízení) Umí HR držet krok s byznysem (zkušenosti z agilního řízení) Jana Gutierrez Chvalkovska Konference HR v pohybu 23.května 2018 Co nás čeká? Co je to agile? Jak lze využít prvky agilního řízení v HR Příklady

Více

Popis obsahu a struktury programu

Popis obsahu a struktury programu Popis obsahu a struktury programu (Příloha k Žádosti o akreditaci vzdělávacího programu u Společnosti pro projektové řízení, o. s.) 1 Vzdělávací subjekt: HM PARTNERS s.r.o. Název programu: Projektové řízení

Více

SOFTWAROVÉ INŽENÝRSTVÍ

SOFTWAROVÉ INŽENÝRSTVÍ SOFTWAROVÉ INŽENÝRSTVÍ Plán a odhady projeku Ing. Ondřej Macek 2013/14 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Příprava plánu projektu 3 Motivace k plánování Průběh projektu Bolest Dobré plánování Špatné

Více

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

Manažerská informatika - projektové řízení VŠE, fakulta Podnikohospodářská Manažerská informatika - projektové řízení Projekt implementace informačního systému Jiří Mikloš 2009 Obsah Obsah Obsah... 2 Úvod... 3 Zadání... 4 Projektový postup... 5

Více

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

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání EXIN Agile Scrum Foundation Příručka ke zkoušce Vydání 201608 Copyright 2016 EXIN Všechna práva vyhrazena. Žádná část této publikace nesmí být zveřejněna, reprodukována, kopírována nebo uložena v systému

Více

Struktura Pre-auditní zprávy

Struktura Pre-auditní zprávy Příloha č. 1 k Smlouvě o Pre-auditu: Struktura Pre-auditní zprávy 1. Manažerské shrnutí Manažerské shrnutí poskytuje nejdůležitější informace vyplývající z Pre-auditní zprávy. 2. Prohlášení o účelu a cílů

Více

XINF1. Jaroslav Žáček jaroslav.zacek@osu.cz

XINF1. Jaroslav Žáček jaroslav.zacek@osu.cz XINF1 Jaroslav Žáček jaroslav.zacek@osu.cz Tutoriály 24.10. - 3h 6.11. - 2,2h 27.11. - 1,5h Tutoriály budeme věnovat nejen teorii, ale také cvičení a workshopům. Přečtěte si skripta dříve, než týden před

Více

SCRUM představení.

SCRUM představení. SCRUM představení viktor@masicek.net O mě - Viktor Mašíček Vystudoval jsem informatiku na MFF Při studiích jsem už pracoval jako programátor na částečný úvazek Praxe byla důležitá stejně jako škola Nejvíce

Více

Cíl výuky: Cílem předmětu je uvedení studentů do problematiky projektování, seznámit posluchače se zásadami

Cíl výuky: Cílem předmětu je uvedení studentů do problematiky projektování, seznámit posluchače se zásadami PM_prezenční a kombinované bakalářské studium Česky Projektový management Anglicky Project Management Garant Ing. Zdeněk Voznička, CSc. Zakončení Zápočet Anotace: Úvod do projektového managementu, základní

Více

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

Softwarový proces. Bohumír Zoubek, Tomáš Krátký Softwarový proces Bohumír Zoubek, Tomáš Krátký 1 Úvod Základní pojmy Softwarový proces / Model životního cyklu vývoje software (SDLC, Software Development Lifecycle) Množina aktivit nutných k tomu, aby

Více

5 ZÁKLADNÍ PRINCIPY SYSTÉMOVÉHO ŘÍZENÍ BOZP

5 ZÁKLADNÍ PRINCIPY SYSTÉMOVÉHO ŘÍZENÍ BOZP 5 ZÁKLADNÍ PRINCIPY SYSTÉMOVÉHO ŘÍZENÍ BOZP Zaměstnavatelé mají zákonnou povinnost chránit zdraví a životy svých zaměstnanců a ostatních osob vyskytujících se na jejich pracovištích. Další důležitou povinností

Více

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

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1 Kvalita SW produktů Jiří Sochor, Jaroslav Ráček 1 Klasický pohled na kvalitu SW Každý program dělá něco správně; nemusí však dělat to, co chceme, aby dělal. Kvalita: Dodržení explicitně stanovených funkčních

Více

EDURO Projektové vzdělávání I

EDURO Projektové vzdělávání I EVROPSKÝ SOCIÁLNÍ FOND EDURO Projektové vzdělávání I PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Ing. Jitka Svatošová Evropský sociální fond Praha a EU Investujeme do vaší budoucnosti Úvod Úvod - co je

Více

Řízení projektového cyklu. Fáze projektového cyklu

Řízení projektového cyklu. Fáze projektového cyklu ODBORNÉ VZDĚLÁVÁNÍ ÚŘEDNÍKŮ PRO VÝKON STÁTNÍ SPRÁVY OCHRANY OVZDUŠÍ V ČESKÉ REPUBLICE Řízení projektového cyklu (PCM - project cycle management) Fáze projektového cyklu Řízení projektového cyklu Projektový

Více

Informační systémy. Jaroslav Žáček jaroslav.zacek@osu.cz

Informační systémy. Jaroslav Žáček jaroslav.zacek@osu.cz Informační systémy Jaroslav Žáček jaroslav.zacek@osu.cz Úvod - co možná umíte z předmětu SWENG Rozdělení IT Architektura IS Klíčový prvek řízení IS z něj vycházejí detailní analytické i plánovací charakteristiky

Více

CASE. Jaroslav Žáček

CASE. Jaroslav Žáček CASE Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? Definice dle SEI A CASE tool is a computer-based product aimed at supporting one or more software engineering activities

Více

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

End-to-end testování. 26. dubna Bořek Zelinka End-to-end testování 26. dubna 2013 Bořek Zelinka Bořek Zelinka Unicorn Systems, Test architekt Unicorn, 2004 Testování Quality Assurance ČVUT, Fakulta stavební, 2004 2 Agenda Princip end-to-end testů

Více

PROCESY CO ZÍSKÁTE: Předpoklad pro certifikace ISO. Lean Six Sigma Fast Track

PROCESY CO ZÍSKÁTE: Předpoklad pro certifikace ISO. Lean Six Sigma Fast Track PROCESY CO ZÍSKÁTE: Jasná pravidla pro provádění činností, uložení know-how Jasně definované zodpovědnosti za celý proces i jednotlivé kroky Zprůhlednění organizace plynoucí z jasně definovaných vstupů,

Více

T E Z E K. na téma: Vzdělávání a rozvoj zaměstnanců ve sledovaném podniku

T E Z E K. na téma: Vzdělávání a rozvoj zaměstnanců ve sledovaném podniku Č E S K Á Z E M Ě D Ě L S K Á U N I V E R Z I T A V P R A Z E FAKULTA PROVOZNĚ EKONOMICKÁ T E Z E K D I P L O M O V É P R Á C I na téma: Vzdělávání a rozvoj zaměstnanců ve sledovaném podniku Vypracovala:

Více

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004 CobiT Control Objectives for Information and related Technology Teplá u Mariánských Lázní, 6. října 2004 Agenda Základy CobiT Pojem CobiT Domény CobiT Hodnocení a metriky dle CobiT IT Governance Řízení

Více

Popis obsahu a struktury programu

Popis obsahu a struktury programu Popis obsahu a struktury programu (Příloha k Žádosti o akreditaci vzdělávacího programu u Společnosti pro projektové řízení, o. s.) 1 Vzdělávací subjekt: HM Partners, s.r.o. Název programu: Projektové

Více

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

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 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 Motivace Vybrali jsme nový webový framework a potřebovali ho ověřit na reálné aplikaci

Více

Testování softwaru. 10. dubna Bořek Zelinka

Testování softwaru. 10. dubna Bořek Zelinka Testování softwaru 10. dubna 2013 Bořek Zelinka Agenda Definice testování Testování v rámci vývoje softwaru Základní rozdělení testů Představení testovacích technik Testovací strategie Copyright Unicorn

Více

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

Přípravné činnosti projektu. Mgr. Lenka Svrčinová Ing. Jan Ministr, Ph.D. Přípravné činnosti projektu Mgr. Lenka Svrčinová Ing. Jan Ministr, Ph.D. Obsah prezentace Seznámení s problematikou Procesy a roviny před implementací projektu Obchodní rovina Implementační rovina Řešení

Více

Agilní metodiky a vývojové procesy

Agilní metodiky a vývojové procesy Agilní metodiky a vývojové procesy Co je agilní vývoj Primárně iterativní přístup Například sprinty Rychlá a pružná reakce na trh Požadavky na změny Opravy chyb Využití nových technologií Agilní vývoj

Více

Vnitřní kontrolní systém a jeho audit

Vnitřní kontrolní systém a jeho audit Vnitřní kontrolní systém a jeho audit 7. SETKÁNÍ AUDITORŮ PRŮMYSLU 11. 5. 2012 Vlastimil Červený, CIA, CISA Agenda Požadavky na VŘKS dle metodik a standardů Definice VŘKS dle rámce COSO Role interního

Více

SIMULTRAIN - UŽIVATELSKÝ MANUÁL

SIMULTRAIN - UŽIVATELSKÝ MANUÁL PM PROGRAMME NW XXX_YYMMDD Název záznamu Pragoeduca, a.s. Martin Suchý, garant programu SIMULTRAIN - UŽIVATELSKÝ MANUÁL 1 OBSAH 1 OBSAH... 2 2 SIMULTRAIN V7... 3 3 ÚVOD... 4 4 SPUŠTĚNÍ... 5 5 PRŮBĚH...

Více

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14 Obsah Předmluva 11 Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14 KAPITOLA 1 Úvod do architektury softwaru 15 Použití procesu 16 Stručný popis

Více

4.1TORs-cesky.doc ZAVÁDĚNÍ STRATEGIE ROZVOJE LIDSKÝCH ZDROJŮ PRO ČESKOU REPUBLIKU

4.1TORs-cesky.doc ZAVÁDĚNÍ STRATEGIE ROZVOJE LIDSKÝCH ZDROJŮ PRO ČESKOU REPUBLIKU ZADÁNÍ 4.1TORs-cesky.doc ZAVÁDĚNÍ STRATEGIE ROZVOJE LIDSKÝCH ZDROJŮ PRO ČESKOU REPUBLIKU 1 Základní informace V listopadu 2000 dokončil Národní vzdělávací fond (NVF) České republiky s pomocí projektů Phare

Více

Co je Process Mining?

Co je Process Mining? Process Mining Co je Process Mining? Process Mining je inovativní technika procesního řízení, která umožňuje analýzu podnikových procesů na základě zaznamenaných událostí z uplynulého období, uchovaných

Více

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

Softwarový proces Martin Hlavatý 4. říjen 2018 Softwarový proces Martin Hlavatý 4. říjen 2018 Úvod Základní pojmy Softwarový proces / Model životního cyklu vývoje software (SDLC, Software Development Lifecycle) Množina aktivit nutných k tomu, aby software

Více

D5 Životní cyklus projektu

D5 Životní cyklus projektu Projektový manažer 250+ Kariéra projektového manažera začíná u nás! D Útvarové a procesní řízení D5 Životní cyklus projektu Toto téma obsahuje informace o vhodné posloupnosti kroků přípravy a realizace

Více

Infor APS (Scheduling) Tomáš Hanáček

Infor APS (Scheduling) Tomáš Hanáček Infor APS (Scheduling) Tomáš Hanáček Klasické plánovací metody a jejich omezení MRP, MRPII, CRP Rychlost Delší plánovací cyklus Omezená reakce na změny Omezené možnosti simulace Funkčnost Nedokonalé zohlednění

Více