UNICORN COLLEGE Katedra ekonomiky a managementu BAKALÁŘSKÁ PRÁCE Proces vývoje software z přístupu rigorózních a agilních metodik
|
|
- Sára Vaňková
- před 6 lety
- Počet zobrazení:
Transkript
1 UNICORN COLLEGE Katedra ekonomiky a managementu BAKALÁŘSKÁ PRÁCE Proces vývoje software z přístupu rigorózních a agilních metodik Autor BP: Jan Tomšů Vedoucí BP: Ing. Michal Kökörčený Ph.D Praha
2
3
4 Čestné prohlášení Prohlašuji, že jsem svou bakalářskou práci na téma Proces vývoje software z přístupu rigorózních a agilních metodik vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím výhradně odborné literatury a dalších informačních zdrojů, které jsou v práci citovány a jsou také uvedeny v seznamu literatury a použitých zdrojů. Jako autor této bakalářské práce dále prohlašuji, že v souvislosti s jejím vytvořením jsem neporušil autorská práva třetích osob a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb. V Praze dne (Jan Tomšů)
5 Poděkování Děkuji vedoucímu bakalářské práce Ing. Michalovi Kökörčenému, Ph.D. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce.
6 Proces vývoje software z přístupu rigorózních a agilních metodik Software development process under rigorous and agile methodology 6
7 Abstrakt V této práci se hodlám zabývat procesem vývoje software z pohledu metodiky vývoje. Metodika vývoje softwaru se zaměřuje na procesní postupy, které se využívají v rámci vývoje softwarových produktů. Účelem této práce je představit rigorózní a agilní postupy, konkrétně metodiky Rational Unified Process a Scrum. Tyto metodiky představují odlišný úhel pohledu na proces vývoje softwaru. V rámci první části této práce hodlám popsat příslušné dvě metodiky. Druhou částí práce je představení reálné implementace na dvou projektech, ve kterých je použita právě jednou každá z popsaných metodik. V rámci tohoto popisu hodlám provést analýzu vývojového cyklu, tzv. iterace, od procesu plánování až po proces nasazení. V poslední části této práce hodlám popsat problémy, ke kterým v rámci jednotlivých přístupů dochází, a navrhnout řešení. Pro návrh řešení hodlám využít svých dosavadních zkušeností ze softwarových projektů v tuzemsku i v zahraničí. Klíčová slova: metodika, proces, vývoj software, rational unified process, scrum Abstract In this Thesis, I intend to examine the software development process from the perspective of methodology. Software development methodology focuses on procedures used in the development of software products. The purpose of this Thesis is to present both rigorous and agile procedures, specifically the Rational Unified Process and Scrum. These methodologies represent different approaches to the software development process. The first part of this Thesis will offer a description of the methodologies. The second part will delve into the respective implementation of these methodologies in two real projects. Here, I will also analyze the development cycle, which is called iteration, from the initial planning phase to deployment. In the third and final part of this Thesis, I will raise the potential problems that can occur throughout the use of these methodologies, and propose steps to tackle them. These solutions will be based on my experience with software projects both domestic and international. 7
8 Keywords: methodology, process, software development, rational unified process, scrum 8
9 Obsah Obsah... 9 Úvod Teoretická část Rigorózní vývojové metodiky Rational Unified Process Vznik Rational Unified Process Charakteristika metodiky Nejlepší praktiky softwarového vývoje Proces vývoje software v RUP Struktura projektu Agilní vývojové metodiky Manifest agilního vývoje Metodika SCRUM Role Sprint Backlog Ukazatele efektivnosti týmu Meetingy Praktická část Přímé srovnání metodik Přístup Cyklus Plánování Rozsah Organizační struktura Management kvality Dokumentace a artefakty
10 2.1.8 Typ projektu Závěrem k přímému srovnání Popis projektu řízeného metodikou Rational Unified Process Průběh vývojového cyklu Konfigurační management Řízení požadavků a změn Koordinace týmů projektové meetingy Shrnutí Popis projektu řízeného metodikou SCRUM Průběh iterace Zahájení sprintu Průběh sprintu Procesy v rámci iterace Koordinace týmů projektové meetingy Řízení změn a správa požadavků Konfigurační management Shrnutí Vyhodnocení Projekt Alpha Závěrem k projektu řízením v RUP Projekt Beta Role Průběh sprintů Meetingy Definice kritérií Reakce na změnu Schopnost agilně myslet Závěrem k projektu řízeném metodikou SCRUM Metodiky z pohledu autora práce Závěr Conclusion Seznam použitých zdrojů Seznam obrázků
11 Seznam tabulek
12 Úvod Informační technologie jsou v dnešní době již nedílnou součástí našeho každodenního života a s tímto faktem úzce souvisí i vývoj software. K tomuto procesu se dá přistupovat mnoha způsoby a jedním z faktorů, co tento proces ovlivňují, je metodika vývoje. Vzhledem k tomu, že software jako takový existuje již mnoho desítek let, je zřejmé, že metodiky jeho vývoje již nějakou evoluci také zaznamenaly. Metodik je mnoho druhů a představují určitý metodický postup vývoje softwaru jak z hlediska projektového, tak z hlediska vývoje samotného. V této práci se hodlám zabývat popisem dvou metodik, z nichž každá představuje jiný pohled na proces vývoje softwaru. Jedná se o přístup rigorózní, jenž je v tomto případě zastoupen metodikou Rational Unified Process, a přístup agilní, který je zastoupen metodikou Scrum. Popis metodik samotných je pouze jednou částí této práce, druhou částí je popis reálné implementace na konkrétních projektech a následná analýza fungovaní vybrané metodiky v rámci společnosti. Toto téma jsem si vybral z důvodu, že se v dané oblasti vývoje softwaru, konkrétně informačních systémů, pohybuji aktivně již více než dvanáct let, přičemž pět let jsem strávil na projektech řízených metodikou Rational Unified Process a posledních šest let se pohybuji na agilně řízených projektech, hlavně metodikou Scrum, jejíž implementaci jsem měl možnost zažít a řešit na několika zahraničních projektech, např. v Lotyšsku, Bulharsku a v současné době v Číně. Jako přínos této práce vidím především své poznatky z praxe, neboť se domnívám, že většina studijních materiálů a příruček k daným metodikám se zabývá pouze hlavním rámcem toho, jak by měla být metodika implementována. Tyto materiály se již dále nezaměřují na situace, které v reálném prostředí opravdu nastávají, a jelikož je to prostředí velmi různorodé, jsou různorodé i tyto situace. Za účelem této práce jsem názvům projektů, které hodlám popisovat, přiřadil fiktivní jména, jelikož od společností nemám oficiální povolení k distribuci informací o jejich projektech. Prohlašuji tímto, že informace, které v rámci popisu uvedu, jsou pravdivé. 12
13 1 Teoretická část Metodika vývoje je v dnešní době již nedílnou součástí většiny softwarových projektů. Vzhledem k tomu, že každý projekt je ve své podstatě jedinečný, vyžaduje taktéž individuální přístup. Neznamená to, že by každý projekt vyžadoval svou zvláštní metodiku, ale vývojových metodik je poměrně mnoho a žádná z nich není univerzální. Co vlastně pojem metodika znamená? Metodika představuje v obecném smyslu souhrn metod a postupů pro realizaci určitého úkolu. Metodika budování IS/ICT představuje metody a postupy pro vývoj i provoz IS/ICT s tím, že akcentuje skutečnost, že nemusí jít jen o vývoj nového softwaru na zelené louce, ale také o implementaci již hotových řešení, integraci různých komponent a služeb. 1 Pro účely této práce můžeme definovat pojem metodika následovně: Metodika budování IS/ICT definuje principy, procesy, praktiky, role, techniky, nástroje a produkty používané při vývoji, údržbě a provozu informačního systému, a to jak z hlediska softwarově inženýrského, tak z hlediska řízení. 2 Velmi zjednodušeně by se dalo konstatovat, že vývojová metodika je vlastně návod k tomu, jak správně vést softwarový projekt, jakým chybám se vyvarovat a naopak jaké postupy dodržovat k tomu, aby projekt byl úspěšný a nedocházelo k nežádoucím událostem, nebo dokonce k neúspěšnosti celého projektu jako takového. Vývojové metodiky mají svou historii a také samozřejmě svůj vývoj. Nemůžeme ovšem konstatovat, že postupy, které se využívaly v průběhu 90. let jsou již dnes považovány za zastaralé. V mnoha případech jsou právě tyto postupy ze staré školy optimálnější než postupy moderní. Záleží ovšem na typu a povaze projektu, protože jak již bylo řečeno, každý projekt je ve svém smyslu unikátem. 1 BUCHALCEVOVÁ, A.: Metodiky budování informačních systémů. Praha: Oeconomica, 2009, s BUCHALCEVOVÁ, A.: Návrh metodického rámce IS/ICT [online]. Praha: 2004 [cit ]. Doktorská dizertační práce (PhD). Vysoká škola ekonomická v Praze. Dostupné z URL: < s
14 Postupů k vývoji softwaru je mnoho, pojďme si proto představit dva kandidáty ze dvou hlavních vývojových směrů. 1.1 Rigorózní vývojové metodiky Rigorózní vývojové metodiky bývají často nazývány také jako tzv. těžké metodiky. Důvodem, proč jsou tak nazývány, je stanovení pojmu váha metodiky, který vychází z prací A. Cockburna. Ten zavedl charakteristiky metodiky, kterou označuje zkratkou PARTS prescision (podrobnost), accuracy (přesnost), relevance (relevance), tolerance (tolerance), scale (měřítko). Charakteristika Význam Tabulka 1: Popis charakteristik metodiky Podrobnost Přesnost Relevance Tolerance Měřítko Vyjadřuje, jak podrobně se metodika tématem zabývá Vyjadřuje, jak přesně je dané téma zpracováno Určuje, zda se metodika zabývá určitým tématem Určuje, jaké množství odchylek je povoleno Definuje míru zaostření Zdroj: A. Buchalcevová: Metodiky budování informačních systémů 3 Od těchto charakteristik jsou potom odvozeny pojmy velikost, hustota a váha metodiky. Velikost metodiky (methodology size) vyjadřuje počet kontrolních prvků obsažených v metodice. Hustota metodiky (methodology specific density) vyjadřuje míru podrobnosti a těsnost metodiky, požadovanou podrobnost a konzistenci prvků. 3 BUCHALCEVOVÁ, A.: Metodiky budování informačních systémů. Praha: Oeconomica, 2009, s
15 Váha metodiky (methodology weight) je potom součin velikosti metodiky a hustoty metodiky. 4 Období 80. až 90. let minulého století vedlo k rozvoji metodik, které se vyznačovaly vysokou mírou propracovanosti, přesnosti definovaných procesů, činností a artefaktů. Tyto metodiky označujeme proto jako rigorózní neboli těžké. 1.2 Rational Unified Process První metodikou, kterou se v této práci hodlám zabývat, je Rational Unified Process (dále jen RUP ). Je považována za jednoho z klasických představitelů rigorózních metodik známého v celosvětovém měřítku a je využíván mnoha velkými společnostmi působících v mnoha oborech. Mezi uživatele této metodiky se řadí např. společnosti Visa (finance), Volvo, Intel (výroba), Oracle (systémová integrace), či dokonce Lockheed-Martin (obranné systémy) Vznik Rational Unified Process Za formální termín vzniku je považován rok 1995, kdy došlo ke sloučení Rational Software Corporation a Objectory AB. O rok později se datuje vznik Rational Objectory Process (verze 4.0) jako následník Objectory Process (verze 3.8) a Rational Approach. Ze strany Objectory byl poděděn procesní model a centrální koncept případu užití, ze strany Rational zase iterativní vývoj a architektura (pojmy případ užití a iterativní vývoj budou popsány v dalších kapitolách). Rational Objectory Process (v.4) rovněž obsahuje detailní testovací proces od společnosti SQA Inc. a model správy požadavků od Requisite Inc., které rovněž patřily pod Rational Software. Tato verze procesu byla také první, která využívala nově vytvořeného modelovacího jazyka Unified Modeling Language (v.0.8). Postupnou evolucí se dospělo k první verzi Rational Unfied Process (v.5.0) roku V roce COCKBURN, A.: The Methodology Space, Humans and Technology [online] [cit ]. Dostupný z URL: < 15
16 následovala verze 5.5 a v roce 2000 přišla verze Rational Unified Process Ve své plné a nejtěžší verzi je zatím známa jako Rational Unfied Process verze Charakteristika metodiky Rational Unified Process může být definován několika způsoby, pojďme si je představit. Metodika Rational Unified Process je softwarový inženýrský proces, který představuje disciplinovaný přístup přiřazující úkoly a odpovědnosti v organizaci zabývající se vývojem softwaru. Jejím cílem je zajistit produkci vysoce kvalitního softwaru, který naplní potřeby koncových uživatelů a plánovaného rozpočtu. Rational Unified Process je procesní produkt. Je vyvinut a udržován společností Rational Software a integrován vlastními vývojovými nástroji. Je dostupný od IBM na CD-ROM nebo prostřednictvím internetu. Rational Unified Process je procesní framework, který může být adaptován a rozšířen na soubor potřeb adaptujících se organizaci. 5 Metodiku RUP svým zacílením na proces řadíme také do kategorie metodik procesních Nejlepší praktiky softwarového vývoje Metodika RUP je založena na nejlepších praktikách softwarového vývoje. Mezi tyto praktiky patří: iterativní vývoj, řízení požadavků, použití komponentové architektury, vizuální modelování, kontrola kvality softwaru a řízení změn. 5 KRUCHTEN, P.: The Rational Unified Process: An Introduction (3rd Edition). Addison-Wesley Professional, 2003, s
17 Iterativní vývoj Jedná se o první z kategorie nejlepších vývojových praktik. Je dosti úzce navázána na model vývoje softwaru konkrétního projektu. Dosti často se můžeme setkat s tvrzením, že RUP je tzv. vodopádovou metodikou. Dovolím si tvrdit, že tomu tak není. Pojďme si proto trochu blíže představit vodopádový model vývoje. Obrázek 1: Vodopádový model životního cyklu Zdroj: ROYCE, W.: Managing the Development of Large Software Systems 6 Celý proces začíná fází specifikace požadavků, poté následují fáze analýzy, návrhu, implementace, testování. Poslední fází je provoz, který v sobě zahrnuje fázi nasazení a následné údržby systému v reálném prostředí. Jméno vodopádový dostal model proto, že jednotlivé fáze jdou po sobě a připomínají tím vodopád. Vodopádový model představoval v době svého vzniku významný pokrok, protože rozdělil celý proces vývoje do samostatných fází a umožnil systematický a opakovaný postup vývoje. 7 6 ROYCE, W.: Managing the Development of Large Software Systems [online]. Proceedings of IEEE WESCON, [cit ]. Dostupné z URL: < 17
18 Nevýhodou vodopádového modelu jsou rizika s ním spojená, jedním z nich je reakce na změnu během vývoje, dalšími jsou například nízká participace zákazníka, která je vyžadována pouze ve fázi na začátku a konci procesu. Další negativa jsou například ta, že model předpokládá, že všechny požadavky jsou definovány na začátku projektu, což ve skutečnosti není moc dobře možné, a v případě změny je možný návrat pouze do předchozí fáze vývoje. To zapříčiňuje odsun řešení problémů do pozdějších fází. Asi největším problémem vodopádového modelu je skutečnost, která nastane až po ukončení programování. Právě tehdy jsou zjištěny problémy, které dosti často vedou k přeprogramování a zpoždění projektu. Pokud nebudete aktivně útočit na rizika Vašeho projektu, rizika zaútočí na Vás. 8 Pojďme se vrátit k pojmu iterativní vývoj, který spočívá v rozdělení vývojového cyklu do několika menších fází, tzv. iterací, kdy každá iterace zapříčiní vznik nové funkční verze systému. To zahrnuje několik základních aktivit. Mezi tyto aktivity patří sběr požadavků, návrh implementace a vyhodnocení. V rámci každého cyklu také rozlišujeme určité fáze, přičemž mezi ty základní patří analýza, konstrukce a zavedení. V každé z těchto fází je nutné provést sběr požadavků, vytipovat rizika, navrhnout řešení, implementovat a ověřit. Iterativní vývoj pomáhá odhalit rizika projektu v jeho počáteční fázi, usnadňuje implementaci změnových požadavků, zvyšuje znovupoužitelnost a pomáhá členům projektu poučit se z minulých chyb. 9 Alternativním modelem vývoje může být například tzv. spirálový model životního cyklu. 7 BUCHALCEVOVÁ, A.: Metodiky budování informačních systémů. Praha: Oeconomica, 2009, s GILB, T.: Principles of Software Engineering Management. Harlow, UK: Addison-Wesley Professional, 1988, s ŠTĚDROŇ, B.: Manažerské řízení a informační technologie. Praha: Grada, 2007, s
19 Obrázek 2: Spirálový model životního cyklu Zdroj: Testování software 10 Tento model byl v roce 1985 definován Barrym Boehmem a jeho výhodou je, že zavedl iterace a analýzu rizik. V každé iteraci se opakují fáze definice cílů, analýza rizik, návrh řešení, ověření, vývoj, testování a plánování. Předmětem první iterace je identifikace globálních rizik projektu a stanovení základních východisek pro řešení. Druhá iterace je zaměřena na specifikaci požadavků. V průběhu třetí iterace se 10 Testování software, [online], [cit ]. Dostupný z URL: < 19
20 vytváří detailní návrh řešení. Čtvrtá iterace slouží k implementaci navrženého řešení a jeho testování. 11 Řízení požadavků Tato praktika má za úkol aktivně spravovat požadavky. Problém požadavků, které se v rámci vývoje objevují, je, že jsou dynamické. Je tedy nutné předpokládat, že se mohou v průběhu životního cyklu měnit, jelikož sběr požadavků probíhá hlavně v začátcích vývoje. Požadavek je definován jako schopnost, kterou musí systém splňovat. 12 Aktivní správa požadavků zahrnuje tři aktivity: získávání, organizování a dokumentaci požadovaných funkcionalit; hodnocení změn daných požadavků a posuzování jejich dopadu; sledování a dokumentace rozhodnutí. 13 Výsledkem správy požadavků je kvalitní dokumentace projektu, jejíž konkrétní požadavky mohou být sledovány a prioritizovány. Komunikace je vázána na konkrétní problémy, nekonzistence se odhalí snadněji. Správa požadavků zahrnuje požadavky jak technického charakteru, kterým může být například architektura systému, či nastavení prostředí, ale hlavně také požadavky uživatelů. Tyto požadavky zpravidla definují nové vlastnosti systému, tzv. features, které jsou obvykle souborem pozorovatelných změn. Tyto soubory se nadále větví na jednotlivé případy užití, tzv. Use-case. Use-case specifikuje množinu akcí, které jsou provedeny systémem za účelem dodání výsledku, který má typicky hodnotu pro jednoho nebo více aktérů nebo zainteresovaných osob BUCHALCEVOVÁ, A.: Metodiky budování informačních systémů. Praha: Oeconomica, 2009, s ŠTĚDROŇ, B.: Manažerské řízení a informační technologie. Praha: Grada, 2007, s KRUCHTEN, P.: The Rational Unifiedprocess: An Introduction (3rd Edition). Addison-Wesley Professional, 2003, s KLIMEŠ, J.: Přednáška REQ, Požadavky v systémové analýze, k předmětu Správa požadavků, [online], publikováno , [cit ]. Dostupné z URL: < s
21 Struktura Use-case zpravidla obsahuje stručný popis předmětu Use-case, popis podmínek nutných pro spuštění, popis hlavních a vedlejších toků, Business pravidla, popř. další doplňující informace. Součástí Use-case může taktéž návrh grafického rozhraní systému. Použití komponentové architektury Komponentová architektura spočívá v rozdělení systému do menších modulů, které jsou na sobě nezávislé a umožňují tak snadnější přístup k úpravám celého systému. Komponenta systému může být chápána jako základní jednotka použitelnosti. Spolu s iterativním vývojem softwaru přispívá komponentová architektura k postupné tvorbě systémové architektury. Takový přístup usnadňuje identifikaci rizik a jejich odstranění již v samotném procesu vývoje. 15 Vizuální modelování Slouží k zachycení reality ve zjednodušeném modelu a popisuje systém z různých úhlů pohledu. Modelování je důležité pro celý vývojový tým, jelikož usnadňuje celkovou vizualizaci a dokumentaci celého systému. Častokrát se využívá více modelů na popis jednoho systému, či dokonce jedné funkcionality. V rámci vizuálního modelování je v metodice RUP využíván Unified Modeling Language (UML). Jazyk UML (Unified Modeling Language, unifikovaný modelovací jazyk) je univerzální modelovací jazyk pro vizuální modelování systémů. Byl navržen proto, aby spojil nejlepší existující postupy modelovacích technik a softwarového inženýrství. Jako takový je explicitně navržen takovým způsobem, aby jej mohly implementovat všechny nástroje CASE (computer-aided software engineering) ŠTĚDROŇ, B.: Manažerské řízení a informační technologie. Praha: Grada, 2007, s ARLOW, J., NEUSTADT, I.: UML 2 a unifikovaný proces vývoje aplikací: objektově orientovaná analýza a návrh prakticky. 2. vydání. Brno: Computer Press, 2011, s
22 Kontrola kvality Kontrola kvality je nedílnou součástí celého procesu vývoje softwaru. Vzhledem k tomu, že oprava chyb po nasazení systému do produkčního (reálného) prostředí je mnohonásobně dražší, je důležité kontrolu kvality nepodceňovat. Testování softwaru probíhá v rámci celého procesu zajištění kvality (Quality Assurance). Pokud je systém vyvíjen iterativně, je možné v rámci každé iterace provést testy nových funkčností a zároveň otestovat, zdali již implementované funkčnosti nebyly nijak narušeny. V rámci testování dochází k tvorbě testovacích případů k jednotlivým případům užití. Tyto testovací případy se nadále mohou používat v rámci testovacích scénářů, kde se testují celé funkčnosti. V rámci QA procesu dochází k mnoha fázím testů, od tzv. smoke testů, přes systémové integrační testy, regresní testy až po UAT (User acceptance testing) testy, v nichž je systém testován samotnými uživateli. Samotnou kapitolou je pak automatizované testování, ve kterém jsou využívány různé automatizační nástroje, které usnadňují práci na rutinních a stále se opakujících testech a nejčastěji jsou využívány pro regresní testování. Řízení změn Vzhledem k tomu, že vývoj software probíhá často na mnoha pracovištích a účastní se ho více týmů pracujících ve více iteracích, je velmi důležité, aby koordinace aktivit a týmů měla svou disciplínu, jinak hrozí, že z celého procesu vývoje se stane nekontrolovaný chaos. V rámci řízení změn je důležité nastavit životní cyklus změnových požadavků, který napomůže lepšímu rozložení zdrojů a eliminaci rizik. Jako další výhodou dobře organizovaného řízení změn je fakt, že napomáhá identifikaci přijatých změn a zabraňuje neřízenému zvětšování rozsahu projektu. 22
23 1.2.4 Proces vývoje software v RUP Proces vývoje v RUP bývá nejčastěji interpretován grafem o dvou dimenzích, v nichž osa horizontální zobrazuje pohled z hlediska procesu, rozděluje jej do určitých cyklů a fází a tím stanovuje určité milníky. Vertikální osa zase reprezentuje činnosti konkrétních pracovníků a pracovních toků a výši jejich aktivit v rámci konkrétních fází. Obrázek 3: Fáze a disciplíny RUP Zdroj: Cycoda 17 Vývoj software probíhá v iteracích, kdy každá iterace obsahuje novou funkční verzi systému. Tyto jednotlivé iterace se skládají ze čtyř částí, které na sebe navazují: Počáteční fáze (Inception), Elaborační fáze (Elaboration), Konstrukční fáze (Construction), 17 Cycoda[online]. [cit ]. Dostupné z URL: < 23
24 Fáze Nasazení (Transition). Počáteční fáze V rámci této fáze dochází k nastavení cílů dané iterace, odhadům a definici rizik projektu. Zároveň se vytváří jednoduchý prototyp, který slouží k ověření, zda je možné realizovat vývoj s použitím vybraných technologií a postupů. Za konec této fáze považujeme rozhodnutí o možnosti provedení. Elaborační fáze Tato je fází architektonického testování, kdy se na prototypovém modelu stanovuje budoucí architektura systému. Probíhá analýza a v rámci implementace se upřesňují komponenty, které budou předmětem vývoje. Konstrukční fáze Jedná se o fázi samotného vývoje, v kterém probíhá jak naprogramování jednotlivých komponent, tak zároveň proces testování. Cílem této fáze je hotový produkt připravený k nasazení. Fáze Nasazení Jedná se o konečnou fázi, kdy se systém nasazuje na produkční prostředí, tzn. předává se uživatelům společně s dokumentací, popř. se zajišťuje uživatelská podpora atd. Jednotlivé fáze jsou oddělovány milníky, v rámci kterých se posuzuje, jak byly splněny cíle fáze, a rozhoduje se o dalších krocích Struktura projektu Každý projekt řízený metodikou RUP má svůj určitý model, který je reprezentován pěti základními elementy: Role Aktivity Artefakty Životní cykly 24
25 Role Disciplíny Role definují chování a odpovědnosti jednotlivců nebo skupiny jednotlivců pracujících dohromady jako tým. Chování je vyjádřeno podmínkami aktivit, které role vykonávají a každá role je asociována souborem soudržných aktivit. Soudržný v tomto smyslu znamená aktivity, které jsou nejlépe prováděny jednou osobou. Odpovědnosti každé role jsou obvykle vyjádřeny vztahem k určitému artefaktu, který tato role vytváří, upravuje či kontroluje. 18 Role nejsou individuální a jedna osoba může zastávat rolí více. Každá role je zastoupena souborem dovedností, které umožňují vykonávat určité aktivity. V rámci RUP metodiky je definována celá řada rolí, mezi hlavní patří role analytické, vývojářské, manažerské, testerské a role produkční podpory. Role odpovídají na otázku kdo. Aktivity Každá role má svou aktivitu, která definuje práci, která má být vykonána. Aktivita je jednotka práce, která má být vykonána a má smysluplný význam v rámci projektu. 19 Aktivita může mít různou granularitu, která může být časově náročná v rámci několika hodin až několika dní, může být taktéž opakována, např. v rámci jedné iterace. Opakované aktivity jsou prováděny stejnými rolemi, nikoliv jednotlivci. Zjednodušeně řečeno: aktivity odpovídají na otázku jak. Artefakty V tomto případě odpovídáme na otázku co. Artefakty jsou hmatatelnými částmi projektu, věcmi, které projekt produkuje v rámci posunu kupředu za splnění cíle, 18 KRUCHTEN, P.: The Rational Unified Process: An Introduction (3rd Edition). Addison-Wesley Professional, 2003, s KRUCHTEN, P.: The Rational Unified Process: An Introduction (3rd Edition). Addison-Wesley Professional, 2003, s
26 kterým je finální produkt. Artefakt je vstup pro roli a je vykonán aktivitou. Artefakt má mnoho podob a forem, může jím být například design model, dokument, či třeba zdrojový kód. Životní cykly Životní cyklus v tomto případě chápeme jako sekvenci aktivit, které produkují pozorovatelnou hodnotu a zobrazuje interakce mezi rolemi. Jazyk UML popisuje životní cyklus jako diagram, ať již sekvenční, či diagram aktivit. Životní cyklus je odpovědí na otázku kdy. Disciplíny Jedná se o sdružování aktivit do jednotných celků dle specializace. RUP rozlišuje devět disciplín: Business modelování, požadavky, analýza a design, implementace, testování, nasazování, projektový management, konfigurace a management změny, správa prostředí. 1.3 Agilní vývojové metodiky Tento typ vývojových metodik je druhou částí mé práce, představují jiný pohled na vývoj software a celého fungování v rámci projektu. Agilní vývojové metodiky jsou založeny na jiných principech než metodiky rigorózní. Podstata agilních metodik je zakotvena v Manifestu pro agilní vývoj softwaru Manifest agilního vývoje V únoru 2001 došlo k setkání představitelů nových přístupů k vývoji softwaru a byla založena Aliance pro agilní vývoj softwaru a podepsán Manifest agilního vývoje softwaru. V rámci tohoto manifestu jsou zakotveny čtyři hodnoty. Odhalili jsme lepší způsob vývoje software, sami jej používáme a chceme pomoci i ostatním, aby jej používali. Z toho pohledu dáváme přednost: jednotlivci a interakce před procesy a nástroji, fungujícímu software před podrobnou dokumentací, spolupráci se zákazníkem před sjednáváním kontraktu, 26
27 reakci na změnu před plněním plánu. 20 Hodnoty na levé straně mají větší váhu než hodnoty na straně pravé. Jednotlivci a interakce před procesy a nástroji Tato fráze klade důraz na lidskou spolupráci, snaží se říci, že dobře fungující tým, kde lidé spolupracují a komunikují spolu, je podstatně lepší varianta nežli tým jedinců s dobrými nástroji. Neznamená to, že by nástroje nebyly v tomto případě důležité, ale snaží se naznačit, že dobře fungující tým by si měl vybrat nástroje své, se kterými hodlá nadále pracovat. Fungující software před vyčerpávající dokumentací V tomto bodě se Manifest snaží naznačit, že projektová dokumentace bývá často velmi obsáhlá, aniž by přinášela potřebné výsledky. Dosti často se stává, že zákazník je zahrnut velkým množstvím dokumentace, která pro něj nemá natolik velkou hodnotu jako samotný produkt, neboť často bývá využívána až v krajních případech. Dokumentace je důležitá, ale neměla by převážit nad vlastním produktem, měla by primárně sloužit jako reference pro oblasti, které nejsou intuitivní a snadno pochopitelné. A takových oblastí by mělo být minimum. 21 Vzhledem k tomu že dokumentace může nabývat mnoha podob, je zapotřebí rozlišit tu správnou míru úrovně dokumentace. V případě interní dokumentace, jež se tvoří pro budoucí týmy, jako např. popis architektury, je určitě dobrou myšlenkou tyto materiály zaznamenat, ovšem stojí za zvážení, zdali není dostačují okomentovat ji pouze v kódu. Dokumentaci funkcionalit je možné nahradit kvalitní komunikací mezi členy týmu, kteří by sami mělo rozhodnout o tom, co zdokumentovat pro budoucí spolupracovníky. 20 Manifesto for Agile Software Development [online], cit. [ ]. Dostupné z URL: < 21 ŠOCHOVÁ, Z., KUNCE, E.: Agilní metody řízení projektů. Brno: Computer Press, 2014, s
28 Spolupráce se zákazníkem před vyjednáváním o kontraktu Tímto pojmem je myšleno, že kvalitní komunikace se zákazníkem velmi napomůže specifikaci požadavků, které zákazník od systému očekává, vzhledem k tomu, že většina projektů se ve svém průběhu mění. Pokud je dodavatel schopen s klientem tyto změny, popř. nová zadání, kvalitně komunikovat, je to pro projekt přínosnější než podepsaná smlouva. Smlouvy jsou důležité, ale neměly by být prostředkem nahrazujícím spolupráci a komunikaci. Je důležité se už při jejím podpisu zamyslet nad tím, co se při spolupráci může vlastně stát. Je třeba si uvědomit, že zákazník možná ne vždy ví přesně, co přesně chce, a že se stejně bude měnit rozsah a smlouvu se pokusí přiblížit realitě. 22 Reakce na změnu, před plněním plánu Mnoho projektů se ve svém průběhu mění. Fakt, že zákazník přijde i v pozdních fázích projektu s požadavkem na změnu, není ničím neobvyklým. Samozřejmě je pochopitelné, že projekt má svůj plán a takový požadavek může být velkým zásahem. V tomto ohledu je nutné počítat s tím, že zákazník si některé požadavky uvědomí až později a zjistí, že jsou pro něj klíčové. Z toho důvodu je preferováno, když se dodavatel snaží zákazníkovi vyhovět i na úkor projektového plánu. V rámci Agile manifestu bylo sepsáno ještě dalších deset principů, kterými se v této práci již podrobněji zabývat nehodlám, neboť jsou určitou podmnožinou výše zmíněných hodnot. 1.4 Metodika SCRUM Jedná se o jednu z nejužívanějších agilních metodik. Metodika je zaměřena hlavně na řízení projektu. Jak již bylo patrné z definice agilních metodik, zaujímá k řízení odlišný postoj než metodiky rigorózní, tzn. nepohlíží na vývoj jako na předem 22 ŠOCHOVÁ, Z., KUNCE, E.: Agilní metody řízení projektů. Brno: Computer Press, 2014, s
29 definovaný proces, nýbrž jako na proces dynamický. Název Scrum je převzatý z rugby, znamená skrumáž (mlýn). Stejně jako rugby i tato metodika nahlíží na proces jako na adaptivní a rychle se měnící. Podstatou jsou samoorganizující se týmy Role V této kapitole se hodlám zabývat rolemi, které se na projektu řízeném metodikou Scrum nejčastěji vyskytují. Oproti RUP je hierarchie rolí podstatně jednodušší. Metodika v tomto ohledu pracuje se třemi základními elementy, jimiž jsou Scrum Master, Product Owner a Scrum team. Scrum Master Tato role je asi na celém procesu nejvýraznější. Definic toho, co je a není v kompetenci Scrum mastera, je nesčetné množství. Role Scrum mastera je nová a často špatně pochopená. 23 Dle mého názoru by měl Scrum Master fungovat jako týmový coach, jenž se stará o to, aby tým jako takový fungoval co nejefektivněji a zároveň dodržoval proces. Scrum master by neměl být direktivní, nejedná se v tomto případě o manažerskou pozici. Měl by členům týmu pomáhat v řešení jejich problémů a zároveň je chránit od nepříznivých okolních vlivů. Scrum master by měl z týmu vychovat samoorganizující se jednotku, která se naučí, jak si své problémy řešit sama. Za znak toho, že Scrum Master odvedl dobrou práci, se dá považovat fakt, že průběhem času nebude již jeho coachingu zapotřebí, neboť tým se dokáže postarat sám o sebe. Scrum master může v týmu zastávat i jiné role, je ovšem důležité zvážit jaké, aby tyto role neovlivňovaly Scrum Mastera v jeho primární roli. Product Owner Role Product Ownera je další z nových rolí, které Scrum zavádí. Jedná se o roli vlastníka produktu, jehož úkolem je udržovat kontakt se zákazníkem, porozumět jeho potřebám a ty nadále interpretovat směrem k týmu. Product Owner rozhoduje, která 23 LARMAN, C., VODDE, B.: Large-Scale Scrum: More with LeSS. Addison-Wesley Professional, 2016, s
30 práce se má udělat. On či ona je vlastníkem backlogu a rozhoduje o prioritě a pořadí. 24 Product Owner není úplným členem vývojového týmu, neřídí ho, neměl by udělovat členům týmu povely. Jeho primární úlohou je, starat se o to, co má být uděláno dříve a co později. Zároveň by měl mít velmi dobrou znalost produktu a potřeb zákazníka. Product Owner tvoří pomyslný spojovací most mezi zákazníkem a vývojovým týmem. Vývojový tým Scrum tým Jak již název napovídá, jedná se o samotné jádro celého vývoje, tudíž analytiky, vývojáře, testery, databázové specialisty apod., zkrátka o všechny členy, kteří se fyzicky podílejí na tvorbě produktu. Právě těmto lidem by měl být Scrum Master k službám a napomáhat jim v jejich každodenní rutině. Velikost týmu není nijak definována, ovšem Scrum týmy jsou obecně menší než týmy, které pracují na projektech řízených těžkými metodikami. Velikost týmu by měla být sedm, plus nebo mínus dva. Týmy tak malé jako například tři lidé, mohou mít úspěch, ale malá velikost týmu limituje množství interakcí, které mohou nastat a tím redukuje produktivitu týmu. Týmy větší než osm, nepracují dobře. Týmová produktivita se snižuje, Scrumové kontrolní mechanizmy se stávají těžkopádnými. 25 Složení týmu není nijak definováno, je individuální a závislé na projektu. Důraz je kladen na flexibilitu jednotlivých rolí, spolupráci a komunikaci mezi členy týmu, z tohoto důvodu je silně doporučeno, aby celý tým seděl pohromadě, pokud možno v jedné místnosti. 24 SUTHERLAND, J.,SUTHERLAND, JJ.: Scrum: The Art of Doing Twicet the Work in Half the Time. Crown Business, 2014, s SCHWABER, K., BEDDLE, M.: Agile Software Development with Scrum. Pearson Education: 2008, s
31 Manažerské role Z předešlých definic se zdá, že role manažerů nejsou na projektech řízených metodikou Scrum zapotřebí. Není tomu tak. Zodpovědnost manažera v agilním světě je primárně vytvoření prostředí, ve kterém agilní týmy můžou fungovat, a podpora jednotlivých rolí. V menších firmách se často z manažera stává kouč Scrum Masterů, případně někdo, kdo je zodpovědný za celkovou strategii produktů, a je tedy koučem Product Ownerů. 26 Projektový manažer zastává v agilně řízených projektech funkci zajištění projektu, monitoruje důležité milníky v rámci společnosti a na tyto milníky upozorňuje jednotlivé týmy. Mezi další úkoly patří např. reporting, vyplňování rozpočtových tabulek apod. Projektový manažer ovšem nijak nezasahuje do práce jednotlivých týmů a ani je žádným způsobem neřídí. 1.5 Sprint Podobně jako RUP, tak i SCRUM metodika se snaží zaujmout k vývoji iterativní přístup, tzn. vyvíjí v určitých iteracích cyklech. Tyto iterace jsou rozděleny do časových úseků, které jsou nazývány jako tzv. Sprinty. Scrum tým dodává v rámci sprintu novou funkcionalitu, nebo alespoň určitou část nové funkcionality. Týmová práce za pevný časový úsek se nazývá Sprint. 27 Sprint může nabývat různých dob trvání, jeho délka nikde není předepsána a v průběhu vývoje projektu se může dle potřeb měnit. Doporučená doba sprintu je ne kratší než jeden týden a ne delší než čtyři týdny. Důvod je jednoduchý: za dobu kratší jednoho týdne je množství odevzdané práce příliš malé a za dobu delší čtyř týdnů se tým připravuje o možnost kvalitní zpětné vazby jak externího, tak interního charakteru. Zpravidla bývá nastavena jako referenční doba sprintu dva týdny. 26 ŠOCHOVÁ, Z., KUNCE, E.: Agilní metody řízení projektů. Brno: Computer Press, 2014, s SCHWABER, K., BEDDLE, M.: Agile Software Development with Scrum. Pearson Education: 2008, s
32 Tým zpravidla na konci sprintu prezentuje výsledky své práce na zákaznickém demu, jež se označuje jako tzv. Sprint review. Jedná se o meeting, kde vývojový tým předvádí funkcionality, které v rámci sprintu dodal Backlog Pod pojmem Backlog je možné si zjednodušeně představit zásobník úkolů, které se plánují k řešení. Jak již bylo zmíněno v definici rolí, hlavním správcem backlogu je Product Owner. Není ovšem jediný. Do backlogu má zpravidla přístup celý tým, ale pouze Product Owner rozhoduje, které úkoly jsou prioritní a které naopak mohou počkat. Backlog může být produktový či sprintový a rozdíl mezi nimi je poměrně jednoduchý. Product Backlog zaznamenává úkoly na úrovni celého produktu, Sprint Backlog drží pouze úkoly zařazené do sprintu. Jednotlivé úkoly/funkcionality v rámci Backlogu jsou rozděleny na malé funkční celky. Pravděpodobně nejoblíbenější formou jsou tzv. User Stories, které se svou povahou dají přirovnat k artefaktům, které již byly popsány v kapitole metodiky RUP. V rámci prioritizace projdou User Stories analýzou a jsou připraveny v rámci Product Backlogu na posun do Sprint Backlogu, kde jsou již zpracovány samotnými vývojáři, testery apod. Ideálním stavem je, když takto detailně zpracovaných User Stories je přibližně na tři sprinty dopředu, kdy v případě nepřítomnosti Product Owner, např. z důvodu nemoci, je pro tým připraven dostatek práce, a nedojde tím pádem k výpadku. V rámci přípravy je taktéž doporučeno, aby za frontou takto připravených User Stories bylo připraveno na cca sprintů dalších User Stories, které nebudou v natolik detailní fázi analýzy. Zbytek Backlogu může být ponechán pouze v hrubém stadiu analýzy, neboť je možné, že dojde k nějakému změnovému požadavku a takto detailní analýza by byla zbytečná. 32
33 User story Jedná se o často používaný výraz v agilních týmech, má předepsaný formát, který definuje popis funkčnosti z pohledu uživatele, jako např.: Jako uživatel si přeji Funkcionalitu, abych dostal Businnes Value. 28 User story popisuje, co se má naimplementovat. Součástí User Story by měl být detailní popis, priorita, akceptační kritéria, odhady, komentáře k review, popř. další přílohy upřesňující popis funkcionality. V dnešní době poměrně vyspělých trackovacích nástrojů, jako např. Jira, je tento formát poměrně lehce dosažitelný. User story by měla být dostatečně malá, aby byla implementovatelná v rámci jednoho sprintu. Epic Epic je další z entit, které se mohou vyskytovat v Product Backlogu. Jedná se o určitý blok funkcionalit, který je příliš komplexní a složitý na to, aby mohl být implementovatelný v rámci jednoho sprintu. Takový Epic bývá zpravidla rozdělen na více User Stories, které se implementují postupně. Akceptační kritéria Jedná se o podmínky, které musí být splněny, aby User Story mohla být akceptována jako splněná, popř. dokončená. Sepisování akceptačních kritérií závisí na projektu, tzn. že akceptační kritéria nejsou povinná. V tomto ohledu spíše napomáhají transparentnosti popisu funkcionalit, kdy v případě možných problémů při odevzdávání hotového produktu jsou možným ukazatelem, zda by úkol splněn správně či nikoliv. Za akceptační kritéria je odpovědný Product Owner. Done kritéria Jedná se o další typ kritérií, která mohou být uvedena v rámci User Story. Tato kritéria určují, co musí být splněno, aby byla User story hotova. V praxi se může 28 ŠOCHOVÁ, Z., KUNCE, E.: Agilní metody řízení projektů. Brno: Computer Press, 2014, s
34 jednat např. o to, zda byly splněny všechny testy, dokumentace byla napsána, nebo zda byl produkt nasazen na příslušné prostředí. Done kritéria, stejně tako jako akceptační kritéria, vznikají dohodou mezi týmem a Product Ownerem a v ideálním případě by takto hotové funkcionality měly být ihned nasaditelné zákazníkovi. 29 Hodnocení User Stories Hodnocení User Stories je důležitou součástí plánování agilně řízených týmů, neboť každá User Story je jinak náročná a vyžaduje různou alokaci zdrojů. Na hodnocení se podílí celý tým společně s Product Ownerem, dochází zde ke k diskuzi o náročnosti a komplexitě funkcionalit, které na kterých bude tým pracovat. Výsledkem hodnocení je odhad. V rámci agilních metodik se pracuje s odhady relativními, neboť odhady časové jsou považovány za nespolehlivé. Jedním z oblíbených nástrojů je tzv. Planning poker. Jedná se v podstatě o hru, kdy každý z členů týmu má karty, kterými hodnotí náročnost konkrétní User Story. Product Owner představí funkcionality a zahájí se debata k dané funkcionalitě. Když je debata u konce, Scrum Master, který je moderátorem meetingu, vyzve všechny členy k hlasování a ti ve stejný okamžik zvednou kartu s číslem které vyjadřuje jejich představu o náročnosti. Následně Scrum Master vyzve členy týmu, kteří ohodnotili User Story jako nejjednodušší/nejsložitější, aby podali své vysvětlení, proč si myslí, že je funkcionalita tak jednoduchá/složitá. Výsledkem je tak další debata o náročnosti, která vede k upřesnění dalších otázek a odhad se tím stává přesnější. Pro Planning Poker lze využít jak papírové karty, tak např. mobilní aplikaci. Karty nabírají hodnot 0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100, nekonečno, otazník a symbol s kávou. 29 ŠOCHOVÁ, Z., KUNCE, E.: Agilní metody řízení projektů. Brno: Computer Press, 2014, s
35 Obrázek 4: Ukázka mobilní aplikace Scrum poker Zdroj: Vlastní zpracování Ukazatele efektivnosti týmu V této kapitole bych se krátce pozastavil nad ukazateli, které napomáhají měřit efektivnost týmu. Rychlost Tento ukazatel, často nazývaný též Velocita, reprezentuje, kolik je toho tým schopen v rámci jednoho sprintu vytvořit na základě odhadů. Výpočet je poměrně prostý. Jedná se o součet hodnot odhadů jednotlivých User Stories, které byly dokončeny za jeden sprint. Výsledná hodnota ukazuje reálný výkon týmu. Tento údaj je nutné měřit dlouhodobě, až po několika sprintech je možné z údaje o rychlosti vypozorovat, jak tým funguje. Ideální stavem je, aby tento údaj byl konstantní, bez větších výchylek. Burndown graf Tento graf slouží k predikci výkonnosti týmu, má sestupnou tendenci a společně s velocitou se jedná o poměrně užitečný nástroj pro Product Ownera, který tímto může odhadovat, kolik User Stories z backlogu se ještě stihne zpracovat. Burndown graf může být buďto produktový, nebo sprintový, v závislosti na tom, jaký údaj má interpretovat. 35
36 Obrázek 5: Sprint burndown Zdroj: Scrum institute Meetingy Jak již bylo mnohokrát řečeno, agilní metodiky kladou velký důraz na komunikaci v týmu i mimo tým. K tomu napomáhají meetingy, které tým realizuje. Meetingů je několik a probíhají v rámci sprintu. Standup Často nazývaný také jako Scrum meeting nebo denní Standup. Jedná se o meeting, který se realizuje na denní frekvenci a jak název napovídá, realizuje se ve stoje. Vývojový tým využívá Standup k ověření posunu kupředu v rámci cíle Sprintu a k ověření toho, jak se posun vyvíjí. 31 V rámci tohoto meetingu členové týmu odpovídají na otázky: co jsem dokončil včera 30 SCRUM INSTITUTE [online] [cit ]. Dostupné z [online] Dostupný z URL: < 31 SCHWABER, K., SUTHERLAND,J.: The Scrum Guide, [online], [cit ], dostupný z URL: < 36
37 co dokončím dnes jaké mám problémy Časový fond tohoto meetingu je maximálně 15 minut a v jeho rámci by se nemělo zacházet do přílišných detailů. Je úlohou Scrum Mastera, aby tento meeting moderoval postaral se o jeho správný průběh. Standup meeting je primárně pro členy týmu. Účastnit se ho může i kdokoliv jiný, ale pouze v roli přihlížejícího. Plánování Jedná se o meeting, kde tým diskutuje nad prioritizovaným Product Backlogem a hodnotí User Stories, které následně přesouvá do Sprint Backlogu. Průběh meetingu je následovný: Product Owner představuje funkcionality, které mají být implementovány, členové týmu o nich diskutují a User Stories ohodnocují. Celý meeting je opět moderován Scrum Masterem, který průběžně monitoruje, kolik User Stories je naplánováno a kolik se jich ještě může naplánovat (usuzuje tak na základě parametru rychlosti týmu). Dalším úkolem Scrum Mastera je pomoci s ujasněním akceptačních kritérií a kontrolou, zda je popis jednotlivých User Stories dostatečný, aby mohly být implementovány. Názory na časový fond se velmi liší. Někteří jsou toho názoru, že plánování by nemělo trvat déle než jednu hodinu, jiné názory tvrdí, že plánování by mělo být důkladné, a tudíž by mělo trvat alespoň čtyři hodiny. V tomto ohledu je dle mého názoru rozhodující velikost týmu a poměry na projektu, popř. vztah týmu a Product Ownera. Backlog Grooming Jedná se o další společný meeting Product Ownera a vývojového týmu. V rámci tohoto setkání, ke kterému dochází přibližně v polovině sprintu, tým diskutuje společně nad Product Backlogem. Účelem tohoto meeting je porozumění Backlogu a upřesnění si otázek k User Stories. Tento meeting napomáhá plánování, kdy Product Owner získá zpětnou vazbu a v rámci této vazby doplní popisy konkrétní User Story. Tímto 37
38 se eliminují problémy, které by mohly vzniknout při plánování. V rámci Groomingu může také docházet k ohodnocování jednotlivých US. Priority a Pre-planning Na této schůzce participuje Product Owner s analytikem, softwarovým architektem, popř. UX designerem. Jedná se o pomocný prioritizační meeting, který pomáhá Product Owner při stanovování priorit v Backlogu. Sprint review Tento meeting je vlastně takovým demo meetingem pro zákazníka, popř. pro koncové uživatele. Prezentují se zde User Stories, které byly v rámci sprintu dokončeny. Logicky lze odvodit, že se tato schůzka odehrává na konci sprintu, v některých případech na začátku dalšího. Prezentuje zde celý tým. Sprint review pomáhá týmu získávat zpětnou vazbu od zákazníka. Retrospektiva Tak jako Sprint Review pomáhá získat zpětnou vazbu od zákazníka, tak Retrospektiva pomáhá týmu získat zpětnou vazbu od sám sebe. Jedná se o meeting, kde se schází celý tým a diskutuje nad dosavadním průběhem svých aktivit. V rámci retrospektivy dochází ke sběru dat, diskuze nad nimi a mělo by zde dojít k hlubšímu porozumění informacím a následně k brainstormingu a hledání řešení. Způsobů, jak dělat retrospektivu, je velmi mnoho, od systému lepících štítků, přes časovou osu, metodu plachetnice, až po šest barevných klobouků. Jedním z nejoblíbenějších je systém lepících štítků. Jednotliví členové lepí štítky s tématy na tabuli, která je rozdělena na pět částí: začít (start), dělat více (more), pokračovat (keep), dělat méně (less) a přestat (stop). 38
39 2 Praktická část V předchozí části práce byly představeny dva druhy vývojových metodik. Každá z nich představuje jiný pohled na proces vývoje softwaru. Rational Unified Process jako zástupce rigorózních vývojových metodik pohlíží na vývoj jako na předem definovaný proces, kde každá akce a každý postup jsou předem naplánovány. Hlavním bodem v rámci této metodiky je proces, metodika je zaměřena na velmi detailní dokumentaci včetně detailního modelování. Iterace jsou spíše delšího charakteru, komunikace je převážně písemná a uplatňuje se zde spíše direktivní styl řízení. Taktéž organizační struktura je složitější, neboť v rámci RUP bývá užito více rolí. Jako zástupce agilních metodik byl vybrán SCRUM. Jedná se v tomto případě o mladší vývojovou metodiku s odlišným pohledem na proces vývoje. Metodika Scrum nenahlíží na vývoj jako na předem definovaný proces, nýbrž jako na činnost dynamickou, která se neustále mění, a v tomto ohledu je zaměřena spíše na adaptaci aktuálním okolnostem. Scrum nepreferuje podrobnou dokumentaci, ba naopak tvrdí, že s mírou dokumentace se musí zacházet velmi střídmě. Pracuje s podstatně kratšími iteracemi, snaží se dodávat menší části funkcionalit ve vyšší frekvenci. Klade vysoký důraz na komunikaci jak uvnitř týmu, tak navenek. Struktura projektových rolí je podstatně chudší a z hlediska hierarchie přistupuje k týmu s myšlenkou, že všichni jsou si rovni. V následující části se hodlám zabývat užitím těchto metodik v praxi. Vzhledem k tomu, že jsem za svou dosavadní kariéru strávil přibližně pět let na projektu řízeném v metodice RUP a v současné době se již sedmým rokem pohybuji na agilně řízených projektech, převážně v metodice Scrum, zažil jsem již mnoho situací, které se v rámci metodických postupů řešily, jak v roli člena týmu, tak v roli metodika. Představeny budou dva projekty řízené ve výše zmíněných metodikách, v rámci čehož budou popsány průběhy jednotlivých iterací, organizační struktury projektů, postupy na projektech užívané a dodržování metodických postupů, popř. monitoring jejich odchylek, neboť metodiky většinou nebývají striktně dodržovány. 39
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
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ý
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
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,
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č
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
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trochu historie neuškodí Do roku 1994 chaos ve světě objektově orientovaných metod (několik jazyků pro vizuální modelování,
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í
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)
Ú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É
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ UML UML není metodikou ani programovacím jazykem, je to pouze vizuální modelovací nastroj pro objektově orientované systémy.
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
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
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
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
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,
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
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
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ů
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í
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í
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
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
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
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
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
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
KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování
KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství Přemysl Brada Cíle předmětu Organizační informace Opakování Cíl předmětu Praktické zkušenosti sw proces a iterativní vývoj jaksi mimochodem
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
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
UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz
UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,
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
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
Ří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
Jak správně psát scénáře k případům užití?
Jak správně psát scénáře k případům užití? Autor RNDr. Ilja Kraval 2007 http://www.objects.cz K napsání tohoto článku mne inspiroval tento mail: Dobrý den pane Kravale, chci Vás poprosit o radu, která
Návrh softwarových systémů - architektura softwarových systémů
Návrh softwarových systémů - architektura softwarových systémů Martin Tomášek, Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura Využívá se
Business Process Modeling Notation
Business Process Modeling Notation Stephen A. White, IBM Corporation Procesní řízení 1 Co to je BPMN? Standard Business Process Modeling Notation (BPMN) byl vyvinutý skupinou Business Process Management
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
Informační média a služby
Informační média a služby Výuka informatiky má na Fakultě informatiky a statistiky VŠE v Praze dlouholetou tradici. Ke dvěma již zavedeným oborům ( Aplikovaná informatika a Multimédia v ekonomické praxi
Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika
2 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk UML, základní modely, diagramy aktivit, diagramy entit.
PŘÍLOHA C Požadavky na Dokumentaci
PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé
Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová
Objektově orientované technologie Business proces Diagram aktivit Daniela Szturcová Osnova Bysnys proces pojmy metody, specifikace pomocí diagramů Modelování pomocí aktivitního diagramu prvky diagramu
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
Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová
Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Osnova Modelování interakcí mezi objekty modelování zpráv (mapování zpráv na operace), vytváření a
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
Projektová dokumentace pro tvorbu internetových aplikací
Projektová dokumentace pro tvorbu internetových aplikací Tomáš Kuthan PhDr. Milan Novák, Ph.D. Školní rok: 2008-09 Abstrakt Bakalářská práce stanovuje vzor pro vytváření projektové dokumentace internetových
Procesní řízení. Hlavní zásady a praxe dodavatele Komix
Procesní řízení Hlavní zásady a praxe dodavatele Komix 1 Obsah prezentace Teoretická část (menšího objemu) orientace na zákazníka hodnocení procesu podmínky procesního řízení cyklus zlepšování procesu
2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
UML - opakování 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
UML - opakování 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 Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram
Návrh softwarových systémů - architektura softwarových systémů
Návrh softwarových systémů - architektura softwarových systémů Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura 2 Využívá se v různách oborech
Vývoj řízený testy Test Driven Development
Vývoj řízený testy Test Driven Development Richard Salač, Ondřej Lanč Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze 23. - 30. 10. 2012 Obsah 1 Testování 2 Klasický přístup
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
RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK
RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK JAROSLAV.ZACEK@OSU.CZ TRADIČNÍ VS. ITERATIVNÍ PŘÍSTUPY Vodopádové principy Iterativní (agilní principy) Zaměřen na procesy, předpokládá jejich opakovatelnost. Zaměřen
RUP - Motivace, principy. Jaroslav Žáček
RUP - Motivace, principy Jaroslav Žáček jaroslav.zacek@osu.cz Tradiční vs. iterativní přístupy Vodopádové principy Zaměřen na procesy, předpokládá jejich opakovatelnost. Pevné, podrobné plány definovány
Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
INFORMAČNÍ SYSTÉMY. 03. 01. 2006, Ing. Jiří Mráz
INFORMAČNÍ SYSTÉMY 03. 01. 2006, Ing. Jiří Mráz PŘEDNÁŠEJÍCÍ Jiří Mráz Production Coordinator UNICORN jiri.mraz@unicorn.cz AGENDA Informační a komunikační technologie (ICT) podniku Informační systémy Zakázkový
Základy analýzy. autor. Jan Novotný http://blog.novoj.net/ 15. února 2007
Základy analýzy autor Jan Novotný http://blog.novoj.net/ 15. února 2007 V prezentaci jsou použity diagramy z: Wikipedia, Sparx UML Tutorial, Argo UML Metodiky vývoje Různé metodiky vývoje vazba na fáze
HR controlling. Ing. Jan Duba HRDA 26.9.2014
HR controlling Ing. Jan Duba HRDA 26.9.2014 Anotace Zkušenosti s nastavováním systému měření výkonu pracovních skupin a jednotlivců Jak zavést živý controlling pro řízení firmy? Anotace Interim HR manažer
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
SOFTWAROVÉ INŽENÝRSTVÍ 1
Metodický list č. 1 Název tématického celku: Úvod do softwarového inženýrství Základním cílem tohoto tematického celku je vysvětlení smyslu discipliny nazývané softwarové inženýrství. Tematický celek zahrnuje
Hodnocení LeSS dle METES
Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Obor: Informační systémy a technologie Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Hodnocení LeSS dle METES Student:
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
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
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
Ročníkový projekt. Jaroslav Žáček
Ročníkový projekt Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/infs1/ Cíle předmětů Vytvoření fungující aplikace, která splňuje definované požadavky Vyzkoušet si celý životní cyklus projektu
Využití SysML pro tvorbu modelů v systémovém inženýrství
Využití SysML pro tvorbu modelů v systémovém inženýrství Antonín Srna, Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, xsrna2@mendelu.cz Abstrakt Článek se zaobírá univerzálním
Ú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í
7.6 Další diagramy UML
7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI
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ý
Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3
Citace článku BUCHALCEVOVÁ, Alena, KUČERA, Jan. Hodnocení metodik vývoje informačních systémů z pohledu testování. Systémová integrace, 2008, roč. 15, č. 2, s. 42 54. ISSN 1210-9479 Hodnocení metodik vývoje
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
Unifikovaný modelovací jazyk UML
Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li
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
Když jde řídit podnik formou SaaS, tak proč by to nemělo jít v případě státu
Když jde řídit podnik formou SaaS, tak proč by to nemělo jít v případě státu 09. února 2012 Jiří Mráz Přednášející Jiří Mráz Unicorn Systems Generální ředitel jiri.mraz@unicornsystems.eu 2 Agenda Občané
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
Informační systémy ve strojírenství
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení Informační systémy ve strojírenství Radim Farana 1 Obsah Životní cyklus vývoje SW. Informační
Metodologie řízení projektů
Metodologie řízení projektů Petr Smetana Vedoucí práce PhDr. Milan Novák, Ph.D. Školní rok: 2008-09 Abstrakt Metodologie řízení projektů se zabývá studiem způsobů řešení problémů a hledání odpovědí v rámci
Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová
Objektově orientované technologie Logická struktura systému Objektový diagram Pavel Děrgel, Daniela Szturcová Osnova Modelování objektů objektový diagram Struktura a vazby mezi objekty Dobré zvyky při
Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS
Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Semestr LS 2014/2015 Autoři Jírů Michaela, jirm42 Lisová Martina, lism25 Téma RUP v 7 v číslech Datum odevzdání 15. 5. 2015 Abstrakt Obsahem
Analýza a design na reálném projektu. Richard Michalský
Analýza a design na reálném projektu Richard Michalský Agenda o Role analytika o Dokumentace (analytická) o Sběr a analýza požadavků o Fixace rozsahu Role analytika o Tvůrce požadavků o Zákazník zná své
OOT Objektově orientované technologie
OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová, Pavel Děrgel Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include
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
7.6 Další diagramy UML
7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI
Unifikovaný proces vývoje
Unifikovaný proces vývoje Karel Richta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze richta@fel.cvut.cz, 2011 Softwarové inženýrství I., BI-SI1
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
Jak vytvořit správné Zadání IS
Jak vytvořit správné Zadání IS 26. dubna 2013 Jiří Svačina Jiří Svačina Unicorn Systems, Senior Consultant Unicorn, 1993 Vývoj Softwarová architektura Projektové řízení Business analýza Univerzita Hradec
1. VYMEZENÍ ODBORNÉ STÁŽE
1. VYMEZENÍ ODBORNÉ STÁŽE Šablona stáže představuje základní rámec odborné stáže pro typovou pozici a obsahuje požadavky na obsah a průběh stáže, na stážistu i na poskytovatele stáže. Bílá pole označují
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
Design systému. Komponentová versus procesní architektura
Design systému Komponentová versus procesní architektura Architektura : třídy statické aspekty propojení logický pohled struktura popisu systému Architektura procesů: objekty dynamické aspekty koordinace
Principy UML. Clear View Training 2005 v2.2 1
Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat
Metodický list pro první soustředění kombinovaného studia. předmětu Management ve finančních službách
Metodický list pro první soustředění kombinovaného studia předmětu Management ve finančních službách Název tematického celku: Základní koncepční přístupy a osobnost manažera Cíl: V návaznosti na poznatky
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
Obsah. ÚVOD 1 Poděkování 3
ÚVOD 1 Poděkování 3 Kapitola 1 CO JE TO PROCES? 5 Co všechno musíme vědět o procesním řízení, abychom ho mohli zavést 6 Různá důležitost procesů 13 Strategické plánování 16 Provedení strategické analýzy
OOT Objektově orientované technologie
OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include a extend) Shrnutí
SYLABUS MODUL BUSINESS MODELOVÁNÍ. Doc. RNDr. Vladimír Krajčík, Ph.D.
SYLABUS MODUL BUSINESS MODELOVÁNÍ Doc. RNDr. Vladimír Krajčík, Ph.D. Ostrava 20 : Business modelování Autoři: Doc. RNDr. Vladimír Krajčík, Ph.D. Vydání: první, 20 Počet stran: Tisk: Vysoká škola podnikání,
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
Příspěvek je věnován základním informacím o způsobu volby vhodné strategie řízení kontinuity činností v organizaci.
Mgr. Monika Johaníková Ochrana & Bezpečnost 2013, ročník II., č. 3 (podzim), ISSN 1805-5656 Stanovení strategie řízení kontinuity činností Anotace Příspěvek je věnován základním informacím o způsobu volby
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
Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace
Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Pořadové číslo dodatečných informací: 14. ČÁST 1: Přesné znění žádosti dodavatele o dodatečné informace Otázka
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)