Vývoj software agilním přístupem - SCRUM
Kurz: I440
Metodika SCRUM je založena na interaktivním a inkrementálním vývoji software v úzce spolupracujícím a sebeorganizujícím se týmu vývojářů v předem definovaných cyklech. Po správně provedeném zavedení zvyšuje prokazatelně SCRUM výkon vývojového týmu. Praxe však také ukazuje, že přináší řadu úskalí, které je nutné pro dosažené očekávaného efektu ošetřit.
Určení kurzu
· Účastník: manažer vývoje, členové SCRUM týmu, obchodníci
· Úroveň znalostí problematiky: středně pokročilý až pokročilý.
Cíle kurzu
Cílem kurzu je seznámit účastníky s teorií i praxí zavedení metodiky SCRUM pro vývoj software. Účastníkům také poskytuje možnost vyzkoušet si klíčové prvky organizace a řízení SCRUM týmu. Postupně jsou procvičeny všechny klíčové role SCRUM týmu.
Typ kurzu
Dvoudenní kurz zaměřený na praktickou stránku zavedení a běhu vývojového týmu za pomoci metodiky SCRUM. Součástí kurzu jsou šablony všech metodických dokumentů a postupů.
Metodika SCRUM je logickou reakcí na klíčové nedostatky vznikající při využití lineárních, nebo kaskádových metodik při vývoji software. Tyto klasické metodiky opakovaně narážejí zejména na tyto mantinely:
· Dlouhá prodleva od zadání do doby fakticky použitelné verze SW.
· U jedné dílčí úlohy je velmi obtížné dodržet plánovaný odhad pracnosti, protože vývoj je kreativní činnost, kde se v průběhu programování teprve mohou objevit nečekané komplikace.
· Pokud se zpozdí vývoj jednoho úkolu u konkrétního vývojáře, zpozdí se již také všechny ostatní na něj alokované a tím i celý projekt (vzniká kritická cesta).
· Jak může projektový manažer neznalý programování efektivně plánovat a kontrolovat náročnost vývoje?
· Opakovaný vývoj částí kódu, který již byl jiným vývojářem na jiném projektu vyvinut.
· Problematické začlenění změn požadavků v průběhu běžící vývojové fáze.
Metodika SCRUM reaguje na tyto selhání na základě několika revolučních myšlenek:
· Dejme zadavateli garanci pevného data, v kterém dostane nějak funkční celek.
· Vnímejme kapacitu vývoje nikoliv po jednotlivých osobách, ale jako nedělitelné „strojové centrum“.
· Nechme tým si volně přidělovat úkoly podle dostupnosti zdrojů, obtížnosti, případě potřebné znalosti.
· Nechme, ať programátory kontrolují další programátoři z týmu.
· Ať úzká spolupráce vede ke sdílení znalostí a zkušeností a brání se tak zbytečným redundancím.
· Přenesme zodpovědnost za rozpočty úloh na samotné realizátory.
Tyto klíčové myšlenky se promítají jako stěžejní nit celou metodikou SCRUM. Na rozdíl od teoretických prací, které SCRUM nekriticky prosazují, kurz přináší praktický pohled na jeho zavedení, včetně upozornění na rizika a nedostatky.
Detailní obsah kurzu
Obsah kurzu je sestaven z těchto oblastí:
· Mýty a pověry metodiky SCRUM
o Podmínky fungování SCRUM metodiky
o Příklady z praxe využití a zavedení SCRUM
· Základní principy SCRUM
· Osobní vs. kolektivní odpovědnost
· Psychologická rovina zdůvodnění vysokého výkonu SCRUM týmu;
· Doporučení na technickou organizaci SCRUM týmu
· Scrum (skrumáž, mlýn) – základní procesní rámec pro zrychlený vývoj software
o Systém navazujících cyklů (Sprint = jeden cyklus) vývoje (5-30 dnů a denní báze dělení)
· Scrum-ban (kombinace metodiky Scrum a Kanban) – modifikace Srcum metodiky při častých změnách požadavků, nebo neodhadnutelných prvcích při plnění úkolů (hledání chyby, neznámý princip fungování, atd..)
· Vstupy a výstupy jednoho cyklu
· Dělení rolí podle ovlivňování projektu na slepice a prasata (Pig, chicken)
o Role prasat: Vyjednavač, Tým, Majitel produktu (Facilitator, team, Product owner)
o Role slepic: Akcionář a manažer (Stakeholder, Manager)
· Schůzky řízení projektu
o Denní skrumáž (Daily scrum) – integrace v týmu
o Skrumáž skrumáží (Scrum of scrums) – integrace více týmů
o Schůzka plánování cyklu (Sprint Planning Meeting)
o Schůzka hodnocení cyklu (Sprint Rewiev Meeting)
o Schůzka zpětného hodnocení (Sprint retrospective)
· Klíčové řídící dokumenty SCRUM
o Product backlog – široký seznam potenciálních funkcí z pohledu přidané hodnoty pro zákzaníky
o Sprint backlog – seznam práce členěný do dílčích úkolů pro příští cyklus (Sprint)
o Burn down – denně aktualizovaný seznam úkolů, které zbývá ještě v daném cyklu udělat
· Metodiky organizace a řízení týmů a cyklů
· Technické pomůcky pro podporu metodického řízení
· Praktický návod přechodu vývoje na metodiku SCRUM
· Systémové chyby metodiky SCRUM
o Syndrom vyhoření
o Syndrom poklesu efektivity
o Personální senzitivita
Zpět na kurzy se zaměřením na projektové dovednosti
Zpět na přehled kurzů