Slovník pojmů

Při agilním vývoji se používá řada pojmů. Některé méně známé jsou vysvětelny v následujícím textu. Tyto pojmy byly mimo jiné použity ve výzkumu CZ Dev Radar 2024.

Feature Flag, také známý jako feature toggle nebo feature switch, je technika používaná ve vývoji softwaru k povolení nebo zakázání konkrétních funkcí nebo funkčnosti v aplikaci. Pomocí prvků příznaku mohou vývojáři uvést kód s novými funkcemi, které jsou skryty před uživateli, dokud nejsou připraveny k nasazení. Prvky příznaku umožňují postupné nasazování, A/B testování a schopnost rychle vypnout funkce, pokud se objeví problémy.

Test-Driven Development (TDD) je praktika ve vývoji softwaru, kdy vývojáři píší automatizované testy před samotným kódem. Proces zahrnuje vytvoření selhávajícího testu, napsání minimálního kódu potřebného k jeho úspěšnému provedení a následnou úpravu kódu. TDD pomáhá zajistit, že kód je důkladně otestován a nové funkce neporušují existující funkčnost.

Specification By ExampleSpecification By Example je spolupracující přístup k definování požadavků v agilních projektech. Zahrnuje vytváření konkrétních příkladů toho, jak by měl software fungovat. Tyto příklady slouží jako živá dokumentace a používají se k ověření, že software splňuje požadovanou funkčnost.

Feature Branch: Při používání feature branches se každá nová funkce nebo oprava chyby vyvíjí v samostatné větvi kódu. To umožňuje vývojářům pracovat na funkcích nezávisle, aniž by ovlivňovali hlavní větev kódu. Jakmile je funkce dokončena, sloučí se zpět do hlavní větve.

Architecture Decision Record (ADR) je dokument, který zachycuje důležitá architektonická rozhodnutí učiněná během vývoje. ADR poskytují kontext, zdůvodnění a kompromisy pro každé rozhodnutí, pomáhají týmům udržovat konzistenci a porozumět důvodu za architektonickými volbami.

Trunk-Based Development je praxe, při které všichni vývojáři pracují na jediné sdílené větvi (obvykle hlavní větvi). Časté integrace a kontinuální doručování jsou klíčovými aspekty tohoto přístupu. Podporuje malé, časté commity a minimalizuje dlouhodobé větve funkcí.

Párové programování zahrnuje spolupráci dvou vývojářů u jednoho počítače. Jeden píše kód (řidič), zatímco druhý jej kontroluje a poskytuje zpětnou vazbu (navigátor). Párové programování podporuje spolupráci, sdílení znalostí a lepší kvalitu kódu.

Mob Programming posouvá párové programování na vyšší úroveň a zapojuje celý tým. Tým pracuje společně na jednom úkolu a střídá se v roli řidiče. Mob programování podporuje kolektivní vlastnictví, přenos znalostí a rychlejší řešení problémů.

Scrum je agilní rámec pro řízení komplexních projektů. Klade důraz na iterativní vývoj, časově ohraničené sprinty a multifunkční týmy. Scrum zahrnuje role (např. Product Owner a Scrum Master), události (např. plánování sprintů a každodenní stand-upy) a artefakty (např. produktový backlog a sprintový backlog).

Kanban je vizuální metoda řízení, která pomáhá týmům optimalizovat pracovní postupy. Používá tabuli se sloupci představujícími různé fáze práce (např. to-do, probíhá, hotovo). Pracovní položky (karty) se pohybují po tabuli podle toho, jak postupují. Kanban podporuje kontinuální tok a omezuje rozpracovanou práci.

eXtreme Programming (XP) je metodika vývoje softwaru, která klade důraz na postupy, jako je vývoj řízený testy, kontinuální integrace, párové programování a časté vydávání nových verzí. Cílem XP je zlepšit kvalitu softwaru, schopnost reagovat na měnící se požadavky a týmovou spolupráci.

LeSS je rámec pro zjednodušování organizace, tak aby i ve větší velikosti mohla používat Scrum. Zjednodušuje role, artefakty a události, aby zachoval základní principy Scrumu a zároveň umožnil vývoj větších produktů.

Model Spotify je organizační struktura inspirovaná agilními postupy společnosti Spotify. Klade důraz na squads (týmy), chapters (funkční skupiny), guilds (komunity) a kmeny tribes (oddělení). Firma Spotify už model nepoužívá.

Scrum@Scale rozšiřuje principy Scrumu na vývoj rozsáhlých produktů. Poskytuje rámec pro koordinaci více týmů Scrum, zajištění souladu a poskytování hodnoty v rámci celé organizace.

Nexus je rámec pro škálování Scrumu speciálně pro vývoj softwaru. Zaměřuje se na integraci práce více týmů Scrumu do jednoho integrovaného přírůstku.

FAST Agile je zkratka pro Flow, Alignment, Stability a Transparency. Jedná se o přístup, který kombinuje agilní postupy a umožňuje vývoj ve velkých skupinách.