Od koho a jaká Scrum certifikace má opravdu hodnotu

Za autora Scrumu je považován Ken Schwaber a Jeff Sutherland. První veřejné školení Scrumu ale nakonec prý realizoval Ken Schwaber společně s Mikem Cohnem. Ono to možná nakonec není až tak důležité, kdo byl a nebyl první, důležité je, že všichni tito zakladatelé Scrumu a dnes vlastně Scrum legendy se v té době sdružili pod křídla Scrum Alliance, kterou založili v roce 2002 (zakladatelé byli Ken Schwaber, Mike Cohn a Esther Derby). Tím se vlastně Scrum Alliance stala první certifikační autoritou, která vydávala Scrum certifikace. Vznik certifikací nepřímo zapříčinila firma Xerox, která potřebovala své zaměstnance nejen proškolit ale i ocertifikovat – tak vzniklo CSM – Certified ScrumMaster.

Postupem času se cesty Kena a ostatních z původní Scrum komumity rozešly, Ken Schwaber si založil Scrum.org a Scrum Alliance pokračovala dál v započaté cestě. Obě tyto společnosti vydávají certifikace na Scrum proces, ale postupem času se jejich přístup k certifikacím diametrálně rozešel. Výsledkem je, že Scrum Alliance se drží původního myšlenky, jak certifikace udělovat a jak držet jejich kvalitu a vydává certifikace, které dnes mají na trhu opravdovou hodnotu. Díky tomu také jejich počet prudce roste a i pozice Scrum Alliance na světovém trhu. Je skvělé, že aktivní součástí Scrum Alliance je dodnes Jeff Sutherland, jeden ze spoluautorů Scrumu. Tím je zabezpečena kontinuita, aktuálnost, ale také kvalita. Ostatně podívejte se na poslední aktualizaci Scrum Guidu – je z roku 2016 a stojí za ním Jeff Sutherland (Scrum Alliance) a Ken Schwaber (Scrum.org).

Nikdo neříká, že nemůžete Scrum umět bez certifikace či certifikace je zlatý grál. Samozřejmě není. Ale pokud o certifikaci opravdu uvažujete, tak si dobře rozmyslete, od koho certifikace je. Díky popularitě Scrumu různá uskupení tvářící se jako certifikační autority tuší zisk snadných peněz – vždyť stačí test za pár dolarů a certifikace je vaše. Ale v tomto případě má tak cenu papíru, na kterém je vytištěna. Ostatně takový papír s nápisem Certifikace si můžete vyrobit i sami ve Wordu a bude mít úplně stejnou hodnotu. A je smutné, že do této skupiny se před lety přidal i Scrum.org, když umožnili certifikaci jen za test, čímž sami popřeli cestu, po které po založení šli a zcela opustili tlak na kvalitu a jméno certifikace. Když už ale do nějaké certifikace investujete, vždy je dobré mít certifikaci od někoho, kdo je pod Scrumem opravdu podepsaný, rozumí mu, a jehož certifikace má opravdu světově uznávanou platnost – a zde je aktuálně jen 1 možnost: certifikace od Scrum Alliance.

Scrum Alliance jako první certifikační autorita má díky své dlouhé historii celosvětově rozhodně větší impact a vlastnictví certifikace od Scrum Alliance je rozhodně výborná volba. Navíc v ČR a na Slovensku školení s certifikacemi od Scrum Alliance dlouhodobě a úspěšně pořádá několik společností a tyto certifikace jsou i na našem trhu velmi dobře známé a uznávané. Školení mohou vést pouze certifikovaní trenéři, kteří musí splnit opravdu náročné podmínky. Získání licence Certified Scrum Trainer není vůbec snadné a certifikační proces trvá rok a déle a zdaleka ne každý v něm uspěje. Díky tomu je laťka na kvalitu školení nastavena opravdu vysoko, čímž se drží i vysoký standard certifikací.

K získání je několik certifikací, ať nejoblíbenější CSM – Certified ScrumMaster, pro produkťáka CSPO – Certified Scrum Product Owner, či developerská CSD – Certified Scrum Developer či relativní novinka pro managery a leadery organizací CAL1 – Certified Agile Leadership I a následný program CAL2 – Certified Agile Leaderhip II. Jako další level je tu Advanced level, tj. A-CSM a A-CSPO po kterém následuje level professional CSP – Certified Scrum Professional kde držitelé musí prokázat praktickou zkušenost se Scrumem. I tento professional level se dnes dělí na dvě možnosti podle role, tj. CSP-SM a CSP-PO. A následně CTC – Certified Team Coach a CEC – Certified Entrprise Coach kteří spolu s CST – Certified Scrum Trainer jsou těmi pravými pomocníky s Agilní transformací.

