Počas niekoľkých posledných mesiacov sa mi naskytla príležitosť zúčastniť sa viacerých plánovacích stretnutí tímov s rôznou dobou nasadenia agile. Od úplných začiatočníkov až po starých harcovníkov, ktorí agile aplikujú už viac ako päť rokov.
Zaujalo ma na nich to, že:
- Efektivita plánovania nezávisí od trvania aplikácie agile.
- Tímy bez feedbacku upadajú do stereotypov a iba aplikujú procesy.
- Tímy sa zamerajú na zjednodušenie práce (rozumej lenivejú) a úplne zabúdajú na dôvôdy prečo sa plánuje.
- Výsledkom nie je plán, ktorému všetci rozumejú.
- Plán nie je plánom tímu, ale plánom jednotlivcov.
- Nesprávne pochopenie kedy a ako aplikovať story pointy a kedy hodiny.
- Nepochopenie, prečo vlastne odhadovať čas.
- Sprinty napriek plánovaniu aj tak nie sú ukončené načas a tím napriek tomu necíti zodpovednosť.
Možno predpokladáte, že tieto chyby mali tímy, ktoré začínali. No nebolo to tak. Tieto chyby sa objavili v skúsených tímoch. Vedené certifikovanými scrum mastrami.
A výsledok? Frustrácie manažmentu z nejasného termínu dodania, čo vedie k neustálym zmenám priorít. To prirodzene frustruje zákazníka aj tím. Navyše to prispieva k nemožnosti plánovania, práve kvôli častým zmenám. A začarovaný kruh je na svete. Plánovanie je frustrácia, ktorá bolí a preto ho chceme mať z krku. Preboha, veď za tie 4 hodiny sa dá toho tak veľa stihnúť naprogramovať.
Pravda starých otcov
Jeden z mojich prvých manažérov ma učil pravidlo brúsenia sekery. Jednoducho povedané, nedá sa len stínať stromy. To aj drevorubač sa musí zastaviť, vybrať si ten správny smer, vybrať stromy a nabrúsiť sekeru. Až potom rúbať stromy tak, aby vládal aj na ďalší deň. Ako je to v IT? (Lepší?) Vývojár chce vyvíjať. Všetko ostatné je balast. Sekera sa brúsi iba ojedinele.
No to brúsenie sekery má niečo v sebe…
Pravda starých agilistov
Agilné princípy ukazujú ako z tejto frustrácie von. Začať treba Agilným Manifestom, ktoré dáva do popredia funkčný softvér. Vytvorený v spolupráci tímu, zákazníka tak, aby bol pripravený na zmeny.
Účelom plánovania je robiť plánovanie, nie vytvárať plány.
Teda:
- spoznať čo ideme dokončiť počas sprintu,
- chceme začať s čistým stolom, začať novú iteráciu,
- stanoviť si tímový záväzok k tomu, čo vieme dokončiť a koľko vieme dokončiť,
- vytvoriť priestor pre spokojnosť. Spokojnosť tímu, klientov aj manažmentu.
Agenda
Často odpozorovanou chybou je úplne chýbajúca agenda stretnutia. Nepripravenosť z pohľadu organizácie času, postupu, priestorov a potrebného materiálu. Tím jednoducho prišiel na plánovanie a nechal sa unášať. V takýchto prípadoch začujete najčastejšie otázku „Kedy vlastne máme obed?“. Áno, najčastejšie je práve táto prvou otázkou.
Čo je teda potrebné na plánovanie? Tu je niekoľko postrehov.
Čas
Predpokladajte trvanie asi 2-4 hodiny podľa pripravenosti backlogu. Je to dlho? Radšej si sadnúť na dve hodiny a dohodnúť než potom zmätene hľadať spôsob riešenia niekoľko dní…
Pripravenosť
Dobrý scrum master pripraví miestnosť. Projektor, laptop, funkčné pripojenie k elektronickej tabuli. Telefón(y), web kamery ak je to potrebné. Viditeľný časový rámec jednotlivých aktivít. Stopky alebo hodiny merajúce čas. A samozrejme pozve ľudí aj poslaním udalosti do kalendára. Dostatočne vopred. Najmenej 2 týždne vopred.
Dobrý produktový vlastník príde na plánovanie s pripravenými požiadavkami, ich prioritami. S odhadnutou biznis hodnotou, rizikom a MoSCoW. S akceptačnými kritériami. Vo forme, ktorú tím považuje za stav pripravený (definition of ready).
Dobré tímy už vedia čo v sprint backlogu je. Už si ho vopred každý preštudoval, napísal si pripomienky, resp. otázky a vie čo musí spraviť pre dokončenie požiadaviek. Má predpripravené konkrétne úlohy.
V takomto prípade dokončí 10 ľudí plánovanie sprintu do 2 hodín určite. Postrehli ste ale tú disciplínu v príprave?
Kartičky
Budete potrebovať kartičky, kartičky, kartičky. A ešte raz kartičky. Zabudnite na notebooky. Plánovanie má byť tímovou prácou (manifesto).
S kartami sa ľahko manipuluje, ľahko sa prioritzuje, delí, vytvára nový obsah. Backlog sa jednoducho dá rozdeliť medzi viacero ľudí, zparalelniť prácu. Plánovanie tak bude intenzívne, efektívne a produktívne. Až keď skončíte plánovanie, až potom zadajte všetky karty do nástroja. Ak to urobíte všetci z tímu, tak zadať niekoľko desiatok kariet vám nezaberie viac ako pol hodinu.
Aké je to s jedným laptopom a projektorom? Prduktívne. Všetci sedia okolo stola so založenými rukami a v tom lepšom prípade pozerajú na stenu. V bežnom prípade sa hrajú s telefónom pod stolom. Preto prduktívne.
Hmm, notebook
Ok, maximálne jeden, ak váš backlog je v elektronickom nástroji. Aby ste sa vedeli prehrabať v referenciách a ďalších potrebných informáciách. No prineste sprint backlog aj na kartičkách. Malá komplikácia, ktorá zvyšuje produktivitu.
Definícia Hotovo
Prineste si aj vašu definíciu Hotovo. Aby vám pomohla ako šablóna pri písaní úloh. Možno budete potrebovať viacero definícií. Pre user stories alebo chyby.
Rýchlosť a história
Aby ste sa vyhli zbytočnému deleniu požiadaviek na úlohy, do sprintu má produktový vlastník zaradiť iba toľko stories, koľko tím stihol dokončiť v predchádzajúcich sprintoch. Koľko story pointov bolo realné dokončených.
Kapacita
Zrátajte kapacitu tímu. Koľko dní budú členovia tímu v práci. Koľko hodín denne sa vedia venovať backlogu. Každú úlohu potom odhadnite v hodinách a nakoniec skontrolujte, či ich stihnete dokončiť.
Aby ste si vedeli overiť, či náhodou ste si nenaplánovali príliš veľa práce na sprint, ktorú nemáte možnosť stihnúť.
A výsledok plánovania?
Výsledkom dobrého plánovania sú:
- prioritizované user stories,
- dohodnuté akceptačné kritériá,
- identifikované riziká,
- rozdelené user stories na implementačné úlohy podľa definície hotovo a podľa charakteru požiadaviek,
- odhadnutý čas imlementácie úloh,
- overená možnosť dokončenia sprint backlogu podľa kapacity tímu a podľa dostupnosti jednotlivých členov tímu,
- pocit, že vieme takýto sprint dokončiť.
Pocit je často pravdivejší než akákoľvek matematika….
Veľa úspechov pri plánovaní ďalších sprintov, ktoré sa vám podarí dokončiť.