====== Metodiky vývoje (Agilní vývoj, Scrum, Kanban) ====== Metodiky vývoje softwaru definují procesy, role a nástroje používané k plánování, vytváření a testování informačních systémů. Zatímco v minulosti převládaly rigidní postupy, dnešní standard představuje **Agilní manifest** (Agile Manifesto). ===== 1. Tradiční vs. Agilní přístup ===== ==== Waterfall (Vodopádový model) ==== Projekt je rozdělen na sekvenční fáze (Analýza -> Návrh -> Vývoj -> Testování -> Provoz). Každá fáze začíná až po dokončení té předchozí. * **Nevýhoda:** Pokud se na konci zjistí, že zákazník chtěl něco jiného, změna je extrémně drahá. ==== Agilní vývoj (Agile) ==== Místo jedné velké dodávky na konci se software dodává v malých, funkčních kouscích v pravidelných intervalech. * **Klíčové hodnoty:** Lidé a interakce nad procesy, fungující software nad dokumentací, spolupráce se zákazníkem nad vyjednáváním o smlouvách. --- ===== 2. Scrum: Rámec postavený na sprintech ===== Scrum je nejpoužívanější agilní rámec. Práce je organizována do fixně dlouhých cyklů (typicky 2–4 týdny) zvaných **Sprinty**. ==== Klíčové role ve Scrumu: ==== * **Product Owner:** Zastupuje zákazníka, určuje priority a spravuje **Product Backlog** (seznam úkolů). * **Scrum Master:** Pomáhá týmu dodržovat pravidla Scrumu a odstraňuje překážky (blokátory). * **Development Team:** Skupina odborníků (vývojáři, testeři, designéři), která skutečně vytváří produkt. ==== Ceremonie (Události): ==== * **Sprint Planning:** Tým si vybere úkoly, které stihne v příštím sprintu. * **Daily Stand-up:** Každodenní 15minutová schůzka – co jsem udělal, co budu dělat, co mě blokuje. * **Sprint Review:** Předvedení hotové práce zákazníkovi. * **Sprint Retrospective:** Interní debata týmu o tom, co v procesu fungovalo a co zlepšit. --- ===== 3. Kanban: Vizualizace a plynulost ===== Kanban (japonsky "karta" nebo "cedule") pochází z výroby v Toyotě. Zaměřuje se na vizualizaci práce a omezení rozpracovanosti (WIP - Work In Progress). ==== Principy Kanbanu: ==== * **Kanban Board:** Tabule rozdělená na sloupce (typicky: *K udělání*, *Probíhá*, *Hotovo*). * **WIP Limity:** Omezení počtu úkolů, které mohou být v jeden moment v určitém sloupci. To nutí tým úkoly dokončovat, než začne nové. * **Průběžné doručování:** Na rozdíl od Scrumu nemá Kanban pevné sprinty; úkoly se doručují, jakmile jsou hotové. --- ===== 4. Další agilní pojmy ===== * **Backlog:** Seznam všech požadavků, nápadů a oprav, které čekají na realizaci. * **User Story:** Úkol zapsaný z pohledu uživatele (např. *"Jako uživatel se chci přihlásit pomocí e-mailu, abych mohl nakupovat"*). * **MVP (Minimum Viable Product):** Verze produktu s nejmenším možným počtem funkcí, která je však schopna plnit svůj účel a sbírat zpětnou vazbu. --- ===== 5. Srovnání: Kdy co zvolit? ===== ^ Metodika ^ Vhodná pro ^ Styl práce ^ | **Scrum** | Komplexní projekty s jasným cílem. | Iterativní (sprinty). | | **Kanban** | Podpora, údržba, týmy s proměnlivou prioritou. | Kontinuální tok. | | **Waterfall** | Krátké projekty s fixním zadáním a rozpočtem. | Lineární. | ---- //Související články:// * [[it:dev:ui_ux|Základy UI a UX designu (Spolupráce s týmem)]] * [[it:dev:git|Verzování kódu (Git)]] * [[it:dev:testing|Testování softwaru a QA]] //Tagy: {{tag>dev agile scrum kanban project_management product_owner sprint}}//