Co je to scrum a jaké jsou scrum ceremonie
Scrum je agilní metodika, která by členům týmu i projektu samotnému měla ulehčit život. V čem jsou výhody a proč by ti scrum neměl být cizí?
V článku Jak se stát software testerem jsme popsali, co tahle oblast IT vůbec obnáší a čemu se v ní budeš věnovat. Co ale potká člověka, který se testerem stane?
Testing je třeba naplánovat, ostatně jako zbytek projektu. Nemůžeš testovat, dokud není software vyvinutý, a nemůžeš vyvíjet, pokud neznáš podmínky a požadavky klienta. S tím pomohou předchozí zkušenosti a vypilované praktiky a procesy. Nejvíce aplikovanou metodikou současnosti je scrum. Tak se na ni pojďme podívat blíže.
Co je to ten scrum?
Scrum je agilní metodika, která by členům týmu i projektu samotnému měla ulehčit život oproti waterfallovým (vodopádovým) postupům. Často se můžeš setkat taky s popisem „iterativní“ či „inkrementální“.
- Inkrementální – dosahování cíle po kouscích (skládání částí do celku)
- Iterativní – opakovaný proces (doslova opakování)
Scrum se řídí agilními principy, určuje role v týmu, aplikuje ceremonie a postupy, které drží týmy v běhu. Scrum je efektivní a při úspěšné implementaci šetří čas, který bychom při vodopádovém způsobu práce plýtvali na opravy projektu, na němž jsme strávili třeba rok.
Agile je přece jen soupis zásad a instrukcí, ne 100% závazná směrnice. Proto se scrum může lišit společnost od společnosti. Někde se setkáš s iteracemi (sprinty) o délce 1 týdne, někde se 2 týdny a jinde to bude klidně měsíc.
Víc informací o agilním přístupu se taky dozvíš v záznamu našeho webináře. 😉
Scrum ceremonie
Sprint planning
Při sprint planningu se sejde celý tým, aby členové mohli prodiskutovat úkoly a projekty, které mají v backlogu. Projekty a úkoly se zpracovanou dokumentací a nejvyšší prioritou se přesunou do týmového backlogu (může být společný backlog pro několik spolupracujících týmů, které si postupně přetahují úkoly k sobě) za předpokladu, že nevyžadují více kapacity, než má daný tým dostupný na nastávající sprint. Tým musí rozumět obsahu a hloubce jednotlivých úkolů, všichni musí odsouhlasit obsah práce, kterou tým přijímá.
Stand-up
Celý tým se každý den (nejlépe ráno) sejde, aby bylo možné nasdílet si info k aktuální situaci a postupu týmu. Probere se, co předchozí den členové týmu splnili, co je případně blokovalo a jaká náplň práce je na programu dnes. Kolegové se tak dozví o dění ve zbytku týmu a mohou včas zareagovat, pokud mají navazující problémy nebo vědomosti a kapacitu k nabídnutí.
Stand-up (či denní scrum meeting) by neměl překročit 10–15 minut. Název je odvozený od teorie, že ranní meetingy by měl probíhat ve stoje, aby lidi zbytečně obsáhle nerozváděli zbytečné detaily. 🙂
Iteration review
Při revizi sprintu se obvykle vyhodnocují výsledky, jakých daný tým dosáhl (či nedosáhl) a představuje se demo nových částí projektu. Klient je často součástí review ceremonie – má možnost se vyjádřit a požádat o změnu, pokud se nově dodaný produkt neshoduje s požadavky a představami. Tester může být požádán o dodání/nahrání demo materiálů.
Retrospective/Retrospektiva
Jak už název prozrazuje, jde o ceremonii, kde se ohlížíme zpět na uplynulý sprint. Je třeba vyhodnotit, co se týmu podařilo, a zapracovat na udržování těchto dobrých a efektivních pracovních návyků. Je nezbytné identifikovat procesy a metody, které selhaly nebo vedly k problémům. Je taky dobré probrat návrhy na řešení jednotlivých problémů a nastavit si priority, pokud se problémů ve sprintu objeví více. Účelem této ceremonie je odstranit překážky do budoucna a vytvářet lepší a stabilnější prostředí pro tým.
Backlog refinement
Můžeš se setkat i s pojmem backlog grooming (od kterého se postupně upouští). Tuto ceremonii má na starosti product owner, měl by však svůj postup konzultovat se zbytkem týmu. Experti z daného týmu budou mít lepší vhled na požadavky či hloubku úkolu, který se připravuje v backlogu na zpracování. Zkušený PO by měl vědět, konzultace však nikdy není na škodu a vyhneme se tak nechtěnému houbovému efektu, kdy se z úkolu na jeden pracovní den stane problém na týden pro 2 lidi.
Tester jako nedílná součást týmu
Jak vidíš, bez testera to v týmech často nemůže fungovat a tester má slovo i určité postavení v každé z ceremonií. Testing by tak ideálně neměl být na konci řetězce, jako by tomu bylo u vodopádového přístupu. Může totiž dodávat postřehy a zkušenosti průběžně a informace také plynou oboustranně – od týmu k testingu – mnohem dříve.
S jakými druhy testů se můžeš setkat?
Statické testování
- Jde o část projektu, kdy se tester i developer dostávají k dokumentaci. Samotným čtením dokumentace tester analyzuje/testuje požadavky.
- Dává dokumentace smysl? Neprotiřečí si požadavky? Jsou požadavky dostatečně specifické, nebo dávají prostor pro odhady?
Párové programování
- Probíhá už při samotném vývoji softwaru
- V drtivé většině prováděno developery
Smoke testy
- Kontrola aplikace ve které se projekt nachází
- Jde nainstalovat? Jde spustit?
Integrační testy
- Spolupracuje aplikace A s aplikací či modulem B jak je třeba?
Funkční testy
- Všechny funkce dodány?
- Pracují funkce jak mají?
- Dodali jsme produkt podle požadavků klienta?
Akceptační testy
- Odpovídá produkt zadaným kritériím?
- Je možné dodat produkt ve stávajícím stavu?
Regresní testy
- Produkt/projekt jsme dodali – nezhroutila se aplikace samotná?
- Fungují stávající funkce bez problému?
A to je pro tentokrát vše
S pojmy jako je scrum se v IT rozhodně potkáš, a tak jsme rádi, pokud jsme ti prostřednictvím tohoto blogu mohli vysvětlit, o co jde a jakou roli scrum v různých procesech hraje. Pokud tě celkově zajímá oblast software testingu, pak sleduj Termíny – pravidelně vypisujeme kurz zaměřený právě na toto téma. 😉
Tento článek jsme napsali společně s profíky z firmy
KBC je parta mladých lidí, kterou tvoří jak absolventi, tak seniorní ajťáci. Pracují téměř na všem, co souvisí s bankovnictvím a financemi, ale i na aktivitách, které by člověk očekával méně – testování bankovních aplikací nebo robotika. Pokud tě zajímá, koho právě hledají, mrkni na jejich web.