Základní průvodce pro Scrum: Pravidla hry

Listopad 2017

Vytvořený a udržovaný tvůrci Scrumu: Kenem Schwaberem a Jeffem Sutherlandem

Obsah

  • ÚČEL PRŮVODCE SCRUMEM
  • DEFINICE SCRUMU
  • POUŽITÍ SCRUMU
  • TEORIE SCRUMU
    • TRANSPARENTNOST
    • PŘEZKOUMÁVÁNÍ (z angl. INSPECT)
    • ADAPTACE (z angl. ADAPT)
  • SCRUMOVÉ HODNOTY
  • SCRUMOVÝ TÝM
    • PRODUCT OWNER
    • VÝVOJOVÝ TÝM
      • Velikost vývojového týmu
    • SCRUM MASTER
      • Scrum Masterova pomoc Product Ownerovi
      • Scrum Masterova pomoc vývojovému týmu
      • Scrum Masterova pomoc v rámci celé organizace
  • SCRUMOVÉ CEREMONIE
    • SPRINT
      • Zrušení sprintu
    • SPRINT PLANNING
      • První téma: Co může být vytvořeno během sprintu?
      • Druhé téma: Jak bude naplánovaná práce provedena?
      • Cíl sprintu (z angl. Sprint Goal)
    • DAILY SCRUM
    • SPRINT REVIEW
    • SPRINTOVÁ RETROSPEKTIVA
  • SCRUMOVÉ ARTEFAKTY
    • PRODUKTOVÝ BACKLOG
      • Monitoring postupu směrem k cíli
    • SPRINTOVÝ BACKLOG
      • Monitoring průběhu sprintu
    • PŘÍRŮSTEK (z angl. INCREMENT)
  • TRANSPARENTNOST ARTEFAKTŮ
    • DEFINICE TOHO, CO JE „HOTOVO“ (z angl. DEFINITION OF „DONE“)
  • ZÁVĚR
  • PODĚKOVÁNÍ
    • LIDÉ
    • HISTORIE
  • SLOVNÍČEK POJMŮ K ČESKÉMU PŘEKLADU

ÚČEL PRŮVODCE SCRUMEM

Scrum je rámec pro vývoj, doručování a údržbu komplexních produktů. Vámi čtený text obsahuje jeho definici, která se skládá ze vzájemně provázaných scrumových rolí, ceremonií, artefaktů a pravidel. Ken Schwaber a Jeff Sutherland jsou autory Scrumu i tohoto textu.

DEFINICE SCRUMU

Scrum (n): rámec, díky němuž se lidé mohou zabývat složitými adaptivními problémy, zatímco produktivně a kreativně doručují výrobky té nejvyšší možné hodnoty.

Scrum je:

  • Stručný,
  • Snadno pochopitelný,
  • Obtížný, když ho chcete plně ovládnout.

Scrum je procesní rámec, který byl od počátku 90. let používán k řízení práce na složitých produktech. Nejedná se o proces, techniku ani definitivní metodu. Je to spíše rámec, v němž můžete využít různé procesy a techniky. Scrum objasňuje relativní efektivnost řízení produktů a pracovních postupů tak, abyste mohli neustále vylepšovat produkt, tým i pracovní prostředí.

Scrum se skládá ze scrumových týmů a jim přidružených rolí, ceremonií, artefaktů a pravidel. Každá součást slouží svému specifickému účelu a je nezbytná pro úspěch a použití Scrumu.

Pravidla Scrumu k sobě vážou role, ceremonie a artefakty a řídí vzájemné vztahy a interakce mezi nimi. Tato pravidla jsou popsána v celém textu tohoto dokumentu.

Specifické způsoby používání Scrumu se liší a jsou popsány v jiných publikacích.

POUŽITÍ SCRUMU

Scrum byl původně vyvinut pro řízení a vývoj produktů. Od počátku 90. let se celosvětově intenzivně využívá zejména pro:

  1. Výzkum a identifikaci životaschopných trhů, technologií a produktových možností;
  2. Vývoj produktů a jejich vylepšení;
  3. Vydávání produktů a jejich vylepšení, a to tak často, kolikrát je v jednom dni možné;
  4. Vývoj a údržbu Cloudu a dalších operativních prostředí pro produktové použití;
  5. Údržbu a obnovu produktů.

Scrum se používá k vývoji softwaru, hardwaru, sítí interaktivních funkcí, autonomních vozidel, škol, vlády, marketingu, řízení provozu organizací a téměř všeho, co používáme jako jednotlivci i společnost v našem každodenním životě.

S ohledem na rychlý vývoj technologií, tržní a environmentální komplexnosti a jejich vzájemné působení se užitečnost Scrumu při řešení různých komplikací osvědčuje na denní bázi.

Scrum se ukázal jako obzvláště efektivní v iterativním a inkrementálním předávání vědomostí. Scrum je nyní široce využíván pro produkty, služby a řízení mateřských organizací.

Podstatou Scrumu je malý tým lidí. Takový tým je vysoce flexibilní a přizpůsobivý a tyto silné stránky jsou zachovány stejně tak v jednom jako v několika, či mnoha týmech, nebo i v celých sítích týmů, které společně vyvíjejí, vydávají, provozují a udržují práci a výsledky práce tisíců lidí. Spolupracují prostřednictvím sofistikované vývojové architektury a cílových prostředí pro vydávání produktů.

Když se v Průvodci Scrumem používá slovo „vývoj“, je tím myšlen komplexní typ práce, jako jsou ty, které byly identifikovány výše.

TEORIE SCRUMU

Scrum je založen na teorii empirického řízení procesů neboli empirismu. Dle empirismu, vycházejí znalosti ze zkušeností a rozhodovat bychom se měli na základě toho, co je známo. K optimalizování předvídatelnosti a k řízení rizika Scrum využívá iterativní1, inkrementální2 přístup.

