Iterativní vývoj software KIV/ASWI 2014/2015



Podobné dokumenty
Softwarový proces Iterativní vývoj software KIV/ASWI 2008/2009

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

Agilní metodiky vývoje softwaru

Softwarový proces Iterativní vývoj software KIV/ASWI 2007/2008

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

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

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

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

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

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

SOFT-ENG ACADEMY 2017/2018

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

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

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

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

Agile Software Development

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

XINF1. Jaroslav Žáček

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

Střední odborná škola stavební a Střední odborné učiliště stavební Rybitví

Unifikovaný proces vývoje

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

Novinky v UML 2.5 a agilní modelování

Kdo jsme Čím se zabýváme Nabídka služeb pro veřejnou správu Ověřeno v praxi u tisíce uživatelů v podnikatelské a bankovní sféře Plně využitelné u

CLIL a projektové vyučování

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

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

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

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

EU peníze středním školám digitální učební materiál

Výukový materiál zpracovaný v rámci projektu EU peníze do škol. illness, a text

Informace o písemných přijímacích zkouškách. Doktorské studijní programy Matematika

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

Podnikové informační systémy

Present Perfect x Past Simple Předpřítomný čas x Minulý čas Pracovní list

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

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

PSANÍ. M e t o d i c k é p o z n á m k y k z á k l a d o v é m u t e x t u :

Tabulka 1 Stav členské základny SK Praga Vysočany k roku 2015 Tabulka 2 Výše členských příspěvků v SK Praga Vysočany Tabulka 3 Přehled finanční

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

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

5.VY_32_INOVACE_AJ_UMB5, Vztažné věty.notebook. September 09, 2013

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

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

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

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

1, Žáci dostanou 5 klíčových slov a snaží se na jejich základě odhadnout, o čem bude následující cvičení.

CZ.1.07/1.5.00/ Zefektivnění výuky prostřednictvím ICT technologií III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

VY_32_INOVACE_06_Předpřítomný čas_03. Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace

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

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

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

CASE. Jaroslav Žáček

Risk management in the rhythm of BLUES. Více času a peněz pro podnikatele

DC circuits with a single source

Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

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

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

Fakulta elektrotechnická

SUMMER 2015 BUSINESS VOCABULARY IN USE ENGLISH

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

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

POSLECH. M e t o d i c k é p o z n á m k y k z á k l a d o v é m u t e x t u :

Caroline Glendinning Jenni Brooks Kate Gridley. Social Policy Research Unit University of York

Luk aˇ s R uˇ ziˇ cka Podm ınkov e vˇ ety

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

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

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

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Název projektu: Multimédia na Ukrajinské

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

Výukový materiál zpracovaný v rámci operačního programu Vzdělávání pro konkurenceschopnost

Informační systémy. Jaroslav Žáček

Jméno autora: Mgr. Alena Chrastinová Datum vytvoření: 2O Číslo DUMu: VY_32_INOVACE_O9_AJ

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Budějovice Název materiálu: Reported Speech. Datum (období) vytvoření: Srpen Autor materiálu: PhDr. Dalibor Vácha PhD. Zařazení materiálu:

Agilní metodiky Agilní Jan Smolík

KIV/ASWI 2007/2008 Agilní přístup k tvorbě software

Verb + -ing or infinitive

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

Metodický list. Radmila Válková

Content Language level Page. Mind map Education All levels 2. Go for it. We use this expression to encourage someone to do something they want.

Snow White and seven dwarfs

Výukový materiál zpracovaný v rámci operačního programu Vzdělávání pro konkurenceschopnost

CZ.1.07/1.5.00/

Introduction to MS Dynamics NAV

CASE nástroje. Jaroslav Žáček

Instrukce: Cvičný test má celkem 3 části, čas určený pro tyto části je 20 minut. 1. Reading = 6 bodů 2. Use of English = 14 bodů 3.

Nástroje pro průběžnou integraci a testování

Číslo materiálu: VY 32 INOVACE 29/18. Číslo projektu: CZ.1.07/1.4.00/

Analýza a Návrh. Analýza

Aktuální trendy ve výuce a testování cizích jazyků v akademickém prostředí

CZ.1.07/1.5.00/

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

Vývoj řízený testy Test Driven Development

Informační systémy. Jaroslav Žáček

19/ Přítomný podmiňovací způsob

Technologie, vlastnosti, uplatnění. Martin Suchan

Transkript:

Iterativní vývoj software KIV/ASWI 2014/2015

Obsah Iterativní vývoj struktura a vlastnosti iterace globální řízení Empirický proces Q: Jaké můžeme v nejbližší době čekat nové, vzrušující a slibné myšlenky nebo techniky v oblasti software? A: Myslím, že [nejslibnější myšlenky] jsou už léta známy, jen nejsou správně používány. David Parnas Kde jsou kořeny iterativního přístupu? 2

