Jak naplánovat Sprint bez odhadů?

Jeden z nejčastějších nešvarů Scrum implementací je odhadování tásků v hodinách a jejich následné poměřování vůči kapacitě týmu. Je to krásná myšlenka, ale v praxi je to nesmysl, který trvá zbytečně dlouho a nic nepřináší. Snad jen to, že můžete nakreslit další zbytečnost – Sprint Burndown.

Myšlenka vychází z nepochopení Scrumu. Je to pozůstatek tradičního myšlení Organizace 1.0 kde jsme věřili, že lidi alias zdroje jsou stejně jen líná banda individuí, kteří když je nebudeme hlídat, tak nic neudělají. Scrum dává práci mnohdy ztracený smysl a tak generuje daleko motivovanější lidi, kteří se sami zlepšují a vymýšlejí jak dělat věci lépe. A kteří toho udělají víc i bez mikromanagementu a detailního vykazování.

Když tedy přestaneme odhadovat kvůli kontrole lidí v týmu, zbývá se podívat, jestli mohou být takhle detailní odhady přínosné týmu samotnému. Podívejme se nejprve na reálnou přesnost takových odhadů. V podstatě, každý odhad je jen jakási předpověď. Slovní spojení ‘přesný odhad‘ je oxymoron. Nemůže nastat. Proto také ve Scrumu neodhadujeme, kdy bude jedna konkrétní věc hotová, ale kolik Product Backlog Items se nám vejde do Sprintu. Nečekané vlivy, které se týmu za Sprint stanou, se tím zprůměrují. Každá individuální story může být výrazně jiná, než jsme čekali, ale v globálu to vyjde. Jedna bude náročnější, jiná snazší, někde se zasekneme, jinde to půjde lépe, než jsme čekali a obavy se nenaplní. Jediné, co je pro plánování Sprintu potřeba, je dobré porozumění Backlogu a jednotlivým Stories. Nikdy bychom neměli do Sprintu plánovat věci, kterým nerozumíme – ale v takovém případě ani pokus o odhady tásků nepomůže.

Praktika, která týmům pomůže porozumět položkám Backlogu a na základě toho je naplánovat do Sprintu je rozpadnout Stories na tásky/aktivity, o kterých věří, že je dokáží dokončit za maximálně den (tedy od Standupu do Standupu). Některé takové tásky budou trvat třeba i tři, čtyři dny, jiné tým dokončí za pár hodin. Není důležité zkoumat tyto výjimky, ty se stanou, ať budete dělat, co budete dělat. A jestli to nejsou výjimky a všechny tásky se ukázaly být příliš malé nebo příliš velké, příští Sprint to napravte tak, aby byly v průměru dokončitelné za den. Je to zdánlivě to samé, také odhadujeme, ale je ohromný rozdíl, jestli na takovou tásku napíšete 8h a nebo se jen každý Standup z odstupu podíváte na vaší Scrum tabuli a zhodnotíte celková posun týmu. Není třeba nic počítat. Scrum je empirický proces, koriguje se sám. Někde začněte a uvidíte. Obecně je nejlepším odhadem včerejší počasí. Stačí naplánovat tolik položek Backlogu, kolik jste dokončili minule. Co se tásků týče, když vám rozpadlé aktivity vyjdou na tak cca na polovinu dní, bude to tak akorát. Obvykle se totiž některé tásky v průběhu rozpadnou na menší kousky a jiné vzniknou. To je zcela normální, neboť řešení vniká teprve v průběhu Sprintu. Zkuste to a uvidíte, jak to půjde. Příští Sprint můžete cokoli změnit tak, abyste našli správný balanc a rytmus.

Sprint Review

Sprint Review je jednoduchý meeting, který ale většina firem nepochopila. Jak se jako Agilní Coach chodím dívat na různé Scrum týmy, nejčastější chybou je, že Sprint Review považují za Sprint nebo Release status. A tak se tenhle zajímavý meeting stává pro spoustu firem noční můrou. Rozhoduje se zde, jestli byl tým úspěšný, kolik slíbil a kolik dodal. Ale to je zcela mimo definici toho, co by se tu mělo dít.

Jestli jste si oddychli, že takhle to u vás není, mám pro vás druhou nejčastější chybu, a to že na Sprint Review prezentuje tým Product Ownerovi co dokončil. Je to asi o chlup lepší, ale pořád úplně vedle. Product Owner je součást Scrum týmu a tedy dokončenou funkcionalitu akceptuje hned jak je hotová, tedy v průběhu Sprintu. Tedy na review už ji dávno viděl a dal na ni zpětnou vazbu.

