Agilní vývoj a nástroj Scrum

Pavla Sládková
DESIGN KISK
Published in
5 min readJan 18, 2023

Následující článek byl vypracován jako výstup z předmětu ISKM02 Design informačních služeb, rozhraní a interakcí.

Pojem design může být pro potřeby tohoto článku definován, jako kreativní a duševní činnost autora nebo kolektivu autorů. Kde tato činnost přináší určitá řešení formovaná podle potřeb klienta. Obecně je design vnímán jako inovační nástroj, který při svém fungování využívá, jak kreativní, tak technologické složky. V současnosti tak slouží jako klíčový prostředek pro vývoj či zdokonalování produktů nebo služeb.[1]

Agilní vývoj

Efektivního využití designu lze docílit mnoha metodami. V tomto článku bude pozornost věnována jednomu z nástrojů agilního vývoje, Scrumu. Agilní vývoj můžeme definovat jako metodu, která nám říká jak postupovat při hledání nejlepších designových řešení. Metodika agilního vývoje se vyvinula přirozeně a navazuje na tzv. vodopádový model, který přestal být dostačujícím. Nezvládal efektivně fungovat a reagovat na změny v průběhu vývoje designu produktu. Oproti němu v agilním vývoji, mohou být do designové metody pružně zapracovávány nové požadavky. Jedním ze základních principů pro dobrý agilní vývoj je úzká spolupráce mezi vývojářským týmem a klientem. A to například formou konzultací, tvorbou připomínek nebo průběžnými kontrolami. [2]

Scrum

Pro metodiku agilního vývoje jsou vytvářeny různé přístupy k designovým řešením. Nejčastěji využívaným přístupem je tzv. Scrum. Tento přístup k vývoji tvoří formální rámec, který napomáhá jednotlivcům nebo vývojářským týmům k vytváření hodnotných a adaptivních řešení pro složité problémy. Hlavní funkční a časovou jednotkou scramu je tzv. sprint, který tvoří rámec pro všechny procesy. Sprint obvykle probíhá v časovém úseku jednoho až čtyř týdnů, přičemž jednotlivé sprinty na sebe navazují.[3]

Příprava Sprintu

Začátku vývojového cyklu scrumu předchází plánování sprintu. Během průběhu přípravy sprintu je navržen plán, který bývá vytvořen všemi členy tzv. Scrum týmu. Přesněji do návrhu plánu zasahují všechny zúčastněné strany ve vývoji produktu. V tomto plánu jsou kolaborativně tvořeny odpovědi na následující témata.

Prvním důležitým tématem je určit, v čem spočívá hodnota a tedy i cíl následujícího sprintu. Je tedy důležitá komunikace mezi majitelem vyvíjeného produktu a scrum týmem, kde majitel komunikuje s týmem o svých návrzích pro zvýšení hodnoty a užitečnosti produktu v následujícím sprintu. Na základě těchto návrhů je týmem vytvořen cíl sprintu, který odráží cíle všech zúčastněných stran. Tento cíl musí být jasný před skončením plánování sprintu. Druhý bod řeší počet jednotlivých cílů, které můžou být v rámci sprintu zvládnuty. Práce v následujícím sprintu je určena naplánovanými úkoly. Tyto úkoly jsou pro sprint vybírány z produktového backlogu, kde jsou do programu sprintu zařazeny po komunikaci se zúčastněnými stranami. Ty si kladou za cíl, vybrat vhodné úkoly pro daný sprint ve splnitelném počtu, což se může ukázat jako náročné. V následujícím bodu je důležité určit, pro každý úkol z produktového backlogu, to jak bude rozdělen na jednotlivé části, které bude možné během průběhu sprintu splnit. Jednotlivé produktové backlogy, úkoly, tak jsou rozděleny na menší části, které bývají řešeny například jako jednodenní úkol. Toto bývá značně individuální. [3]

Pro proces plánování sprintu bývá v rámci měsíčního sprintu vyhrazeno maximálně osm hodin. Cíl sprintu, úkoly vybrané z produktového backlogu a plán pro jejich naplnění tvoří Sprintový backlog.

Produktový backlog

Produktový backlog může být definován jako souhrn potřeb, podle kterých je upravován vyvíjený produkt. Pro členy Scrum týmu tvoří produktový backlog seznam práce a úkolů, které se snaží naplnit. Položky v tomto produktovém backlogu bývají dynamické. To se projevuje tak, že položky zde mají tendenci zanikat, vznikat nebo se měnit v závislosti na momentálním zadání, cíly a práci zúčastněných stran. Souhrnně složky produktového backlogu vytváří produktový cíl. [4]