Jinak pro představu ScrumAlliance je založená jako non-profit organizace, která se snaží investovat do Agilní a Scrum komunity. Pořádá pravidelně každý rok tři globální Scrum Gatheringy (Evropa, USA, Asie), a spoustu regionálních Gatheringů, coach campů, sponzoruje menší konference, podporuje lokální komunity. Mezi trenéry jsou opravdové legendy, ať už zmiňovaní Jeff Sutherland a JJ Sutherland, Mike Cohn, autoři LeSSu (Large Scale Scrum) Craig Larman a Bass Vodde, Maria Matarelli, která posouvá Agile a Scrum za hranice SW vývoje a zaměřuje se na Agilní marketing, Joe Justice, který je expert na Scrum v HW oblasti, Hendrik Kniberg známý ze Spotify, Roman Pichler, evropská legenda produktového vývoje, a tak bychom mohli pokračovat.

Pokud o certifikaci na Scrum uvažujete, dobře zvažte, jakou certifikaci si vyberete. Rozhodnutí je samozřejmě na vás, ale pokud mohu něco doporučit, vyhněte se tradičním certifikačním agenturám, které certifikují Waterfall – ti Scrumu nerozumí a jejich certifikace v Agilním světě nemá hodnotu. Vyhněte se různým Indickým agenturám s krásnou fotkou sídla v USA. Vyhněte se agenturám, které nabízí certifikaci za test. Agile = Mindset, a to se testem nedá ověřit. A lidé, co se v Agilním světě pohybují, to dobře vědí, a tak tyto certifikáty nemají větší hodnotu než již ten zmíněný kus papíru, co si ve Wordu napíšete sami. Přeji dobrý výběr.

Update: 2019.

Disclaimer: Jsem Certified Scrum Trainer od Scrum Alliance, takže můžete říct, že jsem „zaujatá“. Ale já opravdu věřím, že školeni s certifikacemi od Scrum Alliance vedené jejich certifikovanými trenéry jsou nejlepší a mají na trhu největší hodnotu. Proto neškolím certifikační Scrum školení pro jiná uskupení. Dostávala jsem na toto téma v poslední době opravdu hodně dotazů, doufám že na ně tento blog-post odpověděl.

Jak řešit chyby ve Scrumu?

Jedním z častých dotazů, které dostávám, je jak řešit ve Scrumu chyby. Je lepší mít separátní tým na chyby a separátní tým na nový development, nebo cross-functional týmy co pracují na tom, co je zrovna potřeba, tedy chybách i nových funkcionalitách. Odpověď je snadná. Scrum optimalizuje business value. Definuje proto týmy jako cross-functional, které dokáží udělat jakoukoli změnu produktu, co přináší business value. Tedy chceme tým (týmy) co pracují na tom, co je zrovna v produktu potřeba. Ať už je to chyba, nebo nová feature.

První, co je třeba si uvědomit je, že chyba je zase jen změna funkcionality, takže není sebemenší důvod, proč by chyby nemohly jít do Backlogu jako jakékoli jiné věci, které chcete ve vašem produktu změnit. Jsou to prostě obyčejné položky Backlogu, které by měl Product Owner prioritizovat podle business value. Když dám příklad, představte si, že máte hru, kde si hráči můžou nastavovat vlastní avatary. A jedním z možných nastavení je i barva vlasů. A co čert nechtěl, pokaždé když se odhlásíte, váš avatar barvu vlasů ztratí a je zase blond. Otrava, že? Jasná chyba, řekli byste. Takže ji musíme dát do Backlogu a opravit. Dokonce na to klidně můžete použít formát User Story a napsat:

Jako hráč,

chci, aby si můj avatar pamatoval barvu vlasů,

abych ji nemusel nastavovat pokaždé znova.

Když to uděláte, stane se zajímavá věc. Z něčeho co se musí opravit, se stane něco, co má business value (abych ji nemusel nastavovat pokaždé znova) a lze prioritizovat relativně vzhledem k ostatním položkám Product Backlogu. V tomto konkrétním případě nás to donutí zjistit, kolik hráčů tuto funkcionalitu s chybou kdy použilo, ale hlavně kolika z nich vadilo, že se přes noc stali blond. A když zjistíte, že existuje jediný hráč, kterému vadí, že nemá barevné vlasy, tak možná položka do Backlogu bude úplně jiná a bude naopak znamenat odstranění funkcionality jako takové.

