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

Podobné dokumenty
Softwarový proces Martin Hlavatý 4. říjen 2018

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

SOFT-ENG ACADEMY 2017/2018

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

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

Agile Software Development

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

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

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

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

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

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

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

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

Fakulta elektrotechnická

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

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

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

XINF1. Jaroslav Žáček

Podpora životního cyklu vývoje sliby a realita. Michael Juřek mjurek@microsoft.com Software Architect Microsoft s.r.o.

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

Agilní metodiky vývoje softwaru

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

Jakou metodiku použít pro

Novinky v UML 2.5 a agilní modelování

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

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

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

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

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

Unifikovaný proces vývoje

2 Životní cyklus programového díla

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

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

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

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

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

Agilní modelování. ing. Alena Buchalcevová, Ph.D. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

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

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

CASE nástroje. Jaroslav Žáček

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

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

AGILNÍ METODIKY, JAK DÁL?

CASE. Jaroslav Žáček

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

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

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

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

Agilní metodiky Agilní Jan Smolík

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

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

Analýza a Návrh. Analýza

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

27/11/2017. Business analýza a sběr požadavků. Dotazy na event #G865

7 Jazyk UML (Unified Modeling Language)

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

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

Problémy při zavádění agilních přístupů

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

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

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

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

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

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

Vedení projektů, Odhadování, historie

01. Životní cyklus programového díla, analýza, návrh, implementace, provoz a metodiky vývoje SW. (A7B36SIN)

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

Metodiky vývoje software, MDA

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

Vysoká škola ekonomická v Praze

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

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS. Bc. Zuzana Čecháková, cecz00. Six Ways Agile Can Turn Static

Metodiky pro efektivní vývoj software (agilní programování)

Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

Agile leadership in Czech Rep. Agilia Conference 2011 Brno

7 Jazyk UML (Unified Modeling Language)

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

Výběr vhodné metodiky vývoje softwaru pro společnost HOUR, spol. s r.o.

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

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

Přehled a porovnání nástrojů na podporu agilního vývoje softwaru

Agile Forum. Brno Jaroslav Procházka

Projektové řízení v cloudu

KAPITOLA 3. Základy metody. V této kapitole: Klíčové koncepty Obsah metody Proces Shrnutí

Metodický rámec budování IS/ICT

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

Scrum. principy agilního managementu, metodika Scrum

Úvod do softwarového inženýrství IUS 2009/2010 p.1/55

Integrating procurement into innovation Integrace zadávání zakázek a inovací. All rights reserved Eveneum and Conbelts.

Riziky řízený vývoj software

Vysoká škola ekonomická Fakulta informatiky a statistiky

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

Hodnotocentrické metodiky

PLM VDM. Lístek k úspěšné implementaci

Přehled a porovnání nástrojů na podporu agilního vývoje softwaru

Vysoká škola ekonomická

Procesy vývoje softwaru. Coherent sets of activities for specifying, designing, implementing and testing software systems

Transkript:

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) a jeho kvalita měřená více faktory

Od zadání k produktu... Základem jsou lidé, jejich kvalita a kvalita jejich výstupů. Je nutné umět organizovat práci a koordinovat lidi v týmu. Je otázkou, s jakou mírou administrativní zátěže. Je nutná dokumentace, kdo nedokumentuje, neváží si vlastní práce. Je otázkou, v jakém množství. Je nutný plán (čas a náklady). Je otázkou, zda je možné odhadnout všechno dopředu. Jsou nutná dobrá rozhodnutí na začátku (technologie, architektura). Je otázkou, zdá máme vždy dostatek informací.

Vodopádový model (1970) Původně sedm navazujících (nepřekrývajících se) fází: Specifikace požadavků, Návrh, Implementace, Integrace, Testování, Ladění, Instalace, Údržba. Vodopádový model vyžaduje, aby se k následující fázi přikročilo pouze tehdy, pokud je ta předcházející kompletní a perfektně připravená.

Vlastnosti modelu Výhody (dvakrát měř a jednou řež) Včasné odhalení chyb (vede k úsporám). Vysoký důraz na dokumentování (bezproblémová záměna lidí). Jednoduchost pro řízení (stabilita projektu). Nevýhody Je nemožné dovést jednu fázi životního cyklu softwarového produktu k dokonalosti předtím, než se přejde k další fázi. Trvá se na rozhodnutích, která se mohou později ukázat jako nesprávná.

Aspekty práce v týmu Stačí dva a už se musí na lecčems dohodnout. Je rozdíl pracovat ve velkém a malém týmu. Robustní x agilní (čilý, aktivní, horlivý) přístup k projektu. Vždy musíme definovat role a odpovědnosti, ze kterých vyplývá způsob řešení úkolů.

Iterativní a inkrementální vývoj Základní princip odlišující současné přístupy od vodopádového modelu. Iterativní návrh je metodologie založená na opakovaném procesu analýzy, návrhu, implementace (prototypování), testování a redefinici produktu. Přírůstkový (inkrementální) model je založen na principu postupně budovaného produktu po přírůstcích založených na iterativním návrhu. Vývoj kombinuje vlastnosti vodopádového modelu s vlastnostmi iterativního prototypování.

UP: Unified Process Ivar Jacobson (1999, Unified Software Development Process). Dva klíčové principy: Iterative and incremental development. Tři klíčové charakteristiky: Use Case Driven, Architecture Centric, Risk Focused. Čtyři fáze: Inception, Elaboration, Construction, Transition. UML, dokumenty.

Příklady Rational Unified Process (RUP) Microsoft Solutions Framework (MSF) Oracle Unified Method (OUM) Open Unified Process (OpenUP)

MSF Otevřená komunikace Sdílená vize Pravomoci v týmu Odpovědnosti a jejich sdílení Přírůstková hodnota Být agilní (přizpůsobit se změně) Kvalita Zkušenosti Zákazník součástí vývoje

Manifesto for Agile Software Development (2001) Individuals and interactions over processes and tools. Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan.

12 principů Customer satisfaction by rapid delivery of useful software Welcome changing requirements, even late in development Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Close, daily co-operation between business people and developers Face-to-face conversation is the best form of communication (colocation) Projects are built around motivated individuals, who should be trusted Continuous attention to technical excellence and good design Simplicity Self-organizing teams Regular adaptation to changing circumstances

XP: Extrémní programování Kent Beck Extreme Programming Explained (1999) Všechno, co je správné, se dělá naplno. Nelze z ničeho ustoupit Máte ovládací panel s otočným knoflíkem, od jedné do deseti, pro každou osvědčenou metodu. Extrémní programování nastává, pokud všechny knoflíky otočíte na desítku

Obecné principy Komunikace Jednoduchost Zpětná vazba Odvaha

Praktiky Business praktiky (Plánování hry, Zákazník na pracovišti, Vydávání malých verzí, Metafora) Týmové praktiky (Párové programování, Společné vlastnictví kódu, Standardy kódu, Udržitelné tempo) Programovací praktiky (Neustálá integrace, Jednoduchý návrh, Refaktorování kódu, Testování)

SCRUM 1995, Sutherland and Schwaber Backlog (user stories) Rizika (nejistoty) Sprint Schůzky (denně) Flexibilita

TDD: Programování řízené testy Napsat test Spustit testy a ujistit se, že všechny neprojdou Napsat vlastní kód Kód automatickými testy prochází Refaktoring Opakování