Další chybou v pořadí je, že neprezentuje tým, ale Product Owner. Tým je přeci banda introvertů co nerozumí businessu, tak jak by mohli předstoupit před zákazníka, že? No alespoň oproti předchozím variantám něco ukazujete zákazníkovi a dostáváte zpětnou vazbu. O tu jde totiž na Sprint Review především.

Ideálním stavem je, že tým prezentuje zákazníkovi, co dokončil. A na oplátku získá zpětnou vazbu od zákazníka. Není to žádná technická prezentace jak je to naimplementované, ani přehlídka jednotlivých User Stories, ale souhrnná prezentace toho, jak jsme doručili za daný Sprint hodnotu definovanou cílem Sprintu.  Jak již jsem naznačila, prezentuje tým. Kdo konkrétně? No to je snadné, kdokoli. Z výborně fungujících týmů je schopný hodnotu Sprintu prezentovat kdokoli. Jak to vypadá v praxi? Přijdete na Sprint Review, tým vylosuje jednoho člena a ten prezentuje. Že to není možné? Když tým spolupracuje v rámci Sprintu vždy na jedné UserStory (viz praktika “One UserStory at a time“), není to problém. Je důležité si uvědomit, že neprezentujeme detailní řešení, ale Sprint Goal, tedy hodnotu dodanou v daném Sprintu.

Jak může vypadat Product Backlog – Příklad

Jak tak školím různé kurzy, spousta lidí se ptá, jestli mám někde příklad Product Backlogu. A já nikdy nevím jak jim vysvětlit, že je to snadné a nic složitého na tom není. Můžete začít hned. Stačí vám pro to takové ty malé podlouhlé papírové kartičky, anebo jednoduchý Microsoft Excel, či Google Sheet.

Nejjednodušší variantu Product Backlogu si můžete představit jako kartičky  (jeden sloupec Excelu), kde jednotlivé funkcionality jsou například:

Automatický výběr piva na párty
Vybrat nové pivo na ochutnání
Objednat oblíbené pivo
Doporučit drahé pivo

Jak asi víte, nejčastější formou psaní Product Backlog Items je User Story. V takovém případě Backlog obvykle rozšíříte o jméno a takzvané Conditions of Satisfaction.

Jméno
UserStory
Conditions of Satisfaction

Automatický výběr piva
Jako Jon (zaneprázdněný manager) chci, aby mi “Beerer” vybral piva na párty, abych mohl různorodým výběrem oslnit přátele.
Jon překvapí své přátele výběrem z lokálních pivovarů po celém světě a pivy různých chutí.

Vybrat nové pivo na ochutnání
Jako Jon chci zobrazit katalog piv, abych si mohl vybrat nějaké nové pivo na ochutnání.
Jon může porovnat piva podle chutí přímo z katalogu.

Objednat oblíbené pivo
Jako vracející se zákazník chci vidět oblíbená piva, abych si je mohl znovu objednat.
(může zůstat prázdné – conditions of satisfaction nejsou nutná).

Doporučit drahé pivo
Jako vlastník obchodu chci, aby “Berrer” doporučovat přednostně drahá piva, abych měl větší zisk.
Zákazníci se necítí pod tlakem moc utrácet.

Popřípadě můžete ještě přidat několik volitelných položek jako: ID, Estimate, Epic, a Priorita.

ID PBI Estimate Epic Priority
234 Automatický výběr piva na párty 20 Order 1
556 Vybrat nové pivo na ochutnání 8 Order 15
123 Objednat oblíbené pivo 3 Order 40
89 Doporučit drahé pivo 5 Profit 50

No a to je vše. Jak vidíte, není na tom nic složitého, nic co by vyžadovalo žádné komplexní nástroje složitější než podlouhlé papírové kartičky nebo Excel Sheet. Zkuste a uvidíte.

Žádný meeting ve Scrumu není klasický status meeting

Víte, že žádný meeting ve Scrumu není klasickým status meetingem?

Daily Scrum (Standup meeting)

Začněme Standupem, kde antipaternem je, že jednotliví členové týmu reportují, co všechno dělali a co dělat budou. Asi aby je ScrumMaster nebo ostatní členové mohli kontrolovat.

