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



Podobné dokumenty
Agilní metodiky vývoje softwaru

Joelův test. 12 kroků k lepšímu programování. Jaroslav Šnajdr

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

Vývoj řízený testy Test Driven Development

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

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

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

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

CASE. Jaroslav Žáček

CASE nástroje. Jaroslav Žáček

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

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

Agile Software Development

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

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

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

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

Agilní metodiky a vývojové procesy

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

Vedení projektů, Odhadování, historie

XINF1. Jaroslav Žáček

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

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

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

Java/QE Akademie - Osnova

Formy komunikace s knihovnami

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

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

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

Novinky v UML 2.5 a agilní modelování

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

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

Obsah. Zpracoval:

AGILNÍ METODIKY VÝVOJE SOFTWARE

AGILNÍ METODIKY, JAK DÁL?

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

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

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Výběrové řízení. Informační systém Autoklubu ČR. Autoklub České republiky. Strana 1 z 8

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

Analýza a Návrh. Analýza

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

RUP - Motivace, principy. Jaroslav Žáček

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

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

vjj 1. Windows programming. krátká nahlédnutí za oponu

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

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

Úvod do programovacího jazyka Python

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

Stav používání agilních metodik v ČR

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

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

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

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

PA165: Úvod do Java EE. Petr Adámek

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

programátor vs. vývojář

Integrace datových služeb vědecko- výukové

Firemní profil FG Forrest

Co se chcete dozvědět?

Jak testovat software v praxi. aneb šetříme svůj vlastní čas

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

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

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

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

Psychometrie on-line

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ

jako základní princip vývoje svobodného softwaru

Produkty třídy BYZNYS

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

Jak testovat software v praxi

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ

IB111 Úvod do programování skrze Python Přednáška 12


Testování software. Jaroslav Žáček

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

Scaling Agile Across Project Teams and Departments

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

Vysoká škola ekonomická Fakulta informatiky a statistiky

MST - sběr dat pomocí mobilních terminálů on-line/off-line

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Seznámení s prostředím dot.net Framework

Česká zemědělská univerzita v Praze

Úvod do programovacího jazyka Python

Databázový systém Matylda

Hodnocení metodik vývoje informačních systémů z pohledu testování

Udělá to, proč přišel/najde co hledal? Navštivte nás na adrese

Prezentace 2. Slide 1. Slide 2. Slide 3. Slide 4. Prezentace pdf. nazev projektu jmena atd.. Obsah

PŘÍLOHA C Požadavky na Dokumentaci

AGILNÍ METODIKY A SPRÁVA POŽADAVKŮ

A to vše díky lidem, kteří Red Hat utváří svým nadšením a svými nápady. Přidáte se do našeho brněnského týmu i Vy?

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27.

Agilní metodiky Agilní Jan Smolík

Zřízení vnitřního informačního systému pro firmu Senman s.r.o.

Sísyfos Systém evidence činností

Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11

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

Transkript:

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 web aplikací) akademické prostředí (vývoj Java aplikací) 1 Lze vyvíjet software bez metodiky? - bohužel ano 2 3

Lze vyvíjet software bez metodiky? - bohužel ano Popis reálné zkušenosti s vývojem CMS systému

Joelův test: Používáte systém pro správu verzí? Dokážete udělat build v jednom kroku? Děláte každodenní buildy? Máte databázi chyb? Opravujete chyby předtím, než začnete psát nový kód? Máte průběžně aktualizovaný plán prací? Píšete specifikace? Mají programátoři klidné pracovní prostředí? Používáte ty nejlepší nástroje, které jsou k dispozici? Máte testery? Píší uchazeči o práci kód během přijímacího pohovoru? Děláte "pouliční" testy uživatelského rozhraní?

Nekaždý vedoucí chápe rozdíl mezi výrobou softwaru a výrobou rohlíků

Odhady časů: kvalitní práce potřebuje čas, nekvalitní práce potřebuje ve finále času x-krát tolik není absolutně možné odhadovat časy nad kódem, který je vyvíjen bez testingu metriky hodnocení programátorů

