Scrum

Dnes sa bližšie pozrieme na populárnu agilnú metodológiu, ktorá sa nazýva Scrum. Ide o vysoko efektívny spôsob riadenia vývoja softvérových produktov, a vďaka podpore spolupráce, posilňovaniu tímovej zodpovednosti a orientácii na doručovanie hodnoty, sa rozširuje aj do mnohých ďalších odvetví.

Čo je Scrum?

Scrum je vo svojej základnej podobe metóda agilného riadenia, ktorá uľahčuje tímovú spoluprácu na zložitých úlohách. Ide o flexibilnú stratégiu vývoja produktov, kedy tím pracuje ako celok na plnení spoločného cieľa.

Najčastejšie sa Scrum používa v oblasti vývoja softvéru, ale jeho princípy a poznatky je možné aplikovať na rôzne druhy tímovej práce. Scrum je súčasťou širšieho agilného myslenia založeného na 12 princípoch, ktoré kladú dôraz na flexibilitu, spoluprácu, spätnú väzbu od klientov a malé, rýchle iterácie, na rozdiel od tradičných dlhých vývojových cyklov.

Scrum podporuje flexibilné plánovanie, evolučný prístup k vývoju, včasné dodanie, neustále zlepšovanie a pružné reakcie na zmeny. Ide o špecifický súbor postupov pre uplatňovanie agilného prístupu.

Aké sú v Scrume roly?

Poďme sa najskôr pozrieť na niektoré kľúčové pojmy a koncepty, ktoré robia Scrum tým, čím je. Ústrednou súčasťou Scrumu je Scrum tím zložený z Product Ownera, Scrum Mastera a vývojárov. Každý člen tímu zohráva kľúčovú úlohu pre úspešný vývoj produktu.

Product Owner má za úlohu riadiť produktový backlog, ktorý obsahuje všetky položky na vývoj, a objasňovať ho tímu. Nerobí ale len to. Mal by mať jasnú produktovú víziu a vlastnú zodpovednosť za tvorbu produktovej stratégie. Mal by sa tiež aktívne zaujímať o situáciu na trhu, intenzívne komunikovať s používateľmi a premietať ich potreby do backlogu. Vďaka tomu je pre tím cenným zdrojom informácií.

Scrum Master má oproti tomu na starosti správne dodržiavanie metodológie a asistenciu pri riešení prípadných prekážok. Jeho rola spočíva v riadení efektivity, zodpovednosti a sebariadení tímu.

Vývojový tím je v Scrume zodpovedný za premenu položiek backlogu na funkčné časti produktu. Jedná sa o sebaorganizovanú a multifunkčnú skupinu jednotlivcov, ktorí majú potrebné zručnosti a odborné znalosti pre dodanie výstupu. Tím sa obvykle skladá z vývojárov, dizajnérov, testerov a ďalších rolí potrebných na dokončenie práce.

Jedným z kľúčových princípov vývojového tímu v Scrume je jeho sebaorganizácia.
Členovia tímu kolektívne rozhodujú o tom, ako najlepšie vykonať prácu, namiesto toho, aby boli riadení manažérom alebo externou autoritou. Táto autonómia umožňuje tímu rýchlo sa prispôsobovať a reagovať na zmeny, podporuje kreativitu a tímovú zodpovednosť.

Ako to funguje?

Základnou časovou jednotkou Scrumu je šprint. Ide o pevne stanovené obdobie (1–4 týždne), kedy tím vyvíja a dodáva konkrétne položky produktového backlogu. Tím spoločne s Product Ownerom definuje cieľ šprintu, a potom sa zaviaže k jeho realizácii počas plánovania šprintuCieľ šprintu poskytuje jasný smer pre snahu vývojového tímu.

Tu sa vyberajú konkrétne položky produktového Backlogu, ktoré vedú k definovanému cieľu. Rýchlosť práce vykonanej tímom v uplynulých šprintoch pomáha tímu vybrať práve toľko práce, koľko je skutočne schopný realizovať.

Každý deň šprintu tím definuje, čo treba urobiť, aby bol splnený cieľ šprintu. Toto malé denné plánovanie sa nazýva Daily Scrum.

Definition of Done stanovuje kritériá, kedy je položka považovaná za hotovú. Po každom šprinte sa vykonaná práca a backlog vyhodnotia v rámci šprint review. Účelom revízie je získať spätnú väzbu k pripravenej práci a upraviť plány alebo položky backlogu pre ďalší šprint.

Retrospektíva pomáha identifikovať možné zlepšenia pre ďalšie šprinty. Je veľmi dôležité, aby tím neopakoval rovnaké chyby a pracoval čo najefektívnejšie. Je to prax hľadania príležitostí na zlepšenie spolupráce, osobnej zodpovednosti a sebaorganizácie v tíme i mimo neho.

Pre Scrum je zásadný priebežný vývoj a rozšírenie produktu po každom šprinte tak, aby bolo možné na novinky rýchlo získať spätnú väzbu. Cieľom je ukázať hotovú časť produktu používateľom (alebo ich zástupcom) a zistiť, či je tím na správnej ceste a či úsilie skutočne zodpovedá používateľským potrebám.
Efektívnym využitím týchto prvkov môžu tímy zlepšiť spoluprácu a hodnotne rozširovať produkt. 

Prečo je Scrum populárny?

Existuje mnoho dôvodov, prečo sa mnoho tímov rozhodlo využívať Scrum. Jedným z nich je, že zvyšuje produktivitu. Robí to tak, že komplikované úlohy rozdeľuje na lepšie zvládnuteľné časti, čo členom tímu uľahčuje ich efektívne vybavenie a rýchlejšie získanie spätnej väzby.

Okrem toho Scrum zaručuje vyššiu kvalitu výsledkov vďaka pravidelným iteráciám s používateľmi či zainteresovanými stranami. Systém tiež zaisťuje včasné odhalenie chýb a ich rýchlu nápravu.

A napokon, Scrum posilňuje morálku tímu: podporuje spoluprácu a dáva tímu možnosť riadiť svoju prácu, čo vo výsledku podporuje pozitívnejšie a konštruktívnejšie pracovné prostredie.

Autor: Anita Bak