Každou implementaci empirického řízení procesů podpírají tři pilíře, jsou to: transparentnost, prozkoumávání a přizpůsobení.

TRANSPARENTNOST

Pro osoby, které jsou odpovědné za výsledek, musí být významné aspekty procesu viditelné a zřejmé. Transparentnost vyžaduje, aby byly tyto aspekty definovány sdílenými zásadami, díky nimž pozorovatelé chápou to, co vidí, stejně.

Například:

  • Všichni účastníci musí sdílet společný jazyk týkající se procesu;
  • Ti, kteří vykonávají práci, i ti, kteří kontrolují výsledný přírůstek (z angl. Increment), musí sdílet společnou definici toho, co je považováno za „hotovo“ (z angl. Definition of „Done“).

PŘEZKOUMÁVÁNÍ (z angl. INSPECT)

Uživatelé Scrumu musí často přezkoumávat scrumové artefakty a postup směrem ke sprintovému cíli, aby včas odhalili nežádoucí odchylky. Toto přezkoumávání by však nemělo být tak časté, aby se samo stalo překážkou v práci. Nejpřínosnější je, když jej důkladně provádějí k tomu kvalifikovaní lidé, a to v místě práce.

ADAPTACE (z angl. ADAPT)

Pokud osoba, která provádí přezkoumávání, zjistí, že se jeden či více aspektů procesu odchyluje mimo přijatelné meze, a že výsledný produkt nebude akceptovatelný, musí být sám proces nebo to, co má být zprocesováno, upraveno. Pro minimalizaci vzniku jakékoliv další odchylky je třeba úpravu provést v co možná nejkratší době.

Scrum stanovuje čtyři formální ceremonie (schůzky) sloužící k přezkoumávání a následné adaptaci – tyto jsou v průvodci dále popsány v sekci „Scrumové ceremonie“:

  • Sprint Planning
  • Daily Scrum
  • Sprint Review
  • Sprintová retrospektiva

SCRUMOVÉ HODNOTY

Když scrumový tým žije hodnotami jako je: odhodlání přijmout závazek (z angl. commitment), odvaha (z angl. courage), soustředění (z angl. focus), otevřenost (z angl. openess) a respekt (z angl. respect), přirozeně pak ožijí také základní scrumové pilíře: transparentnost, přezkoumávání a adaptace, které pomáhají vybudovat důvěru u všech zúčastněných. Členové scrumového týmu se učí a objevují tyto hodnoty tím, že pracují se scrumovými ceremoniemi, rolemi a artefakty.

Úspěšné používání Scrumu záleží na tom, jak se lidé postupně více a více sžívají s těmito pěti hodnotami. Osobně se totiž zavazují k dosažení cílů scrumového týmu. Členové scrumového týmu mají odvahu dělat správnou věc a pracovat na náročných úkolech. Všichni se zaměřují na práci ve sprintu a na cílech týmu. Scrumový tým a další klíčoví účastníci se shodují, že budou otevření ohledně veškeré práce a všech výzev, jimž během práce čelí. Členové scrumového týmu se navzájem respektují a považují za schopné a nezávislé lidi.

SCRUMOVÝ TÝM

Scrumový tým se skládá z Product Ownera, vývojového týmu a Scrum Mastera. Scrumové týmy se samy organizují (z angl. self-organizing) a jsou schopny pokrýt různé funkční oblasti (z angl. cross-functional). To znamená, že si týmy samy volí způsob, jak nejlépe vykonávat svou práci, spíše, než aby byly řízeny někým mimo tým, a že mají všechny kompetence potřebné pro dokončení práce bez závislosti na lidech, kteří nejsou součástí týmu. Týmový model je ve Scrumu navržen tak, aby optimalizoval flexibilitu, kreativitu a produktivitu. Scrumový tým se s rostoucí tendencí osvědčil jako efektivnější pro všechna dříve zmíněná využití a pro jakoukoliv komplexní práci.

Scrumové týmy dodávají produkty během opakujících se cyklů (iterativně) a postupně po menších přírůstcích (inkrementálně), zatímco maximálně využívají zpětnou vazbu. Přírůstkové dodávky „hotového“ (z angl. „Done“) produktu zajišťují, že je vždy doručena potenciálně použitelná verze fungujícího produktu.

PRODUCT OWNER

Product Owner (vlastník produktu) je zodpovědný za maximalizaci hodnoty produktu, jenž je vytvářen vývojovým týmem. To, jak je tato maximalizace prováděna, se může značně lišit napříč organizacemi, scrumovými týmy i jednotlivci.

Product Owner je jedinou osobou odpovědnou za správu produktového backlogu, která zahrnuje:

  • Jasné vyjádření položek produktového backlogu;
  • Řazení položek v produktovém backlogu tak, aby bylo co nejlépe dosaženo cílů a poslání;
  • Optimalizaci hodnoty práce vývojového týmu;
  • Zajištění viditelnosti, transparentnosti a přehlednosti produktového backlogu pro všechny, a zobrazení toho, na čem bude scrumový tým pracovat dále;
  • Zajištění, že vývojový tým chápe položky v produktovém backlogu do potřebné míry.

Výše uvedené činnosti může provádět Product Owner, nebo i vývojový tým. Product Owner však i v takovém případě zůstává odpovědnou osobou.

Product Owner je vždy jedna osoba, nikdy ne více lidí najednou. Product Owner sice může prostřednictvím produktového backlogu reprezentovat potřeby více lidí, ale ti, kteří chtějí změnit prioritu jakékoliv položky v produktovém backlogu, se musí vždy obrátit na Product Ownera.

Aby mohl Product Owner dělat svou práci úspěšně, musí jeho rozhodnutí respektovat celá organizace. Rozhodnutí Product Ownera jsou zřejmá z obsahu a seřazení produktového backlogu. Nikdo nemůže donutit vývojový tým, aby pracoval na základě jiného souboru požadavků.

VÝVOJOVÝ TÝM

