Obsah
Metodiky vývoje (Agile, Scrum, BEM)
Úspěch softwarového projektu nezávisí pouze na kvalitě napsaného kódu, ale především na způsobu, jakým je projekt řízen a jak je kód strukturován. Moderní vývoj stojí na dvou pilířích: agilním řízení projektů a standardizaci zápisu kódu.
1. Agilní metodiky (Agile)
Agile není konkrétní návod, ale soubor principů definovaných v „Agilním manifestu“. Hlavním cílem je schopnost rychle reagovat na změny požadavků zákazníka, které v průběhu vývoje nevyhnutelně přicházejí.
Hlavní hodnoty Agile:
- Lidé a interakce mají přednost před procesy a nástroji.
- Fungující software je důležitější než vyčerpávající dokumentace.
- Spolupráce se zákazníkem je klíčová (zákazník je součástí procesu).
- Reagování na změny je přednější než striktní dodržování plánu.
—
2. Rámec Scrum
Scrum je nejpopulárnější implementací agilních principů. Rozděluje vývoj do krátkých časových úseků zvaných Sprinty (obvykle 1 až 4 týdny).
Role ve Scrumu:
- Product Owner: Vlastník produktu, který definuje priority (co má největší hodnotu pro byznys).
- Scrum Master: Kouč týmu, který odstraňuje překážky a dohlíží na dodržování procesů.
- Vývojový tým: Cross-funkční skupina lidí, která práci reálně vykonává.
Artefakty a rituály:
- Backlog: Seznam všech úkolů a funkcí, které je třeba vytvořit.
- Daily Stand-up: Krátká denní schůzka (15 min), kde se řeší, co se udělalo a co tým brzdí.
- Sprint Review & Retrospective: Na konci sprintu se ukáže hotová práce a tým hodnotí, jak zlepšit svou spolupráci.
3. Metodika BEM (Block, Element, Modifier)
Zatímco Agile a Scrum řeší *kdy* a *kdo* bude pracovat, BEM řeší, *jak* bude vypadat kód, aby se v něm nikdo neztratil. BEM je metodika pojmenovávání tříd v CSS, kterou vyvinul Yandex.
Struktura BEM:
BEM pomáhá vytvářet znovupoužitelné komponenty a zabraňuje konfliktům v kódování frontendu.
- Block (Blok): Samostatná, smysluplná entita (např.
menu,button,search-form). - Element (Prvek): Část bloku, která nemá samostatný význam (např.
itemv menu). Zapisuje se dvěma podtržítky:blockelement.. * Modifier (Modifikátor): Příznak, který mění vzhled nebo stav (např.red,disabled). Zapisuje se dvěma pomlčkami:block–modifierneboblockelement–modifier
Příklad v kódu:
<div class="card"> <h2 class="card__title">Název produktu</h2> <button class="card__button card__button--green">Koupit</button> </div>
4. Proč tyto metodiky kombinovat?
Propojení agilního řízení a striktní struktury kódu přináší:
- Škálovatelnost: Díky BEM může na CSS pracovat 10 vývojářů najednou, aniž by si přepisovali styly. Díky Scrumu může tým růst a stále doručovat výsledky.
- Předvídatelnost: Zákazník vidí výsledky každých 14 dní (konec sprintu).
- Udržovatelnost: Starý kód je díky BEM čitelný i po letech, protože z názvu třídy je jasné, kam patří.
Související články:
Tagy: dev agile scrum bem css project_management architecture