Standup je tu ale proto, aby se tým a jeho členové každý den rychle zastavili a řekli si, jestli jdou správným směrem a jestli ještě stále věří tomu, že zvládnou dodat Sprint Goal. Proto nekontrolujeme, čím trávili čas, ale soustřeďujeme se na to, co je hotovo, a jak budou spolupracovat na tom, co mají teprve dokončit.

Sprint Review

Dalším v řadě je Sprint Review, kde antipatern je prezentovat, které konkrétní UserStory se dokončily a které ne. Spousta týmů status dotáhla do dokonalosti a dokonce ukazuje prezentaci a jakési grafy a vyhodnocuje úspěch a neúspěch Sprintu.

Sprint Review je tu ale proto, abyste ukázali Potentional Shipable Product Increment – tedy to, co tým dokončil – zákazníkovi a získali na základě toho zpětnou vazbu. Ta je potom cenným vstupem pro Backlog Refinement a pomáhá vám dodat úspěšný produkt.

Retrospektiva

Do třetice je tu Retrospektiva, kde antipaternem je začínat Retrospektivu tím že procházíte jednotlivé body z minula a hodnotíte, jak se vám povedly dokončit a jestli zabraly na daný problém.

Retrospektiva ale má být kreativním workshopem, kde se tým zamýšlí nad tím, co by chtěli změnit, co jim vyhovuje, co naopak chtějí zlepšit. Aby fungovala, musíte se na sebe umět podívat jinýma očima, z venku. A když začnete statusem, tak ten nadhled ztratíte a v další fázi pak jen zopakujete, co vám zbylo z minula. Máte-li pocit, že se věci nehýbou kupředu, určitě to na další retrospektivě zazní znovu i bez opakování. A status těch pár Action Items z minula můžete dát na tabuli a skouknout na Standupu.

Proč je Backlog Refinement aktivita a ne meeting

Backlog Grooming se stal postupně velmi častou praktikou jak udržovat Product Backlog a rozumět jednotlivým User Stories. Týmy takový Backlog Grooming pořádají pravidelně jednou až dvakrát za Sprint, a trvá něco kolem 1-2 hodin. Když se ale podíváte na Scrum Guide, nikde se o takovém meetingu nic nedočtete. Jak tedy zajistit, že máme kvalitní Backlog a rozumíme mu bez Backlog Groomingu? Scrum Guide definuje pro tyto účely průběžně probíhající Backlog Refinement. Proč to není meeting? Protože všechny meetingy, kde musí být celý tým, jsou drahé. A když jsou dlouhé, obvykle nejsou ani moc efektivní.

Celý Backlog Refinement tedy můžete dělat jen jako sérii workshopů, kterých se účastní ti, pro které to zrovna dává smysl. Někdy je to jen malá skupinka složená z členů týmu, někdy se přidá Product Owner, jindy stakeholdeři. Vyjímečně se zúčastní všichni. Tyto workshopy děláme tak často jak je potřeba, abychom v každou chvíli měli připravený kvalitní Backlog na cca 2-3 Sprinty dopředu. Když tato aktivita probíhá dobře, tak všichni rozumí vizi produktu, vědí, jak se definuje business hodnota, mají přehled o velkých funkčnostech, které se chystají v budoucnu, a mají detailní porozumění toho, na čem budou pracovat v následujících Sprintech, jak co se týče business hodnoty tak představě o řešení problému. Jak poznáte, že je Backlog Refinement dobrý? Sprint Planning je potom jen rychlým checkem že víte, co v rámci Sprintu dokončíte, akceptace dokončených funkcionalit v rámci Sprintu Product Ownerem je formalitou, protože nevznikají nedorozumění a zákazníci jsou produktem, který na Sprint Review prezentujete spokojeni, a dávají zpětnou vazbu, která produkt zlepšuje, nikoli shazuje ze stolu.

Akceptační kritéria jsou ze starého neagilního světa

Akceptační kritéria jsou připravená odebrat se do starého železa. Už nejsou potřeba, a upřímně, nikdy to nebyl dobrý nápad. Byl to takový malý link, kterým se firmy snažily předstírat, že jsou agilní, ale mohly stále mentálně a mindsetem zůstat ve starém klasickém světě. Akceptační kritéria jsou totiž pozůstatkem detailní specifikace, kdy vývojář – rozumějme coding monkey – aby mohl začít pracovat, musel dostat detailní popis chování a řešení. Říkali jsme těm rozsáhlým dokumentům requirements a specifikace. A bez ní ani kuře nehrabe a vývojář nedá ruku na klávesnici.