Vývojový tým se skládá z profesionálů, kteří na konci každého sprintu doručují potenciálně vydatelný přírůstek „hotového“ (z angl. „Done“) produktu. Ten je vždy vytvořen pouze členy týmu a musí být hotov do Sprint Review.

Vývojové týmy jsou strukturovány a mají oprávnění se samy organizovat a řídit si vlastní práci. Výsledná součinnost pomáhá optimalizovat celkovou efektivitu vývojového týmu.

Vývojové týmy mají následující charakteristiky:

  • Jsou samoorganizující. Nikdo (dokonce ani Scrum Master) neříká vývojovému týmu, jak transformovat produktový backlog do jednotlivých přírůstků potenciálně vydatelných funkčností;
  • Vývojové týmy jsou schopny obsáhnout všechny funkce se všemi potřebnými dovednostmi nezbytnými k vytvoření produktového přírůstku;
  • Scrum nerozlišuje názvy pozic jednotlivých členů vývojového týmu bez ohledu na práci, kterou tato osoba vykonává;
  • Scrum nerozlišuje žádné podskupiny ve vývojovém týmu, bez ohledu na domény, které je třeba řešit, jako např. testování, architektura, operativa nebo business analýza;
  • Jednotliví členové vývojového týmu sice mohou mít specializované dovednosti a oblasti svého zaměření, ale zodpovědnost náleží vývojovému týmu jako celku.

Velikost vývojového týmu

Optimální velikost vývojového týmu je dostatečně malá tak, aby tým zůstal flexibilní, a natolik velká, aby tým mohl v rámci sprintu dokončit významný kus práce. Menší, než tříčlenný vývojový tým znamená málo vzájemných interakcí a nižší růst produktivity. Menší vývojové týmy mohou během sprintu narazit také na dovednostní omezení, takže nebudou schopny dodat potenciálně vydatelný přírůstek. Mít více než devět členů vyžaduje přílišnou koordinaci. Velké vývojové týmy vytvářejí příliš mnoho komplexnosti na to, aby byl empirický proces ještě užitečný. Role Product Ownera a Scrum Mastera nejsou do tohoto počtu zahrnuty, pokud sami nevykonávají práci na sprintovém backlogu.

SCRUM MASTER

Scrum Master je zodpovědný za prosazování a podporu Scrumu tak, jak je definováno v Průvodci Scrumem. Tuto zodpovědnost naplňuje tak, že všem pomáhá pochopit scrumovou teorii, praxi, pravidla a hodnoty.

Scrum Master je „servant leader“ scrumového týmu. Scrum Master pomáhá osobám mimo scrumový tým pochopit, které z jejich interakcí s tímto týmem jsou užitečné a které ne. Scrum Master všem pomáhá změnit tyto interakce tak, aby hodnota vytvořená scrumovým týmem byla maximalizována.

Scrum Masterova pomoc Product Ownerovi

Scrum Master pomáhá Product Ownerovi několika způsoby, včetně:

  • Zajištění, aby cíle, rozsah a doména produktu byly všemi členy scrumového týmu chápány tak dobře, jak je to jen možné;
  • Hledání technik pro efektivní správu produktového backlogu;
  • Pomoci scrumovému týmu porozumět, proč je potřeba mít položky v produktovém backlogu vyjádřené jasně a stručně;
  • Pochopení produktového plánování v empirickém prostředí;
  • Zajištění, aby Product Owner věděl, jak uspořádat produktový backlog, aby maximalizoval získaný přínos;
  • Porozumění a procvičování agility;
  • Facilitace scrumových ceremonií tak, jak je požadováno nebo jak je to potřebné.

Scrum Masterova pomoc vývojovému týmu

Scrum Master pomáhá vývojovému týmu několika způsoby, včetně:

  • Koučování vývojového týmu v sebeorganizování a zastávání různých funkčních oblastí;
  • Pomoci vývojovému týmu vytvářet produkty s vysokou hodnotou;
  • Odstraňování překážek, které brání vývojovému týmu v postupu;
  • Facilitace scrumových ceremonií tak, jak je požadováno nebo jak je to potřebné;
  • Koučování vývojového týmu v organizačním prostředí, ve kterém není Scrum dosud plně přijat a pochopen.

Scrum Masterova pomoc v rámci celé organizace

Scrum Master pomáhá celé organizaci několika způsoby, včetně:

  • Vedení a koučování organizace při osvojování Scrumu;
  • Plánování implementace Scrumu v rámci organizace;
  • Pomoci zaměstnancům a zúčastněným stranám pochopit a přijmout Scrum a empirický produktový vývoj;
  • Vyvolávání změn, které zvyšují produktivitu scrumového týmu;
  • Spolupráce s dalšími Scrum Mastery za účelem zvýšení efektivity použití Scrumu v organizaci.

SCRUMOVÉ CEREMONIE

Předepsané scrumové ceremonie (události) zajišťují pravidelnost a minimalizují potřebu dalších, Scrumem nedefinovaných schůzek. Všechny události jsou časově ohraničené (z angl. time-boxed), tzn., že každá má určenu svou maximální délku trvání. Jakmile sprint začne, jeho délka je neměnná, nemůže být tedy zkrácena ani prodloužena. Ostatní aktivity mohou skončit vždy, když je dosaženo jejich cíle; tím je zajištěno, že zaberou přiměřenou dobu a nedochází k plýtvání časem.

Sprint sám o sobě je jen souhrnem všech ostatních předepsaných ceremonií. Každá z nich je přitom příležitostí k přezkoumávání a adaptaci některého aspektu Scrumu. Tyto události jsou navržené tak, aby umožnily důležitou transparentnost a kontrolu. Vynechání kterékoliv z ceremonií má za následek snížení transparentnosti a ztrátu příležitosti k přezkoumání (z angl. inspect) a možnosti adaptace  (z angl. adapt).

SPRINT

