Sftwarvý prces Tmáš Krátký, Bhumír Zubek Tmas.kratky@prfinit.eu, @tmas_kratky bhumir.zubek@prfinit.eu, @BhumirZubek http://www.prfinit.eu/pr-univerzity/univerzitni-vyuka.html
1 Úvd
Základní pjmy Sftwarvý prces Mnžina aktivit ptřebných k vývji sftware Vždy je ptřeba udělat Specifikaci c bude systém dělat Architekturu a design z jakých kstek a jak se bude systém skládat Implementaci vlastní výrba systému Validaci věření, že systém dělá c má Další rzvj úpravy systému na základě měnících se pžadavků Mdel sftwarvéh prcesu (sftware prcess mdel) Ppis sftwarvéh prcesu z určité perspektivy Sftware prcess imprvement Ladění a vylepšvání prcesu 3
Dle plánu neb agilně? Plánvaný sftwarvý prces (plan-driven) Aktivity jsu plánvány dpředu Pkrk je měřen prvnáním stavu a plánu Větší režie v případě změn Agilní sftwarvý prces Plánvání je jen p malých částech Snadné změny kurzu v případě změn pžadavků zákazníků Typický prces v Prfinitu bsahuje Plánvané aktivity Prvky agilníh přístupu 4
2 Mdely sftwarvéh prcesu
Waterfall Oddělené fáze Analýza pžadavků Design Implementace Testvání Prvz a údržba Výhdy Jasně definvaný plán Predikvatelnst (čas, rzsah, cena) Snadná krdinace práce Nevýhdy Nutn chápat c se chce již na začátku Reakce na změny (pžadavků, termínů,...) Rychlst ddávky (kdy zákazník něc uvidí d zadání) 6
Iterativní Změny prti vdpádu Něklik verzí systému Jedntlivé verze se dělají vdpádem Výhdy Jasně definvaný plán Predikvatelnst (čas, rzsah, cena) Snadná krdinace práce Zákazník má přístup k verzím/prttypům, čili vidí c dstane Nevýhdy Nutn chápat c se chce na již začátku, mžné změny d dalších verzí Reakce na změny (pžadavků, termínů,...) Lepší než vdpád, ale změny nejsu ddány rychle Rychlst ddávky (kdy zákazník něc uvidí d zadání) 7
Agilní (Scrum apd.) 8
Princip
2 Mdely z různých phledů
Flexibilita Flexibilita Reakce na změny Rychlst a náklady Vdpád Velmi nepružný Vyské náklady Iterativní Lze zakmpnvat změny d další iterace Náklady nižší než u vdpádu Agilní Snadné, čekávají změny Náklady na změny velmi nízké 11
Predikvatelnst Predikvatelnst Vím, c dstanu Kdy Klik mě t bude stát Vdpád Vyská, jedeme dle plánu Iterativní Vyská, máme plán Agilní Nízká, plán jen na krátké bdbí Víme tedy jen c dstaneme např. během dalšíh sprintu 12
Architektura a design Architektura a design Dbře navržený systém Knzistentní ddržvání principů návrhu Vdpád Vyská Iterativní Vyská Rizik zanesení prblémů při dalších iteracích Agilní Nízká Rizik zanesení prblémů při každém sprintu 13
Implementace Implementace Prstr pr ddání kvalitníh díla Pžadavky na prgramátry Vdpád Kvalitní, dst prstru pr QA Revize, cding standards,... Iterativní Kvalitní, dst prstru pr QA Revize, cding standards,... Rizik zanesení prblémů při dalších iteracích Agilní Nutný kvalitní tým, může být prblematická Rizik nekvalitní práce, když není prstr na revize 14
Dkumentace Dkumentace Mám kvalitní a knzistentní dkumentaci systému Vdpád Typicky OK Iterativní Nutn ddržet napříč verzemi (jedna pravda či více verzí?) Agilní Nízká Obtížné udržvat napříč sprinty 15
Splupráce se zákazníkem Pžadavky na sučinnst Jak mc a čast se musí zákazník pdílet na prjektu Vdpád neb iterativní V přesně definvaných kamžicích Lze dbře plánvat Agilní V průběhu celéh prjektu Velké rizik selhání, pkud nebude 16
Smluva na ddávku Smluva na ddávku díla Lze mdel využít pr ddávku FTFP? Vdpád An Iterativní An, nutn šetřit rzsah verzí Agilní Ne, pžadavky nejsu dpředu známy Aktuální mdely fungvání nákupu tmu nejsu naklněny 17
3 Který mdel vybrat?
Který vybrat? Vdpád Téměř nepužíváme pr již uvedené typy prjektů (jen pr menší změny) Iterativní Nejčastěji pužívaný pr většinu systémů našich zákazníků Jak iniciální rzvj tak údržba Predikvatelnst důležitější než flexibilita Lze na velké systémy Agilní (vývj neb ddávky?) Prduktvý vývj Vývj v rámci firmy, kde je jasná chta lidí se na tm pdílet Spíše na menší prjekty neb na některé části prcesu (např. jen vývj) 19
Věci ke zvážení Systém Typ a velikst Očekávaná živtnst systému Tým ddavatele Znalsti a zkušensti týmu Schpnst pracvat agilně Agilně Ne vždy a ne všechn Nesmí být zástěrku pr chas 20
4 Příklady prcesu
Iterativní Cre systém Iterativní prces ddávky systému na zelené luce (3 verze) Iterativní prces údržby Ukázka harmngramu Online systém sjednání pjištění Iterativní Ukázka harmngramu Internetvé bankvnictví Iterativní 4 release rčně Paralelně práce na až 3 release Ukázka 22
Ne-agilní Vývj internetvéh bankvnictví 2 prblematické prjekty Nejasné/nepřipravené zadání Nedělají se dhady Neexistující dkumentace Sptřeba MD mnhem větší, než byl třeba (2-5x) Cre systém pr pjišťvnu Aplikace agilníh přístupu i na analýzu v rámci údržby Omezení na délku Scrum sprintu, když nejde rzdělit na menší části 23
Vlba správnéh prcesu http://ft.mapy.cz/10380-nedknceny-mst
5 Zlepšvání prcesu
Základní kncept PDCA mdel (Deming cycle) Plan Prvěřit sučasnu výknnst Psudit prblémy, mezení Navrhnut řešení Naplánvat prvedení D Otestvat účinnst řešení Check Zhdntit výsledky testu Psudit dsažení výsledků Zaměřit se na překážky bránící zlepšení Act Rzpracvat knečné řešení, aby byl kdekli pužitelným přístupem 26
Mnh přístupů 27
Základní přístupy Základní varianty Systematický, dluhdbý přístup ISO, CMM, CMMI, (prescriptive) SEL/NASA, (inductive) Best practices 28
Rdina ISO 9000 ISO 9001:2008 Pžadavky na Quality Management System Standard ISO/IEC 90003:2004 Návd pr aplikaci ISO 9001 na SW 29
CMM 30
CMMI Nástupce staršíh CMM 5 úrvní, 22 key prcess areas (KPA) Staged vs. Cntinuus 3 různé mdely Develpment, Acquisitin, Services 31
SEL / NASA Základní premisa Vývjvá rganizace musí úsilí zkvalitňvání zaměřvat na zamezení minulých prblémů a pakvání minulých úspěchů. 32
SPMN best practices Reakce na prblémy se zvládáním velkých prjektů Přím pužitelné strategie, techniky a praktiky SPMN bks (nutná registrace) 33
Shrnutí Je třeba: znát sučasný stav vlastníh prcesu vývje a jeh charakteristiky znát prblémy s eknmickým prjevem a jejich vážnst mít názr, které prblémy je nutné a mžné dstranit mít názr, jak mdifikvat prces vývje mít prstředky, jak tut mdifikaci prsadit... a znvu na začátek 34
6 Sftwarvý prces v praxi
Schematický phled Prsazvání SP Publikvaná zkušenst Definice SP Praktikvání SP Supervize SP 36
Definice SW prcesu Prsazvání SP Publikvaná zkušenst Definice SP Praktikvání SP Supervize SP 37
Základní kncept Zavést nvý element prcesu puze když je identifikván prblém, jedná se vážný prblém (určitým způsbem), element prcesu byl úspěšně zaveden a prvěřen na úrvni prjektu. Způsby definice Minimální praktiky minimální a kmpaktní sada becných pravd, které jsme identifikvali jak relevantní pr nás půvdně nejmenší splečný jmenvatel všech závažných prblémů v naší rganizaci checklist, kmentáře, pznámky, gdies Plitiky (plicies) snaha nepakvat prblematické věci, kterým lze snadn zabránit, stále dkla jednduché textvé subry v direktivní frmě Standardy netypické, vznikají puze ve výjimečných případech 38
Praktikvání SW prcesu Prsazvání SP Publikvaná zkušenst Definice SP Praktikvání SP Supervize SP 39
Praxe ve zkratce Prject centered Tailring SW prcesu pr prjekt Individuální pstupy na úrvni prjektu CVS, SVN, Bugzilla Histrie prjektu, hlavní stránka prjektu Sledván využití zdrjů, základní měření Sledvány rizika, prblémy Finanční tabulka Individuální zapjení jedinců Kariérní řád Pravidelné, strukturvané revize prjektů 40
Supervize SW prcesu Prsazvání SP Publikvaná zkušenst Definice SP Praktikvání SP Supervize SP 41
Frmy supervize Pravidelné revize zákaznickéh týmu revize znalstí SAMa revize využívání zdrjů a plánvání individuální revize knkrétníh prjektu identifikace znvupužitelných věci, nápadů, Pravidelné revize prjektů Finanční tabulka CVS / SVN Bugzilla (defekty, issues, změnvá řízení, ) Interní systém se základními metrikami pr pracnst 42
Prsazvání SW prcesu Prsazvání SP Publikvaná zkušenst Definice SP Praktikvání SP Supervize SP 43
Způsby prsazvání Kariérní řád (terie, praxe, prces) Šklení, dbrné zdrje Přiřazení lidí k práci Plánvání zdrjů Přezkumání (např. zdrjvéh kódu) Prces schvalvání nabídek Intranetvé stránky Úterky 44
Big picture 45
Charakteristiky prcesu Kvantitativní Chybvst 2 chyby / 1KSLOC Prduktivita 14 17 SLOC / MH Praktické Ddržvání termínu je standard Kntrahvaná pracnst dpvídá vynalžené Zákazníci si nestěžují, resp. explicitně ceňují kvalitu Kvalitativní ISO 9000-1 Nejsu prblémy s termíny, kvalitu, vlastnstmi systému. 46
Náklady Přímé SEPG 2 % Review maximálně 0,5 % Úterky maximálně 1,2 % Revize maximálně 0,25 % Nepřímé Kariérní pstupy, Objectives, Čím více je t nrmální, tím méně t stjí extra vykazatelnéh času! 47
6 Další materiály
http://www.prfinit.eu/pr-univerzity/univerzitni-vyuka/materialy-sweng/sweng-prject-prcess.html 49
Děkujeme za pzrnst Prfinit, s.r.., Tychnva 2, 160 00 Praha 6 Tel: +420 224 316 016, www.prfinit.eu