Jak to že najednou nejsou potřeba? No ony vlastně nikdy nebyly. Ale zvyk je železná košile. Dělali jsme to tak vždy a tak proč v tom nepokračovat. Dodávaly nám jistotu. Měli jsme díky akceptačním kritériím pocit, že věci máme víc pod kontrolou. Že je můžeme vzít jako checklist a na konci Sprintu odškrtat, že jsme udělali vše, co bylo v zadání. Bohužel to nám ale nepomáhalo v tom mít fokus na dodání hodnoty, a týmy často jen dodaly, co tam bylo zadáno, a nepřemýšlely, jestli dosáhneme požadovaného efektu u zákazníka a v produktu.

Co tedy dělat aby to celé fungovalo? Celý tým by měl mít jasnou představu o tom, co za produkt dělá, které věci jsou z pohledu našeho businessu důležité a které ne. Toho se dá docílit tím, že se tým zapojí do visioning workshopů v rámci Backlog Refinementu, věnuje se nejen technologii, ale porozumí zákazníkovi a jeho potřebám. To je něco, o co se v Agilu snažíme už od začátků s Extreme Programmingem, kdy tím nejextrémějším kouskem XP bylo mít zákazníka v týmu. V momentě kdy tým porozumí celkovému smyslu produktu, mohou se začít podílet na jeho rozvoji. Teprve tehdy jsme vytvořili tu pravou end to end vazbu na zákazníka a změnili své vnímání vývoje softwaru z kódování na dodávání hodnoty pro zákazníka. A pak už můžeme s klidným svědomím použít User Story as a Card – tak jak byla vždy definovaná, kde důraz není kladen na detailní popis chování, ale na business hodnotu kterou dodáváme. Proto se nám vše, co potřebujeme vědět, v pohodě vejde na malou podlouhlou index kartičku. Detaily, jak této hodnoty dosáhneme, vznikají v rámci konverzace o funkcionalitě v průběhu Sprintu v době, kdy na dané UserStory tým pracuje. Výhoda konceptu UserStory as a Card je to, že udržuje Backlog jednoduchý, klade důraz na konverzaci a pomáhá týmům spolu Product Ownerem proritizovat a dodávat tu nejdůležitější hodnotu nejdříve. Kdybyste stále měli pocit, že je škoda nechat druhou stranu kartičky pro User Story prázdnou, zkuste tam napsat tzv. Conditions of Satisfaction. Rozdíl je, že takto definovaná kritéria úspěchu nejsou seznamem, co to musí dělat a jak, ale co se má stát až to naimplementujeme. Tedy jaký má věc vzbudit v zákazníkovi pocit, co má udělat, jak má produkt používat.  Je to takový funkční test, který pomáhá lépe definovat možný směr řešení, ale stále nechává volnost jak danou UserStory vyřešit.

Jako John,
si chci vybrat piva na párty,
abychom měli zajímavý výběr pití.

Akceptační kritéria by mohly vypadat následovně:

  • Výběr podle zemí, značek, druhů a chuti
  • Full text vyhledávání
  • Omezení ceny

Takto definovaný list v podstatě definuje řešení a tým už to jen slepě naimplementuje.

 

Na rozdíl od toho, když píšeme Conditions of Satisfaction, zaměříme se na hodnotu:

John vidí, nakolik jsou vybraná piva různorodá, a dostává doporučení na další piva do výběru.

Tento příklad dává větší možnost řešení ovlivnit a vymyslet něco kreativního a v podstatě dodefinovává UserStory. Zároveň se na danou funkcionalitu dívá z pohledu zákazníka, což je vždy dobře. Jak jistě víte, zákazník nemusí být vždy koncovým uživatelem, např:

Jako Beer Shop CEO,
chci zákazníkům nabízet prioritně dražší značky,
abychom měli větší zisk.

 

Conditions of satisfaction pak mohou vypadat následovně:

Zákazníci nabídky často využijí, ale necítí se pod tlakem kupovat drahá piva.

 

Takhle definované parametry úspěchu mimo jiné donutí tým napsat nějaký trackovací mechanismus jak sledovat kolikrát a kteří zákazníci nabídky využili a funkcionalitu na základě toho upravovat a zlepšovat.