Jádrem Scrumu je sprint v délce trvání jednoho měsíce či méně, během nějž je vytvořen „hotový“ („Done“), použitelný a potenciálně vydatelný přírůstek produktu. Sprinty většinou mají v rámci celého vývoje produktu shodnou délku. Nový sprint vždy začíná ihned po skončení předchozího sprintu.

Sprinty se skládají z plánovací schůzky (Sprint Planning), denních schůzek (Daily Scrums), vlastní vývojové práce, vyhodnocení sprintu (Sprint Review), a sprintové retrospektivy (Sprint Retrospective).

Během sprintu:

  • se neprovádí žádné změny ohrožující cíl sprintu (z angl. Sprint Goal);
  • se nesnižuje kvalita cíle sprintu;
  • může být mezi Product Ownerem a vývojovým týmem znovu projednán a upřesněn jeho rozsah na základě nově získaných znalostí.

Každý sprint můžeme považovat za projekt v trvání ne delším než jeden měsíc. Stejně jako projekty, tak i sprinty používáme proto, že jimi chceme něčeho dosáhnout. Součástí každého sprintu je popis toho, co má být vytvořeno, včetně návrhu a flexibilního plánu sloužícího jako vodítko k tomu, jak to vytvořit, dále samotná práce a výsledný přírůstek produktu.

Sprint je limitovaný jedním kalendářním měsícem. Kdyby trval příliš dlouho, mohla by se mezitím změnit definice cílového produktového přírůstku, zvýšit se jeho složitost a mohla by vzrůstat rizika. Sprinty přináší předvídatelnost – přinejmenším jednou měsíčně zajistí přezkoumání a přizpůsobení procesu. Sprinty také omezují riziko nekontrolovaného nárůstu nákladů na maximálně jeden kalendářní měsíc.

Zrušení sprintu

Sprint může být před uplynutím plánovaného časového období zrušen. Jen Product Owner má pravomoc sprint zrušit, ovšem může to udělat pouze na popud vývojového týmu, Scrum Mastera či ostatních zúčastněných stran (z angl. stakeholders).

Sprint může být zrušen v případě, kdy cíl sprintu zastará. Toto může nastat např. při změně směřování firmy, změně situace na trhu nebo změně technologických podmínek. Obecně by sprint měl být zrušen v případech, kdy za daných okolností již nedává smysl. Díky tomu, že sprint je krátký (maximálně 1 měsíc), jeho zrušení dává smysl jen výjimečně.

Je-li sprint zrušen, jsou všechny hotové položky produktového backlogu zrevidovány. Jsou-li potenciálně vydatelné, pak je Product Owner zpravidla akceptuje. Veškeré nehotové položky znovu projdou procesem odhadování náročnosti a vrátí se zpět do produktového backlogu. Práce odvedená na těchto položkách rychle zastarává a mnohdy musí opakovaně projít hodnocením náročnosti.

Zrušení sprintu spotřebuje určité zdroje, protože se všichni musí znovu setkat na Sprint Planningu a naplánovat další sprint. Je to situace pro tým nepříjemná, dochází k ní však jen velmi sporadicky.

SPRINT PLANNING

Práce, která má být vykonána během sprintu, je dohodnuta na ceremonii nazvané Sprint Planning. Tento plán je vytvářen v součinnosti celého scrumového týmu.

Sprint Planning je časově ohraničený – pro jednoměsíční sprint by měl zabrat nejvýše osm hodin. U kratších sprintů zabere tato činnost většinou méně času. Scrum Master se stará o to, že Sprint Planning proběhne, a o pochopení jeho účelu všemi účastníky. Scrum Master učí Scrum tým dodržení časového rámce.

Sprint Planning odpovídá na následující otázky:

  • Co může být dodáno coby přírůstek produktu na konci příštího sprintu?
  • Jakou práci bude nezbytné vykonat k tomu, aby mohl být přírůstek dodán?

První téma: Co může být vytvořeno během sprintu?

Vývojový tým odhaduje, které všechny funkčnosti budou během sprintu vyvinuty. Product Owner diskutuje cíl, jehož má být během sprintu dosaženo, a položky produktového backlogu, které (pokud budou dokončeny) zajistí splnění tohoto cíle. Přitom se celý scrumový tým snaží společně porozumět práci, kterou je potřeba během sprintu vykonat.

Vstupními informacemi této schůzky jsou: produktový backlog, poslední přírůstek produktu, plánovaná kapacita vývojového týmu pro příští sprint a výkon vývojového týmu v minulosti. Počet položek produktového backlogu zařazených do sprintu závisí výhradně na rozhodnutí vývojového týmu. Jen vývojový tým může odhadnout, co je schopen během následujícího sprintu dokončit.

Během Sprint Planningu scrumový tým definuje také cíl sprintu (z angl. Sprint Goal). Jedná se o cíl, jehož má být dosaženo během sprintu, a to prostřednictvím implementace položek v produktovém backlogu. Týmu je tím poskytnuto vodítko k tomu, aby chápal, proč na daném přírůstku produktu pracuje.

Druhé téma: Jak bude naplánovaná práce provedena?

Majíc cíl sprintu a vybrané položky produktového backlogu pro nadcházející sprint, vývojový tým rozhodne, jakým způsobem definovaný přírůstek produktu vytvoří. Položky produktového backlogu zařazené do sprintu spolu s plánem, jak je doručit, nazýváme sprintový backlog.

Vývojový tým obvykle začíná návrhem systému a prací potřebných k přeměně produktového backlogu do fungujícího produktového přírůstku. Množství práce (neboli odhadované úsilí), se může změnit. Nicméně během Sprint Planningu je naplánováno dostatečné množství práce, které bude dle odhadu vývojového týmu reálné v následujícím sprintu dokončit. Na konci Sprint Planningu je práce, kterou si tým naplánoval na první dny sprintu, rozpadnuta na menší jednotky, jejichž časová náročnost není větší než jeden den. Aby mohl vývojový tým začít pracovat na položkách zařazených do sprintového backlogu, musí se podle potřeby sám zorganizovat, a to jak během Sprint Planningu, tak během samotného sprintu.

