====== Agile (Agilní metodika) ====== **Agile** není konkrétní metoda, ale spíše soubor hodnot a principů popsaných v **Agilním manifestu** (2001). Tento přístup se zaměřuje na dodávání softwaru v malých, funkčních částech namísto jednoho velkého vydání na konci projektu. ===== Agilní manifest: 4 základní hodnoty ===== Agilní přístup upřednostňuje: 1. **Jednotlivce a interakce** před procesy a nástroji. 2. **Fungující software** před vyčerpávající dokumentací. 3. **Spolupráci se zákazníkem** před vyjednáváním o smlouvách. 4. **Reagování na změnu** před dodržováním plánu. ===== Jak funguje agilní cyklus? ===== Projekt je rozdělen na krátké časové úseky (iterace). Každá iterace je v podstatě "projekt v malém" a zahrnuje: * Plánování * Analýzu požadavků * Návrh a kódování * Testování * Hodnocení (Review) ===== Srovnání: Agile vs. Waterfall (Vodopád) ===== ^ Vlastnost ^ Waterfall ^ Agile ^ | **Požadavky** | Definované fixně na začátku. | Neustále se vyvíjejí. | | **Změny** | Velmi drahé a obtížné. | Jsou vítány i v pozdní fázi. | | **Riziko** | Vysoké (problém se zjistí až na konci). | Nízké (průběžné testování a ukázky). | | **Hodnota** | Dodána až v úplném závěru. | Dodávána průběžně po malých částech. | ===== Nejoblíbenější agilní rámce (Frameworky) ===== Agile je "střešní" pojem, pod který spadají konkrétní metody: * [[Scrum]]: Zaměřený na týmovou dynamiku a pevné cykly (sprinty). * [[Kanban]]: Zaměřený na vizualizaci toku práce a omezení rozpracovanosti (WIP). * **Lean:** Zaměřený na eliminaci plýtvání. * **Extreme Programming (XP):** Zaměřený na technickou kvalitu kódu (párové programování, TDD). ===== Výhody nasazení agilního přístupu ===== * **Spokojenost zákazníka:** Díky častým ukázkám dostává zákazník přesně to, co potřebuje. * **Kvalita:** Průběžné testování znamená méně chyb v konečném produktu. * **Morálka týmu:** Týmy jsou autonomnější a mají větší vliv na směřování projektu. * **Předvídatelnost:** I když se plán mění, tým má jasný přehled o tom, co je hotovo. --- > **Důležité upozornění:** Agile neznamená "chaos" nebo "absenci plánování". Vyžaduje naopak vysokou disciplínu a pravidelnou komunikaci mezi všemi stranami. //Související: [[Scrum]], [[Kanban]], [[DevOps]], [[Lean]]//