Kvality kódu: práce jednoho člověka vs. práce ve více lidech zdrojové kódy jsou pro programátory na prvním místě, potom pro kompilátor unit testing, interface testing, module testing modularita hierarchie volné vazby (loosely coupling) žádná duplikace kódu (vs. copy&paste programming) coding style (dobré mravy zápisu kódu) "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." Martin Fowler, Refactoring: Improving the Design of Existing Code

Klasické metodiky vs. agilní metodiky vývoje softwaru

Agilní metodiky: 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 týmů co nejčastější předávání hotové práce vítání změn jako příležitosti být lepší důraz na výslednou hodnotu pro zákazníka před dokumenty a papíry

Agilní metodiky: běžné aplikace zkušení vývojáři požadavky se velmi často mění malý počet vývojářů založeno na principech volné spolupráce Klasické metodiky: kritické aplikace nezkušení vývojáři požadavky se nemění (příliš často) velký počty vývojářů založeno na principech pevného řádu Příklady agilních metodik: Extrémní programování, SCRUM, Crystal Clear, Adaptivní vývoj,...

Feature Driven Development vývoj řízený aktuálními požadavky na funkcionality vývoj probíhá v iteracích soupis všech požadavků na funkcionality analýza funkcionalit a odhad času vývoje a ceny přidělení priorit funkcionalitám zákazníkem vlastní implementace vybraných funkcionalit testování nasazení (deployment) změny by měl zákazník aktivně sledovat a komentovat zákazník může operativně zasahovat do vývoje

Test Driven Development napiš (rozšiř) automatický test nově požadované funkcionality naimplementuj aby všechny testy prošly refaktorizuj (odstraň duplicitu v kódu) opakuj proces

Popis reálné zkušenosti s vývojem informačního systému

Žádný software se dnes nepíše od nuly: knihovna (balík znovupoužitelných kódů) framework rámcový systém (software zjednodušující vývoj aplikací určitého druhu) toolkit (balík nástrojů) Volba vhodných technologií: co znám co splňuje moje požadavky co je dobře zdokumentované co když technologii musí používat více lidí?

Každý vývojář jednou bude používat nějaký framework / knihovny: firemní (in-house) volba z existujících (open source, proprietární) napsat si sám

Dobře si rozmyslete vývoj frameworku: vývoj FW je velmi časově / finančně náročný návrh / vývoj kvalitního FW potřebuje zkušené vývojáře FW se musí udržovat FW musí být špičkově dokumentován FW musí mít pochopitelné API když už je nutné framework vyvinout zveřejněte ho pod nějakou open source licencí komerční FW musí mít precizně provedenou analýzu prodeje

Popis reálné zkušenosti s vývojem vizualizačního frameworku

Závěr Lze vyvíjet software bez metodiky? - bohužel ano vyvíjet software může dnes skoro každý, vyvinout ale úspěšně fungující software není vůbec jednoduché Reference: Joel Spolsky, Joelův test, online: http://czech.joelonsoftware.com/articles/thejoeltest.html Agile Software Development, online: http://en.wikipedia.org/wiki/agile_software_development 97 Things Every Software Architect Should Know - The Book: http://97-things.near-time.net/wiki/97-things-every-software-architectshould-know-the-book

Otevřená diskuse s jakými problémy se se při vývoji studenti nejvíce setkávají? nebylo by fajn, vyzkoušet některé principy už při při psaní semestrálních prací? verzovací systém správa chyb iterace přes trojici "analýza -> implementace -> testování" čistota kódu píšeme kódy, kterým za pár let porozumíme?

Otevřená diskuse s jakými problémy se se při vývoji studenti nejvíce setkávají? nebylo by fajn, vyzkoušet některé principy už při při psaní semestrálních prací? verzovací systém správa chyb iterace přes trojici "analýza -> implementace -> testování" čistota kódu píšeme kódy, kterým za pár let porozumíme?

Otevřená diskuse s jakými problémy se se při vývoji studenti nejvíce setkávají? nebylo by fajn, vyzkoušet některé principy už při při psaní semestrálních prací? verzovací systém správa chyb iterace přes trojici "analýza -> implementace -> testování" čistota kódu píšeme kódy, kterým za pár let porozumíme?