Asi je to běh na dlouhou trať a nejde do něj naskočit hned. Ale je to směr, ke kterému bychom se jako industry měli blížit. Jedině tím směrem lze dosáhnout je pravé Agility a úspěchu.

Když už se rozhodnete odhadovat, odhadujte včas

Spousta týmů dělá stejnou chybu. Odhaduje UserStory – položky Backlogu až na Sprint Planningu. Ale to je už pozdě. Odhady by měly sloužit Product Ownerovi k rozhodnutí, jestli chce do dané funkcionality investovat, nebo jestli je moc drahá a je třeba se nad ní ještě zamyslet, probrat se zákazníkem, či rovnou rozdělit, aby tzv. poměr cena/výkon tedy očekávaná business value/effort vyšlo lépe.

Kdy je tedy správný čas na odhady? Kdykoli tak, abyste dopředu netrávili čas na věcech hluboko v Backlogu, protože ty se ještě určitě změní, ale také abyste v případě potřeby byli schopni doplňující informace včas zjistit, rozmyslet otázky, které padly při hodnocení, a také měli dostatek času rozmyslet, jak na dané položce Backlogu budete jako tým pracovat.

Jak již jsem říkala v úvodu, na Sprint Planningu je již pozdě, protože jakákoli nejasnost Sprint Planning protahuje donekonečna, nebo vede k nepříliš silnému commitmentu typu ‘no tak uvidíme, kolik toho stihneme, stejně nevíme, co že se to přesně má udělat‘.

Obecně mají být odhady součástí Backlog Refinementu, tedy je můžete dělat kdykoli před Planningem. Prakticky to znamená například jako součást Backlog Groomingu v půlce Sprintu, nebo třeba tři dni před začátkem Sprintu na speciálním Estimation meetingu hned po Standupu. Obě dvě řešení zajišťují dostatek času pro opakování estimace nad nejasnými UserStories a obě dvě možnosti vedou ke kratšímu a kvalitnějšímu Sprint Planningu což je rozhodně dobře.

Různé přístupy ScrumMastera – ScrumMaster State of Mind model

Jako ScrumMaster můžete aplikovat několik přístupů. Jedním z modelů, který je popisuje, je ScrumMaster State of Mind, který jsem popsala ve své knize „The Great ScrumMaster – #ScrumMasterWay“, která je online pro Kindle formát na Amazonu a v papírové podobě je jí možné výhodně získat spolu s registrací na Agile Prague Conference.

ScrumMaster State of Mind

ScrumMaster State of Mind je taková mapa, kam se ScrumMaster může vydat. Řekněme, že nejčastější přístup na začátku transformace je vysvětlovat, učit, sdílet zkušenosti. Efektivní učení je pro tým na začátku Agilní transformace kritické. Když nepochopí, co, a hlavně proč dělají, změna mindsetu a kultury ani nenastane.

Dalším přístupem, který ScrumMasteři obvykle volí je odstraňovat překážky. Přeci musí týmu pomoci, od toho tu jsou. Tady se cítí dobře a je za nimi vidět reálná práce. Bohužel to s sebou nese i nevýhodu. ScrumMateři se tu totiž cítí tak dobře, že se často stanou asistentkami týmu a aktivně si hledají práci. Tým se pak ovšem nerozvíjí, nezlepšuje, ani nepřebírá zodpovědnost.

Třetím kvadrantem kde se ScrumMaster může pohybovat je Facilitace. Spousta ScrumMasterů ji omezí jen na vybrané Scrum meetingy, ale to ovšem zdaleka nestačí. ScrumMaster by měl být schopen facilitovat nejen tyto meetingy, ale v podstatě libovolnou komunikaci. Předejde tak konfliktům v jejich počátku, kdy je ještě snadné je odbourat.

Posledním přístupem, který si jako ScrumMasteři můžete vybrat je Coaching. Tady na rozdíl od prvního kvadrantu nepotřebujete mít žádnou znalost o daném tématu. Coaching je totiž jen o schopnosti klást dobré otázky pomocí kterých ScrumMaster nastaví týmu zrcadlo a zvýší jejich vlastní uvědomění a pomůže jim nalézt jejich vlastní řešení.

ScrumMaster State of Mind model

Jak aplikovat ScrumMaster State of Mind model