Sprintový backlog

Sprintový backlog může být definován jako soubor jednotlivých nevyřízených produktových backlogů vybraných pro aktuální sprint. Vytváří tedy přehledný plán, ve kterém je znázorněny cíle, které je potřeba splnit pro úspěšný průběh sprintu. Tento plán je vytvářen pro sprint týmem, který na něm bude pracovat. Pracují na něm jednak vývojáři a majitel produktu, tak zde mohou být pro posudek přizváni odborníci z oblasti vyvíjeného produktu, aby přinesli lepší přehled o jeho aktuální situaci. Hlavním cílem pro sprint je naplnit jeho cíl, tedy splnit vybrané nevyřízené položky produktového backlogu. [4]

Denní Scrum

Je to každodenní součást sprintu, která je adaptována do procesu vývoje jako prostředek pro komunikaci, rychlejší rozhodování a hodnocení dosavadním pokroku, který byl uskutečněn směrem ke splnění cíle. Scrum probíhá nejčastěji prostřednictvím krátkých schůzek, většinou trvajících okolo patnácti minut. Tyto akce bývají záměrně pořádány ve stejný čas a jednotným způsobem. Scrum je také jedinou částí sprintu, ve které můžou developeři upravovat svůj plán pro probíhající sprint. Existence scrumu značně redukuje počet schůzek, které v rámci sprintu vznikají, protože se ho účastní všichni členové developerského týmu. Další schůzky většinou svým obsahem na scrum navazují a zabývají se operativními řešení jednotlivých problémů, s odpovědnými členy týmu.[3]

Recenze Sprintu

Recenze sprintu bývá předposlední akcí v jednotlivém sprintu. Časově na tuto akci bývají vyhrazeny maximálně čtyři hodiny pro měsíční sprinty. Pro kratší sprinty bývá tato akce kratší. V této části sprintu členové scrum týmu prezentují výsledky své práce v uplynulém sprintu všem zúčastněným stranám. Cílem této akce je zkoumat výsledek uplynulého sprintu a nastínit budoucí úpravy a plány.[3]

Retrospektiva Sprintu

Jedná se o poslední akci v probíhajícím sprintu. Časově na tuto součást sprintu bývají vyhrazeny maximálně tři hodiny pro měsíční sprint. Pro sprinty kratší než jedem měsíc bývá na tuto akci vyhrazen kratší čas. Hlavním cílem pro tuto součást sprintu je zvyšování efektivity a kvality navazujících sprintů. Scrum tým kontroluje, jak probíhal uplynulí sprint s ohledem na jednotlivce, interakce, procesy, nástroje a naplnění jednotlivých segmentů produktového backlogu v průběhu sprintu. [3] Členům scrum týmu je tak umožněno identifikovat nejlepší změny pro zlepšení efektivity průběhu vývoje. Nejlepší návrhy jsou následně zakomponovány do následujícího sprintu.

Pro úspěšný průběh sprintu je důležité plánování. Proto předmětem jednotlivých sprintů je veškerá práce nezbytná k dosažení designového cíle, včetně plánování sprintu, denních scrumů, recenze sprintů a retrospektivy sprintu, které probíhají v rámci sprintů. Sprint má právo zrušit pouze vlastník produktu, nebo k němu může dojít, pokud se produkt probíhajícího sprintu stal zastaralým.

[1] CZECHDESIGN. Co je design a co design není? [online]. [cit. 15.12.2022]. Dostupné z: https://www.czechdesign.cz/temata-a-rubriky/co-je-design-a-co-design-neni

[2] THINKEASY. Co je agilní vývoj a proč ho používáme?[online]. [cit. 17.12.2022]. Dostupné z: https://thinkeasy.cz/co-je-agilni-vyvoj-a-proc-ho-pouzivame/

[3] Schwaber Ken a Jeff Sutherland. The Scrum Guide The Definitive, Guide to Scrum: The Rules of the Game[online]. [cit.20.12.2022]. Dostupné z: https://billlewistraining.com/wp-content/uploads/2017/02/PMP-Agile-Study-Materials.pdf

[4] Barbora, Moravcová. Čo je produktový backlog [online]. 2019 [cit. 25.12.2022]. Dostupné z: https://scrum.sk/blog/2019/04/08/co-je-produktovy-backlog/

--

--