Product Owner může objasnit vybrané položky produktového backlogu a pomoci s dosažením jednotného pohledu na věc. Rozhodne-li vývojový tým, že má příliš mnoho nebo příliš málo práce, může s Product Ownerem znovu projednat položky produktového backlogu. Vývojový tým může přizvat k účasti i další lidi kvůli konzultacím týkajícím se tématu produktu nebo použité technologie.

Na konci Sprint Planningu by měl být vývojový tým schopen Product Ownerovi a Scrum Masterovi vysvětlit, jakým způsobem hodlá jako sebeorganizující se tým dosáhnout cíle sprintu a vytvořit očekávaný produktový přírůstek.

Cíl sprintu (z angl. Sprint Goal)

Cíle sprintu má být dosaženo implementací produktového backlogu. Definice cíle říká vývojovému týmu, proč vlastně daný produktový přírůstek vytváří. Cíl sprintu je definován během Sprint Planningu a dává vývojovému týmu určitou volnost týkající se funkčnosti naimplementované v rámci sprintu. Vybrané položky produktového backlogu doručené společně představují jednu ucelenou funkčnost, která může představovat cíl sprintu. Cíl sprintu může být také definován jako jakýkoliv jiný logický celek, který zajistí, aby vývojový tým pracoval spíše společně než jako jednotlivci na vzájemně nesouvisejících iniciativách.

Vývojový tým během své práce cíl sprintu neustále zohledňuje. Implementuje funkce a technologie tak, aby naplnil cíl sprintu. Jakmile se práce odkloní od týmem očekávaného výsledku, spolupracuje s Product Ownerem a vyjednává v rámci sprintu o obsahu sprintového backlogu.

DAILY SCRUM

Daily Scrum je každodenní schůzka vývojového týmu, která není delší než 15 minut. Je určená pro synchronizaci aktivit a vytvoření plánu na dalších 24 hodin. Na této schůzce je probírána práce vykonaná od posledního Daily Srumu a je vytvářen odhad práce, která by mohla být vykonaná do další schůzky. Pro zjednodušení organizace se Daily Scrum koná každý den ve stejný čas a na stejném místě.

Vývojový tým využívá Daily Scrum ke zhodnocení svého postupu směrem k sprintovému cíli a dokončení práce na sprintovém backlogu. Daily zvyšuje pravděpodobnost, že vývojový tým sprintového cíle skutečně dosáhne. Každý den by měl vývojový tým porozumět způsobu, jakým bude spolupracovat jako sebeorganizující tým na dosažení sprintového cíle a doručení očekávaného přírůstku.

Strukturu schůzky si stanoví vývojový tým sám, podmínkou je, aby byla vedena se zaměřením na postup směrem k dosažení cíle sprintu. Některé vývojové týmu budou používat otázky, jiné budou spíše diskutovat.

Zde je příklad toho, jaké otázky mohou být použity:

  • Co jsem včera udělal proto, abych pomohl vývojovému týmu splnit cíl sprintu?
  • Co budu dělat dnes proto, abych pomohl vývojovému týmu splnit cíl sprintu?
  • Vidím nějaké překážky, které brání mně nebo vývojovému týmu ve splnění cíle sprintu?

Vývojový tým nebo někteří jeho členové se často setkají hned po skončení Daily Scrumu, aby prodiskutovali detaily nebo přizpůsobili či přeplánovali zbytek práce ve sprintu.

Scrum Master zajišťuje konání této schůzky, ale za její průběh je zodpovědný samotný tým. Dále Scrum Master pomáhá vývojovému týmu udržet Daily Scrum v 15minutovém rámci.

Daily Scrum je interní záležitost vývojového týmu. Jestliže jsou přítomni další lidé, Scrum Master zajistí, aby schůzku nenarušovali.

Daily Scrum zlepšuje komunikaci, eliminuje potřebu dalších schůzek, identifikuje překážky, které mají být odstraněny, vyzdvihuje a podporuje rychlá rozhodnutí a zlepšuje úroveň znalostí o projektu každého člena týmu. Jde o klíčovou schůzku zajišťující přezkoumání a adaptaci.

SPRINT REVIEW

Vyhodnocení prováděné na konci sprintu se zabývá výsledným produktovým přírůstkem a v případě potřeby vede k přizpůsobení produktového backlogu. Během Sprint Review scrumový tým a ostatní zúčastněné strany (z angl. stakeholders) probírají výsledky sprintu. Dle zjištěných skutečností, a také dle změn produktového backlogu provedených během sprintu, spolupracují všichni zúčastnění na rozhodnutí, jak postupovat dále směrem k optimalizaci hodnoty. Jde o neformální schůzku, ne o status meeting – předvedení přírůstku má za cíl získat zpětnou vazbu a podpořit spolupráci.

Při jednoměsíčních sprintech zabere tato schůzka nejvýše čtyři hodiny. U kratších sprintů je schůzka většinou úměrně kratší. Scrum Master se stará o to, aby vyhodnocení proběhlo a aby účastníci rozuměli jeho účelu; také všem pomáhá dodržet časový rámec.

Sprint Review zahrnuje následující:

  • Účastníky jsou členové Scrum týmu a klíčoví zástupci zúčastněných stran, které pozve Product Owner.
  • Product Owner objasňuje, které položky produktového backlogu byly dokončeny a které nikoliv.
  • Vývojový tým diskutuje o tom, co se během sprintu dařilo, na jaké problémy tým narazil a jak byly dané problémy vyřešeny.
  • Vývojový tým prezentuje hotové výsledky své práce a odpovídá na dotazy týkající se přírůstku.
  • Product Owner diskutuje o aktuálním stavu produktového backlogu. Na základě dosavadního pokroku navrhne předpokládané cíle a termíny dodání (je-li to potřebné).
  • Celá skupina společně navrhne, co bude řešeno dále, takže tato schůzka poskytne důležitý vstup pro následný Sprint Planning.
  • Zhodnocení aktuální situace na trhu či potenciálního využití produktu může změnit výčet nejužitečnějších vlastností, které by měly být dále vyvíjeny.
  • Vyhodnocení časového průběhu, rozpočtu, potenciálních možností a situace na trhu důležité pro další předpokládané vydání dané funkčnosti produktu.