Když to shrnu, jako ScrumMaster máte na vybranou čtyři přístupy: učit, odstraňovat překážky, facilitovat, coachovat. Mezi nimi si můžete vybrat podle dané situace. To ale ještě není plný obrázek. Podstatnou část ScrumMaster State of Mind modelu tvoří prostřední část, kde ScrumMaster jen pozoruje. A na základě svého pozorování si vybere, který přístup pro danou situaci použije a pak se zas vrátí a podívá se, jak tento přístup zabral. Když funguje, můžete pokračovat. Když ne, je lepší zvolit jiný přístup.

Co dělá ScrumMaster když je tým samoorganizovaný

Dlouho mi vrtala hlavou otázka, co dělá ScrumMaster, když je tým samoorganizovaný. Když totiž přijmeme fakt, že cílem ScrumMastera je ‘nedělat nic‘, tedy že se nemá stát ani asistentkou ani maminkou týmu, ale nechat tým se sám organizovat, je tu problém. Co tedy budu dělat, až se mi to podaří? A protože to byla hodně častá otázka, tady je odpověď.

#ScrumMasterWay

#ScrumMasterWay je koncept, který jsem poprvé popsala ve své knize „Great ScrumMaster – #ScrumMasterWay“, která je dostupná pro Kindle formát na Amazonu a někdy během roku bude k dostání i v papírové podobě. #ScrumMasterWay je tedy odpovědí na otázku nejen co dál, ale i co že to vlastně je ScrumMaster.

#ScrumMasterWay: Můj tým

První úroveň je jednoduchá. Jmenuje se ‘Můj tým‘. V tomto vývojovém stádiu se ScrumMaster většinou stará o svůj development tým. Učí členy týmu pracovat ve Scrumu, společně zlepšují své procesy a praktiky. Tato úroveň je klíčová pro úspěch první etapy Agilní transformace. Cca za šest měsíců byste na této úrovni měli dosáhnout svého cíle a tým by měl být víceméně samostatný v rámci definice self-organized). Bez ohledu na to je ale i v pozdějších fázích transformace důležité se týmu a jeho rozvoji věnovat.

#ScrumMasterWay - MyTeam

#ScrumMasterWay: Vztahy

Druhá úroveň #ScrumMasterWay konceptu se zaměřuje na vztahy týmu s okolím. ScrumMaster už se nemusí tolik věnovat rozvoji týmu samotného, protože jeho členové už umí lépe komunikovat, spolupracovat a zlepšují se. V této vývojové fázi se ScrumMaster primárně zaměřuje na bezprostřední okolí development týmu. Jak funguje vazba týmu a Product Ownera? Jak zná zákazníka a chápe business value? Jak řídíme produkt a jaké metody Agile Product Ownershipu používáme? Jak si tým rozumí se svým managerem? A jak se nám spolupracuje s ostatními týmy? To všechno jsou otázky které vedou ke zlepšení okolí týmu a rozšíření principu samoorganizace na větší celek. V této fázi Agilní transformace obvykle nahrazujeme poslední zbytky tradičního mindsetu Agilní kulturou zaměřenou na spolupráci a převzetí zodpovědnosti. Za cca rok byste měli být na dobré cestě a mít čas se jistou část svého dne věnovat i třetí úrovni #ScrumMasterWay konceptu.

#ScrumMasterWay - Relationships

#ScrumMasterWay: Systém

Poslední úroveň #ScrumMasterWay konceptu je zaměřena na systém jako celek. ScrumMasteři se dívají se na celou organizaci nebo její část jako na systém a aplikujete koncepty jako system thinking, organization and relationship coaching, management 3.0, apod., aby self-organizaci rozšířili na úrovni organizace jako takové. V této úrovni je důležité se zaměřit na mindset, kulturu a hodnoty v rámci celé organizace. ScrumMasteři většinou pracují jako tým a dorostli do opravdových leaderů, kteří organizaci posouvají o stupeň dál.

#ScrumMasterWay - Entire System

Pohybovat se na všech třech úrovních #ScrumMasterWay konceptu je náročné. Je to hodně práce, která na ScrumMastera klade vysoké nároky, aby se stal enterprise Agile coachem, zlepšil se ve facilitaci, ale hlavně se stal leaderem, který organizaci posouvá dál. Ač na některých úrovních #ScrumMasterWay  konceptu budete jako ScrumMasteři trávit většinu času, nezapomeňte, že ostatní úrovně jsou neméně důležité.

Scaling Agile and Scrum