Co když ale chyba není takhle nedůležitá, ale je kritická? Stojí vám produkce, uživatelé nemůžou produkt používat? No tak ji opravte. Že vám to narušuje Sprint? Je to výjimečná situace, a výjimky se dějí. Když celý tým onemocní, taky to berete jako výjimku a moc to neřešíte. Je třeba si uvědomit, na co klademe důraz. V tradičním světě waterfallu bylo hlavní chybu co nejrychleji opravit. Tím jsme problém považovali za vyřešený. V Agilním světě ji opravíme, a klidně i hned jestli je tak kritická, že nepočká do dalšího Sprintu. Pak si odpočineme, a zamyslíme se, co uděláme příště pro to, aby se nám to už nestalo. Najdeme rootcause, změníme své procesy, refactorujeme, prostě uděláme cokoli, aby se takovéhle kritické chyby neobjevovaly, a ty, které nám přeci jen utečou, jsme mohli v pohodě považovat za výjimky. Protože výjimečné věci se dějí výjimečně, moc nám nevadí. Dokážeme se z toho otřepat. Stejně jako když celý tým onemocní. Naopak obvyklé věci se dějí obvykle a mohou být pěkně vyčerpávající.

Knihu The Great ScrumMaster: #ScrumMasterWay vydalo nakladatelství Addison-Wesley

The Great ScrumMaster:#ScrumMasterWay

Začátkem roku 2016 jsme dopsala svoji další knihu The Great ScrumMaster: #ScrumMasterWay, kterou jsem si původně vydala sama jako elektronickou publikaci a distribuovala ji pomocí Amazonu ve verzi pro Kindle a následně si nechala vytisknout i papírovou limitovanou full-color edici v omezeném nákladu. Kniha se prodávala překvapivě hodně dobře a tak jsem si už byla vyzvednout pěkný šek od Amazonu v americkém Wells Fargu – dáte otisk palce a peníze jsou vaše 🙂 A dvakrát vyprodala limitovanou barevnou papírovou edici. Na rozdíl od první knihy Agilní metody řízení projektů (vydal Computer Press v roce 2014) jsem knihu tentokrát záměrně psala anglicky, protože mi přišlo téma výborného Scrum Mastera jako opomíjené a věřila jsem, že mé dlouholeté zkušenosti jsou aplikovatelné celosvětově, nejen u nás v ČR či na Slovensku, a kniha se prosadí. A měla jsem štěstí a tento názor se mnou sdílí i americké nakladatelství Addison-Wesley Professional (součást skupiny Pearson), které patří mezi jedno z největších světových nakladatelství technické literatury, a právě v těchto dnech moji knihu vydává. Mám z toho opravdu velkou radost, že kniha je pod křídly velkého a známého nakladatelství a bude dostupná na celosvětovém trhu.

Cesta k tomu cíli nebyla úplně snadná a opravdu velkou zásluhu na tom má Mike Cohn, jedna z legend Scrumu, kterého kniha nadchla a doporučil ji jako další publikaci do své série, které pro Addison-Wesley dělá editora. Takže má kniha je teď součástí série: Addison-Wesley Signature Series (Cohn) a jsem tím velmi poctěna. Když se podíváte na ostatní knihy v sérii, myslím, že jsem ve velmi dobré společnosti 🙂 Od doby doporučení Mika Cohna uběhlo mnoho času, kdy editoři pracovali na textu a grafici vylepšovali mé kreslené obrázky, než se dnes kniha objevila na trhu, ale o to větší z ní mám radost. Všichni udělali výbornou práci a já jsem ráda, že jsem mohla pracovat s takovým týmem profesionálů.

Zuzi Sochova & The Great ScrumMaster: #ScrumMasterWay bookJak již z názvu vyplývá, v knize se primárně věnujeme roli ScrumMastera. Kdo je dobrým ScrumMasterem, co by měl ideální ScrumMaster znát a umět, jak si představuji cestu ScrumMastera od prvních kroků až do excelentního stavu. Prostě jak se stát tím nejlepším ScrumMasterem na světě :). Nejedná se o žádnou suchou teorii, snažila jsem se udělat knihu hodně praktickou, vizuální, s hodně příklady, tak aby to bylo opravdu prakticky použitelné a realizovatelné v běžném životě.

Kniha čerpá z mých reálných zkušeností z mnoha týmů a firem, definuje nový koncept #ScrumMasterWay, který ukazuje ScrumMasterům cestu jak se stát skvělým ScrumMasterem.

Mně se o knize špatně píše, a tak vám radši rovnou doporučím si ji přečíst. Pokud by vás zajímaly další detaily, na stránce greatscrummaster.com se můžete dozvědět o knize více. Knihu je možné objednávat na Amazonu. Jestli se vám kniha bude líbit, prosím doporučte ji svým známým a kolegům anebo mi napište recenzi a pomozte mi tak knihu dostat do světa.

Doufám, že se vám bude kniha líbit.

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.