Výsledkem Sprint Review je revidovaný produktový backlog, který definuje pravděpodobné položky na zařazení do dalšího sprintu. Produktový backlog může být také celkově přizpůsoben novým příležitostem.

SPRINTOVÁ RETROSPEKTIVA

Scrumový tým má během sprintové retrospektivy příležitost k prozkoumání sebe sama a k naplánování kroků, pomocí kterých dojde během příštího sprintu ke zlepšení.

Retrospektiva se koná po Sprint Review, ale ještě před Sprint Planningem. Při jednoměsíčních sprintech trvá nejdéle tři hodiny. U kratších sprintů zabere obvykle kratší dobu. Scrum Master zajišťuje, že se schůzka uskuteční, a že účastníci chápou její účel.

Scrum Master dále zajišťuje, aby byla schůzka pozitivní a produktivní a učí všechny tomu, aby ji dokázali udržet v doporučeném časovém rámci. Scrum Master se účastní schůzky jako člen týmu se zodpovědností za scrumový proces.

Smyslem sprintové retrospektivy je:

  • Prozkoumání průběhu posledního sprintu, co se lidí, vztahů, procesů a použitých nástrojů týče.
  • Identifikace a seřazení toho, co šlo dobře, a potenciálních vylepšení.
  • Vytvoření plánu na realizaci jednotlivých vylepšení týkajících se způsobu práce scrumového týmu

Scrum Master povzbuzuje scrumový tým k tomu, aby v rámci scrumového procesu zlepšil svůj vývojový proces a postupy tak, aby byl příští sprint efektivnější a příjemnější. Během každé retrospektivy scrumový tým plánuje způsob, jak zvýšit kvalitu produktu, a to prostřednictvím zlepšení pracovního procesu nebo úpravou Definition of „Done“, je-li to vhodné a není-li to v rozporu s produktovými nebo organizačními standardy.

Do konce sprintové retrospektivy by měl scrumový tým identifikovat zlepšení, která zavede v příštím sprintu. Zavádění těchto zlepšení v následujícím sprintu je vlastně adaptací plynoucí z přezkoumávání, které scrumový tým provedl sám na sobě. Přestože mohou být zaváděna kdykoliv, sprintová retrospektiva přináší týmu vhodnou příležitost k zaměření se na proces přezkoumávání a adaptace.

SCRUMOVÉ ARTEFAKTY

Scrumové artefakty reprezentují práci nebo hodnotu tak, aby byla zaručena transparentnost a vytvořeny příležitosti k přezkoumávání a adaptaci. Artefakty definované Scrumem jsou speciálně navrženy tak, aby byly klíčové informace maximálně transparentní a všichni chápali tyto artefakty stejně.

PRODUKTOVÝ BACKLOG

Produktový backlog je prioritizovaný seznam všeho, o čem víme, že je v rámci produktu potřeba. Je jediným zdrojem požadavků na jakoukoliv změnu v produktu. Product Owner je zodpovědný za obsah, dostupnost a prioritizaci backlogu.

Produktový backlog není nikdy úplný. V úvodní fázi vývoje obsahuje zpočátku známé a nejlépe pochopené požadavky. Produktový backlog se vyvíjí stejně, jako se vyvíjí produkt a prostředí. Je dynamický; stále se mění tak, aby identifikoval vše, co produkt potřebuje, aby byl vhodný, konkurenceschopný a přinášel užitek. Dokud existuje produkt, existuje také produktový backlog.

Produktový backlog je seznam všech vlastností, funkcí, požadavků, rozšíření a oprav chyb představujících všechny změny, které mají být v rámci produktu provedeny v jeho budoucích vydáních. Položky produktového backlogu mají tyto atributy: popis, pořadí, odhad a hodnotu. Často obsahují také popisy testů, které slouží k ověření, že je položka skutečně dokončená, když je ve stavu „hotovo“ (z angl. „Done“).

Vzhledem k tomu, že produkt je používán a získává hodnotu a trh poskytuje zpětnou vazbu, z produktového backlogu se stává rozsáhlejší a podrobnější seznam. Požadavky se nikdy nepřestanou měnit, produktový backlog je živý artefakt. Změny v business požadavcích, podmínkách na trhu nebo technologiích mohou způsobit i změny v produktovém backlogu.

Často na stejném produktu spolupracuje více scrumových týmů. V takovém případě se používá pouze jeden produktový backlog, který popisuje budoucí práci na produktu. V takovém případě můžeme využívat určitých atributů, podle kterých můžeme položky produktového backlogu seskupovat.

Péče o produktový backlog (z angl. product backlog refinement) a jeho zpřesňování zahrnuje přidávání detailů, odhadů pracnosti a uspořádání jednotlivých položek v něm. Je to stále probíhající proces, během kterého Product Owner spolupracuje s vývojovým týmem na detailech jednotlivých položek produktového backlogu. Během zpřesňování produktového backlogu jsou odhady přezkoumávány a upravovány. Scrumový tým rozhoduje jak a kdy bude zpřesňování backlogu provedeno. Vývojový tým touto činností obvykle  netráví více než 10 % své kapacity. Položky produktového backlogu mohou být však kdykoliv aktualizovány Product Ownerem na základě jeho vlastního uvážení.