Although extreme programming itself is relatively new, many of its practices have been around for some time; the methodology, after all, takes "best practices" to extreme levels. For example, the "practice of test-first development, planning and writing tests before each micro-increment" was used as early as NASA's Project Mercury, in the early 1960s (Larman 2003). To shorten the total development time, some formal test documents (such as for acceptance testing) have been developed in parallel (or shortly before) the software is ready for testing. http://en.wikipedia.org/wiki/extreme_programming http://arialdomartini.wordpress.com/2012/07/20/you-wont-believe-how-old-tdd-is/ We didn t call those things by those names back then, but if you look at my first book (Computer Programming Fundamentals, Leeds & Weinberg, first edition 1961 MB) and many others since, you ll see that was always the way we thought was the only logical way to do things. I learned it from Bernie Dimsdale, who learned it from von Neumann. 3 When I started in computing, I had nobody to teach me programming, so I read the manuals and taught myself. I thought I was pretty good, then I ran into Bernie (in 1957), who showed me how the really smart people did things. My ego was a bit shocked at first, but then I figured out that if von Neumann did things this way, I should.

Jak funguje iterativní vývoj Když sekvenční postup funguje pro malé projekty s malou mírou neznáma, proč nerozbít velký projekt do řady malých? P. Kruchten Miniaturní úplný projekt cca vodopádový model prolínání aktivit Cíl: iterační release (interní či nasazený) produkt funkčně neúplný ale otestovaný a funkční Opakovaný postup stále stejné aktivity (téměř) 4

Průběh iterace Plánování cíle iterace zejména funkčnost Doplnění / zpřesnění požadavků základ: plán projektu, vize, předchozí feedback (Úprava návrhu) Implementace přírůstku funkčností Integrace přírůstku ověření, otestování (Předání do provozu) validace zákazníkem Zhodnocení Simple way: per-iteration-goal Better way: per-workitem 5

Charakter iterativního vývoje Vize produktu a její iterativní naplňování 6 cf přírůstková dodávka

7 Příklad metodiky: Scrum

Schwaber: SCRUM Development Process Sutherland, Jeffrey Victor; Schwaber, Ken (1995). Business object design and implementation: OOPSLA '95 workshop proceedings. The University of Michigan. p. 118. ISBN 3-540-76096-2. 8

Scrum Pre-game Post-game

10 Iterace v kontextu

Kontext iterace v procesu vývoje 112006-2009 Jeff Patton, All rights reserved, www.agileproductdesign.com

Globální řízení iterativního vývoje Problém: pro stromy nevidím les I-1 I-2 I-3 I-4 I-5 Jak vysvětleno zákazníkem I-2 I-3 Co navrhl architekt Implementace I-4 I-5 12 http://www.projectcartoon.com/cartoon/3 Dodáno na konci

Globální plánování: milníky Cíl: eliminovat momentálně největší riziko Barry Boehm (1996): Anchoring the Software Process LCO (Lifecycle Objectives) definování terče Vize produktu LCA (Lifecycle Architecture) určení způsobu řešení Architektura technického řešení ověření modely, technické prototypy, testy (executable) IOC (Initial Operational Capability) schopnost efektivně vyrobit řešení beta verze, all features unit a funkční testy GA (General Availability) uvést produkt do rutinního provozu krabice s produktem, website launch, raut :-) support team v provozu 13

14 Příklad metodiky: Rational Unified Process

Rational Unified Process Best Practices for Software Development Teams Rational Software White Paper TP026B, Rev 11/01 15

RUP 16

RUP 17

18 Charakteristiky iterativního vývoje

Evoluční a adaptivní charakter Evoluční jeden z 4 nejčastějších faktorů úspěchu sw projektů znalosti o požadavcích, návrhu, odhadech a plánu se vyvíjejí a zpřesňují v průběhu projektu vs kompletní, dále neměnné specifikace na začátku (20-80) míra změny obvykle klesá s postupujícími iteracemi don t develop software, grow it Adaptivní zdůraznění procesu učení zpětná vazba od uživatelů empirický proces 19 19

Development Progress (% Coded) Better Progress Profile 100% Modern Project Profile Integration Begins Late Design Breakage Waterfall Project Profile Project Schedule 20

Error in Cost to Complete Estimate Cost Estimate Fidelity 4X Over-estimated 0 Inception Elaboration Construction Transition Under-estimated X/4 21

Charakter iterací dle fáze Základní schema pevné, mění se činnosti a artefakty Zahájení analytické činnosti, validace vize zákazníkem 1-2 iterace Projektování analytické a designérské činnosti, ověřování prototypy, implementace 2+ iterací Konstrukce designérské a programátorské činnosti, změnové řízení, testování a ověřování N iterací Nasazení integrační a konzultační činnosti, ověřování provozem, náběh uživatelské podpory 1-2 iterace 22 Example: RUP project profile: overview

Charakter iterací dle fáze: činnosti Req Iteration 1 Iteration 2 Iteration 3 Design Impl Test Deploy Time 23 Example: RUP project profile: details

Charakter iterací dle fáze: artefakty 24

Význam meziproduktů Preskriptivní metodiky artefakty jsou cílem (výsledkem) fáze procesu důsledek: review podpis změnové řízení Agilní přístup artefakty jsou prostředkem (cíl = smysluplný stav/přírůstek produktu) důsledky forma, obsah artefaktů ( dress code ): od zcela volné (XP) po vzory a šablony (RUP) artefakty živé během projektu výběr dle fáze/iterace Existence a stav artefaktů vždy vypovídá o postupu projektu 25

Shrnutí

Iterativní vývoj Risk and user-priority driven Process focus on architecture Requirements drive design and implementation Models abstract the system Guidance for activities and artifacts but waterfall is not dead 27

Varianty dle velikosti projektu 28