Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Agilní metodiky vývoje softwaru

Podobné prezentace


Prezentace na téma: "Agilní metodiky vývoje softwaru"— Transkript prezentace:

1 Agilní metodiky vývoje softwaru
Řízení projektů Agilní metodiky vývoje softwaru

2 Důvody k zavádění nových metodik
Rozšířování komunity programátorů Zmenšování vývojových týmů Změna situace trhu se softwarem mnohem větší důraz na rychlost nasazení rostoucí podíl webových aplikací méně projektů na zakázku zákazník nemá přesnou představu o tom, co požaduje

3 Kvalita a rychlost Důraz na spojení se zákazníkem, člen týmu
Přímá a osobní komunikace v týmu Omezení doby na analýzu a návrh Důraz na implementaci (integrace a, n, i) Pravidelné vyvíjení prototypů Zpětná vazba Odvaha zapracovávat změny Snaha o jednoduchost Velmi důsledné a průběžné testování

4 Agilní metodiky - úvod Počátek: rok 2001 v Utahu Cíl: co nejrychlejší vývoj SW Průkopníci: Alistar Cockburn, Kent Beck, Ward Cunningham... prošli od malých po velké společnosti zažili krach projektu hledali příčiny neúspěchu špičkoví vývojáři Výsledek schůzky: založení Aliance pro agilní vývoj softwaru formulace Manifestu agilního vývoje softwaru Agilní metodika = skupina metod, které prověřují správnost systému cestou: nejrychlejšího vývoje předložení zákazníkovi zpětné vazby vedoucí k úpravě systému

5 Tradiční vs. agilní metodiky
Implementujeme pro dnešek, navrhujeme pro zítřek Agilní Implementujeme pro dnešek, navrhujeme pro úspěšnou implementaci funkcionalita čas zdroje funkcionalita čas zdroje fixní proměnné

6 Agilní metodiky - základní principy
Iterativní a inkrementální vývoj s velmi krátkými iteracemi Přímá a osobní komunikace v týmu Nepřetržité sepětí a komunikace se zákazníkem Rigorózní, opakované a průběžné automatizované testování Jediným spolehlivým nositelem informace je zdrojový kód

7 Manifest agilního vývoje softwaru
Základní teze: jedinou jistotou je změna, proto je nutné být na ni připraven přijmutí změny je mnohem efektivnější než snaha jí zabránit Preference: individualitám a komunikaci (před procesy a nástroji) provozuschopnému softwaru (před obsáhlou dokumentací) spolupráci se zákazníkem (před uzavíráním smluv) reakce na změnu (před striktním plněním plánu) Occamova břitva - jednoduchost: Neměla by být předpokládána existence více věcí, než jsou absolutně nezbytné.

8 Agilní metodiky - přehled
Extrémní programování (Kent Bect) Adaptivní vývoj softwaru (Jim Highsmith) Vlastnostmi řízený vývoj (Jeff De Luca, Peter Coad) Lean Development (Bob Charette) SCRUM Development Process (Ken Schwaber, Mike Beedle) Crystal Methodologies (Alistar Cockburn) Dynamic System Development Method (DSDM Consortium) Testy řízený vývoj (Kent Bect)

9 Extrémní programování (XP) - úvod
Vznik v roce 1999, autor Kent Beck Nejrozšířenější a nejznámější agilní metodiku Vhodná pro malé až střední týmy Jediným exaktním, změřitelným a nezpochybnitelným zdrojem informací je zdrojový kód

10 Extrémní programování - charakteristika
Modifikuje tradiční a přidává novou proměnnou: funkcionalita → šíře zadání (nezbytné + zbytné) zdroje → náklady čas kvalita Zákazník stanovuje hodnoty libovolných tří proměnných, vývojový tým zbývající čtvrtou Stanovení všech hodnot by vedlo k nízké kvalitě Členové týmu jsou méně specializovaní

11 Extrémní programování - principy
Jednoduchost Neustálá kontrola kódu Návrh – denně Architektura – stálé vylepšování Testování – všichni a průběžně, testují i zákazníci, integrace denně Krátké iterace – uvolňování SW po malých částech

12 Extrémní programování - hodnoty
XP se řídí čtyřmi hodnotami komunikace zpětná vazba odvaha jednoduchost

13 Extrémní programování - činnosti
Zásadní činnosti z pohledu vývoje testování návrh poslouchání psaní kódu

14 Extrémní programování - posloupnost kroků a fází
Vývoj softwaru je vždy rozvíjející se dialog mezi možným a žádoucím Plánovací hra: účastní se ji obchodníci (+ zákazník) i technici velmi hrubý a stručný plán, který se průběžně aktualizuje výstupem je plán verze Plán verze: definuje šíři zadání, tým, náklady a harmonogram výstupem jsou karty zadání Fáze plánovací hry: průzkum: vedení → tzv. uživatelské příběhy, technici → odhad náročnosti na zdroje a dobu závazek: vedení → šíře zadání a termín, technici → zaváží se ke splnění; výstupem jsou karty zadání Řízení: úpravy podle skutečného postupu

15 Extrémní programování - formality a přizpůsobení
Neortodoxní vztah k formalitám nedefinuje žádné dokumenty a mezníky základem je přímá komunikace nad zdrojovým kódem Nosiče informací: karty zadání (uživatelské příběhy) úkolové karty (konkrétní popis úkolů) nástěnka na pracovišti (základní architektura) smlouvy XP je lehkou metodikou velmi široké možnosti úprav přechod na XP postupně, řešením nejpalčivějšího problému (v iteracích)

16 Extrémní programování - shrnutí
Výhody: instinktivní práce (lidská přirozenost) iterativní a inkrementální způsob vývoje nelpění na formalitách, přímočarý postup k cíli flexibilní velice rozšířené Nevýhody: přechod z tradičních metodik myslet jednoduše a přiznat chybu přijmout odklon od individualismu Vhodnost: malé týmy podpora rychlé iterace a komunikace důvěra v lidi a změnu


Stáhnout ppt "Agilní metodiky vývoje softwaru"

Podobné prezentace


Reklamy Google