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

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

Řízení projektů Agilní metodiky vývoje softwaru. 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.

Podobné prezentace


Prezentace na téma: "Řízení projektů Agilní metodiky vývoje softwaru. 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."— Transkript prezentace:

1 Ří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: 1. nejrychlejšího vývoje 2. předložení zákazníkovi 3. zpětné vazby vedoucí k úpravě systému

5 Tradiční vs. agilní metodiky Tradiční Implementujeme pro dnešek, navrhujeme pro zítřek Agilní Implementujeme pro dnešek, navrhujeme pro úspěšnou implementaci funkcionalita časzdroje funkcionalita časzdroje 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ímu plnění 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á vazbaodvaha jednoduchost

13 Extrémní programování - činnosti Zásadní činnosti z pohledu vývoje testování návrhposlouchá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: 1. průzkum: vedení → tzv. uživatelské příběhy, technici → odhad náročnosti na zdroje a dobu 2. 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 "Řízení projektů Agilní metodiky vývoje softwaru. 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."

Podobné prezentace


Reklamy Google