Poslední dobou se vyrojila spousta různých metod jak škálovat Scrum a Agile proces na prostředí velkých produktů. Takže než se chytíte do sítě různých klasicky smýšlejících organizací, které ve Scalingu konečně našly cestu jak naoko aplikovat Scrum, ale praktiky nemuset měnit, tak se zkuste podívat na zcela Agilní přístup jak na to.

Není na tom nic až tak složitého.  Jen musíte rozumět tomu, co je opravdu Scrum. Není to totiž proces jak řídit vývoj, ani něco kvůli čemu máme Backlog a Standupy, ale přístup, filosofie a kultura. Obecně se tomu říká empirický proces. Tedy velice volně definovaná pravidla hry. Každá taková Scrum hra má své hřiště s pevně danými mantinely a pár pravidly jak hrát. Jinak by to byl chaos. Ale už neříká, co přesně v které situaci musíte udělat. K tomu jsou definované best practices. A Scaling Scrum je často ukázkou, jak k tomuto problému lze přistoupit neagilně a nescrumově – tedy kolem Scrum týmů vytvořit složité byrokratické struktury nových rolí, procesů,  meetingů, pojmů.  Viz obrázek, kde ta bílá plocha je to, co je původní Scrum.

Opačný přístup zvolil Bas a Craig s frameworkem LeSS. Stejně tak, jako když Ken kdysi dávno definoval Scrum a měl možnost si zvolit, které praktiky budou součástí Scrumu a které ne, volil spíše méně než více. A protože Scrum je něco, co se stále vyvíjí, je dnes na rozdíl od začátku nedílnou součástí Scrumu Retrospektiva, ale například story pointy, User Stories and Scrum Board jsou jen doporučené praktiky. Proto je Scrum tak úspěšný. Je totiž aplikovatelný úplně kdekoliv. Když se vrátím k LeSS Large-Scale Scrum frameworku, tak přesně to je hlavní filosofií LeSS – ‘Do more with LeSS‘.

Co se tedy podle LeSS musí změnit proti jednoduchému obrázku, kde máme jen jeden Scrum tým? Na první pohled nic zásadního. Pořád máme jeden stejný Sprint, jeden ‘potentional shipable product increment‘, jeden kód a continuous integration. Pořád máme cross-functional týmy které dokážou jako tým samostatně dokončit jakoukoli položku z Product Backlogu. Týmy si dělají své vlastní Standupy a Retrospektivy. Pořád máme všichni jeden cíl, dodat hodnotu zákazníkovi. A tak pro jeden produkt máme jeden Product Backlog a jednoho Product Ownera – a nemusíte se bát, zvládne to. On totiž Product Owner nikdy nepracuje sám a i na tom jednoduchém 1-1 obrázku má spoustu pomocníků.

Takže v podstatě jediné, co se změnilo je, že na úrovni development týmů se zajímáme co dělají ostatní týmy, jednotliví členové spolu řeší závislosti. Ne co se týče businessu, protože položky Backlogu jsou nezávislé, ale závislosti v kódu, dané konkrétním řešením dané Story. Dále obvykle posíláme zástupce týmů, aby chodili jako pozorovatelé na Standup ostatních týmů a identifikovali tak včas případné návaznosti a rizika. Na úrovni produktu už není jen na Product Ownerovi, aby před Sprintem vybral priority pro příští Sprint, ale obvykle se takového výběru zúčastní i zástupci týmů, aby zohlednili jejich různé zkušenosti. Nakonec je tu ještě jeden nový meeting – Overall Retrospective – jejímž cílem je udělat retrospektivu na téma jak nám jde spolupráce. A jak se asi dá očekávat, jsou tam ScrumMasteři, Product Owner, a zástupci týmů a koná se vždy po skončení Sprintu.

Nic složitého. A jestli to funguje? Ale jistě. První implementace Scrumu, ve které jsem se ocitla ještě jako vývojář, byla přesně taková. Tři týmy, jeden produkt. Časem jsem byla ScrumMasterem několika týmů právě v takovém uspořádání, tentokrát pro šest týmů. A jako Agilní coach jsem takové uspořádání pomáhala implementovat v mnoha různých firmách. Takže ano, funguje to, je to snadné, je to Agilní, a přináší to výsledky. Jestli jsem vás nepřesvědčila, můžete se podívat na některou z LeSS case studies nebo na detailní popis LeSS Large-Scale Scrum Frameworku.