Výše umístěné položky produktového backlogu jsou obvykle jasnější a mají více detailních informací než položky uvedené níže. Přesnější odhady jsou prováděny na základě větší jasnosti a podrobnosti; čím nižší je pořadí, tím méně detailů.

Položky produktového backlogu, které budou zaměstnávat vývojový tým v nadcházejícím sprintu, jsou zpracovány do té úrovně, že každá položka může být smysluplně dokončena nejpozději během jednoho sprintu. Položky produktového backlogu, které může vývojový tým v rámci jednoho sprintu dokončit , jsou považovány za připravené (z angl. „Ready“) pro výběr v rámci Sprint Planningu. Položky produktového backlogu obvykle dosahují tohoto stupně transparentnosti prostřednictvím výše popsaných ujasňovacích aktivit.

Vývojový tým je odpovědný za všechny odhady. Product Owner může ovlivnit vývojový tým tím, že mu pomůže lépe jednotlivým položkám porozumět a zvolit kompromisy, finální odhad je ale vždy vytvořen lidmi, kteří budou danou práci provádět.

Monitoring postupu směrem k cíli

Celková práce zbývající k dosažení cíle může být kdykoliv vyčíslena. Product Owner sleduje množství zbývající práce minimálně na každém Sprint Review. Toto pak porovnává se zbývající prací z předchozích Sprint Review a hodnotí, zda pokrok plánované práce směřující k cíli bude dosažen v očekávaném čase. Tyto informace jsou transparentní pro všechny stakeholdery.

K odhadování budoucího průběhu projektu se využívají různé projektivní postupy zobrazující určitý trend jako je burndown graf, burn-up graf nebo graf kumulativního toku. Tyto metody se ukázaly jako užitečné, avšak nemohou nahradit důležitost empirismu. V komplexních prostředích není dopředu známo, co se stane. Pro rozhodování zaměřené do budoucna tak mohou být použity pouze informace plynoucí z minulé zkušenosti.

SPRINTOVÝ BACKLOG

Sprintový backlog je množina položek vybraných z produktového backlogu do sprintu, a to včetně plánu na dodání produktového přírůstku a splnění cíle sprintu. Sprintový backlog je jakousi předpovědí vývojového týmu, jaká funkčnost bude obsahem následujícího přírůstku a kolik práce bude k dodání této funkčnosti do podoby „hotového“ (z angl. „Done“) přírůstku potřeba.

Sprintový backlog zviditelňuje veškerou práci, kterou vývojový tým označil jako nezbytnou k naplnění cíle daného sprintu. K zajištění neustálého zlepšování obsahuje sprintový backlog vždy alespoň jedno vylepšení procesu s vysokou prioritou, které bylo identifikováno na předchozí sprintové retrospektivě.

Sprintový backlog je plán s dostatečnou mírou detailu, a to takovou, že změny v pokroku lze pojmenovat na denní bázi, tj. na Daily Scrumu. Vývojový tým sprintový backlog upravuje po celou dobu sprintu, čímž ho neustále utváří. Tyto úpravy se dějí proto, že vývojový tým až během práce ve sprintu získává více poznatků o tom, co je pro splnění cíle sprintu potřeba.

Pokud je zapotřebí nová práce, vývojový tým ji přidá do sprintového backlogu. Po vykonání nebo dokončení práce se aktualizuje odhadovaná zbývající práce. Pokud se některé úkoly ukáží jako zbytečné, jsou z backlogu odstraněny. Sprintový backlog patří výhradně vývojovému týmu a jedině vývojový tým může změnit sprintový backlog v průběhu sprintu. Sprintový backlog tak představuje vysoce jasný, transparentní a aktuální obraz práce, kterou vývojový tým plánuje v průběhu sprintu dokončit.

Monitoring průběhu sprintu

Množství práce, která zbývá k dokončení ve sprintu, může být v kterémkoli okamžiku vypočtena. Vývojový tým sleduje toto množství zbývající práce minimálně na denní bázi na Daily Scrumu a odhaduje pravděpodobnost dosažení cíle sprintu. Sledováním zbývající práce ve sprintu může vývojový tým svůj pokrok řídit.

PŘÍRŮSTEK (z angl. INCREMENT)

Přírůstek je součet všech položek produktového backlogu dokončených v průběhu sprintu a hodnoty přírůstků ze všech předchozích sprintů. Koncem sprintu musí být nový přírůstek hotový (z angl. „Done“), což znamená, že musí být použitelný a splňovat podmínky Definition of „Done“ definované scrumovým týmem.

Přírůstek je krokem směrem k vizi nebo cíli a je tvořen dokončenou prací, která je hmatatelná a dá se nějakým způsobem ukázat, čímž podporuje empirismus na konci sprintu. Přírůstek musí splňovat podmínku použitelnosti bez ohledu na to, jestli se ho Product Owner rozhodne vydat nebo ne.

TRANSPARENTNOST ARTEFAKTŮ

Scrum se spoléhá na transparentnost. Rozhodnutí ohledně optimalizace hodnoty a kontroly rizik se provádějí na základě aktuálního stavu artefaktů. Pokud je transparentnost úplná, mají tato rozhodnutí pevný základ. Pokud nejsou artefakty plně transparentní, mohou být tato rozhodnutí chybná, hodnota může klesnout a riziko se může zvýšit.

Scrum Master musí spolupracovat s Product Ownerem, vývojovým týmem a dalšími stakeholdery, aby se ukázalo, zda jsou artefakty opravdu zcela transparentní. Existují však i postupy pro zvládnutí neúplné transparentnosti – v takovém případě musí Scrum Master všem pomoci aplikovat ty nejvhodnější praktiky. Scrum Master dokáže zjistit neúplnou transparentnost tím, že prozkoumá artefakty, sleduje různé vzorce, pečlivě naslouchá tomu, co se říká, a zjišťuje rozdíly mezi očekávanými a skutečnými výsledky.

Prací Scrum Mastera je spolupracovat se scrumovým týmem a s organizací na zvýšení transparentnosti artefaktů. Tato práce obvykle zahrnuje učení, přesvědčování a změnu. Transparentnost nenastává přes noc, ale je to cesta.

DEFINICE TOHO, CO JE „HOTOVO“ (z angl. DEFINITION OF „DONE“)

Když jsou položka produktového backlogu anebo přírůstek produktu prohlášeni za hotové, každý musí rozumět, co znamená pojem „hotovo“ (z angl. Done). Ačkoliv se může toto chápání mezi scrumovými týmy značně lišit, členové jednoho týmu musí porozumění tomu, co znamená, že je práce dokončena, sdílet, jinak nemůže být zajištěna dostatečná transparentnost. Proto má každý scrumový tým svou definici toho, co znamená „hotovo“ (z angl. Definition of „Done“), která se používá k posouzení, zda je práce na přírůstku produktu dokončena.

Tato sdílená definice vede vývojový tým k vědomí toho, kolik položek produktového backlogu může přijmout do sprintu v průběhu Sprint Planningu. Účelem každého sprintu je dodání přírůstku potenciálně vydatelné funkčnosti, který je plně v souladu s Definition of „Done“ daného scrumového týmu.

Vývojové týmy dodávají přírůstek produktové funkčnosti v každém sprintu. Tento přírůstek je použitelný, takže Product Owner se může rozhodnout o jeho okamžitému nasazení. Pokud je Definition of „Done“ pro přírůstek součástí smluv, standardů nebo směrnic dané organizace, musí ji všechny Scrum týmy dodržovat jako nutné minimum.

Pokud Definition of „Done“ není ve vývojové organizací ustálena, členové vývojového týmu ji musí pro konkrétní produkt vhodně definovat. Pokud existuje více scrumových týmů pracujících společně na jednom systému nebo produktu, pak vývojové týmy ve všech scrumových týmech musí společně Definition of „Done“ definovat.

Každý přírůstek je doplňkem ke všem předcházejícím přírůstkům a je důkladně testován, čímž se zajistí, že všechny přírůstky spolu dohromady fungují.

Jak scrumový tým vyzrává, očekává se, že se bude jeho Definition of „Done“ rozšiřovat tak, aby pokryla přísnější kritéria pro vyšší kvalitu. Nové definice pak během svého využívání mohou odhalit práci, která se má provést, i v dříve „hotových“ přírůstcích. Každý produkt nebo systém by měl mít svou Definition of „Done“, která je standardem pro jakoukoli práci na něm.

ZÁVĚR

Scrum je bezplatný a je vám tímto Průvodcem nabízen k užívání. Scrumové role, ceremonie, artefakty a pravidla jsou neměnné, a přestože je možné implementovat Scrum jenom zčásti, výsledek není Scrum. Scrum existuje pouze jako celek a slouží jako základ pro další techniky, metodiky a postupy.

PODĚKOVÁNÍ

LIDÉ

Z tisíců lidí, kteří přispěli ke vzniku Scrumu, bychom chtěli připomenout ty, kteří významně pomohli na začátku: Jeff Sutherland, který spolupracoval s Jeffem McKennou a Johnem Scumniotalesem, a Ken Schwaber, který spolupracoval s Mikem Smithem a Chrisem Martinem, a všichni pracovali dohromady. V dalších letech přispělo mnoho dalších lidí a bez jejich pomoci by Scrum nebyl vylepšen do té míry, jako je tomu dnes.

HISTORIE

Ken Schwaber a Jeff Sutherland pracovali na Scrumu do roku 1995, kdy spolu ve stejném roce prezentovali Scrum na konferenci OOPSLA. Tato prezentace v zásadě dokumentovala poznání, které Ken a Jeff nabyli v průběhu předchozích let, a zveřejnila první formální definici Scrumu.

Historie Scrumu je popsána někde jinde. Pokud bychom chtěli připomenout místa, kde byl Scrum poprvé vyzkoušen a zdokonalen, musíme zmínit firmy Individual, Inc., Newspage, Fidelity Investments a IDX (dnes GE Medical).

„Průvodce Scrumem“ dokládá, že Scrum byl tvořen, vyvíjen a udržován po dobu 20 let Jeffem Sutherlandem a Kenem Schwaberem. Jiné zdroje vám poskytnou vzorce, procesy a poznatky, které doplňují rámec Scrumu a mohou zvýšit produktivitu, hodnotu, kreativitu a spokojenost s výsledky.

SLOVNÍČEK POJMŮ K ČESKÉMU PŘEKLADU

Cílem českého překladu nebylo doslovně přeložit všechny scrumové pojmy. Anglická scrumová terminologie je totiž v agilní komunitě tak zažitá, že by při doslovném překládání mohlo dojít ke zmatení. Přesto pro představu a snazší pochopení významu jednotlivých pojmů uvádíme níže v tabulce doslovné překlady. Doporučujeme však co nejvíce používat anglický originál. V případě jakýchkoli scrumových dotazů se neváhejte obrátit na kteroukoli z překladatelek české verze tohoto průvodce přes LinkedIn: Hana Jadavan, Irena Buršová, Martina Bártů, Martina Hlaváčková.

ANGLICKÝ ORIGINÁLČESKÝ PŘEKLAD
Adaptionpřizpůsobení, adaptace
Daily Scrumdenní schůzka
Definition of „Done“definice „hotovo“
Development teamvývojový tým
Incrementalinkrementální, přírůstkový
Inspectionpřezkoumávání, prozkoumávání, kontrola
Iterativeiterativní, opakující se
Product Ownervlastník produktu
Scrum Eventsscrumové ceremonie, scrumové události
Scrum Mastermistr scrumu
Scrum Teamscrumový tým
Sprint Goalsprintový cíl
Sprint Planningsprintová plánovací schůzka
Sprint Retrospectivesprintová retrospektivní schůzka
Sprint Reviewrevize sprintu
Stakeholderszúčastněné strany