Planning Poker – Ako na lepšie odhady?

Plánovanie a odhadovanie prinášajú najviac problémov, s ktorým sa stretávame na projektoch, a to nielen v oblasti IT. Ak práce nie sú skončené včas, „zle sme to naplánovali“. Po projekte zapíšeme „lessons learned“ a aspoň chvíľu si môžeme nahovárať, že druhý raz si dáme väčší pozor. Osobná skúsenosť každého z nás je potom základom rôznych technických porekadiel, napríklad „každý projekt skončí po termíne, to je predsa normálne“. Dokážeme s týmto stavom niečo urobiť?

Najprv si ujasnime, v čom je chyba. Plánovanie alebo odhadovanie? V tomto článku sa zameriame na problémy pri odhadovaní, niekedy nabudúce si povieme o využití odhadov pre plánovanie.

Jednou z možností ako zlepšiť odhadovanie je skúsiť inú techniku – napríklad Planning Poker. Táto technika je založená na porovnávaní úloh medzi sebou. Náročnosť úloh sa odhaduje v nečasových jednotkách – najčastejšie nazývaných Story Points. Odhady pripravujeme spoločne v pracovnom tíme, čo prináša nové možnosti. Technika Planning Poker nám umožňuje:

• Zapojiť do odhadovania celý tím, čím sa spresňuje odhad a doplňuje špecifikácia.

• Vylúčiť vplyv dominantných alebo príliš pasívnych členov.

• Zakomponovať adekvátnu rezervu.

Leonardo Fibonacci (1170 - 1250)

Leonardo Fibonacci (1170 – 1250)

K odhadovaniu sa používajú hracie karty, odtiaľ názov Planning Poker. Každý hráč dostane sadu kariet s číselným radom. Číselný rad približne kopíruje Fibonacciho postupnosť, ktorú okolo roku 1100 n.l. zostavil taliansky matematik Leonardo Fibonacci (1170-1250 n.l.). Postupnosť je v počiatočnej časti prakticky lineárna, neskôr prechádza do exponenciálnej časti. Toto využívame pri odhadovaní na rezervu pre nepresnosť odhadu. Malé, jednoduché alebo známe úlohy sme schopní odhadnúť pomerne presne. Vieme určiť, že je úloha 2x väčšia ako iná úloha a tak bude chyba zanedbateľná. U väčších a komplexnejších úloh si nemôžeme byť istí. Exponenciálna časť nám umožňuje zakomponovať primeranú rezervu na túto neistotu. Čím väčšia úloha, tým väčšia rezerva. Nemusíme už preto ďalej pridávať k odhadom rôznu „vatu“ a niekoľko úrovní korekčných koeficientov.Poznámka: Technika nie je súčasťou Scrumu. Je však najčastejšie používanou technikou, ktorá sa v prípade aplikácie agilných metodík používa. O popularizáciu techniky pri odhadovaní v IT sa najviac zaslúžil Mike Kohn.

 

Ako technika funguje?

Na začiatku tím zvolí niektorú úlohu ako referenčnú. Asi najvhodnejšie je zvoliť stredne veľkú úlohu alebo takú, ktorá je veľkosťou najbežnejšia. Jej priradíme referenčnú hodnotu v číselnom rade. Odporúčam zvoliť strednú hodnotu blízko kolena zlomu krivky, napríklad čísla 5 alebo 8. Všetky ostatné úlohy potom porovnávame s touto referenčnou úlohou. Je úloha väčšia alebo menšia ako referenčná? Zohľadňujeme komplexnosť a náročnosť. Ak je úloha odhadnutá ako veľká, snažíme sa ju rozpadnúť na menšie samostatné úlohy. Veľkosť 40 je takáto veľká úloha, ktorú sa vždy snažíme rozpadnúť na menšie. Veľkosť 100 je vyhradená pre rozsiahle úlohy a prakticky to znamená, že nie sme schopní určiť veľkosť. Môže to byť rozsiahly a ucelený funkčný celok. Pri jej rozklade na menšie časti pravdepodobne budeme potrebovať dopracovať zadanie a skúsiť rôzne spôsoby, ako úlohu rozdeliť.

Odhadovanie vedie typicky vlastník produktu. Úlohu tímu predstaví tak, aby bolo zrejmé, čo sa bude vyvíjať, prečo, a aký sa očakáva výsledok. Následne si tím v diskusii úlohy vyjasňuje. Diskutujú sa vecné fakty úlohy. Je dôležité naučiť tím nepoužívať výrazy, ktoré ho mohli následne ovplyvňovať pri odhadovaní. Rovnako pri odhadovaní nezohľadňujeme, ktorý člen tímu bude príslušnú úlohu realizovať. Pracujeme s predpokladom, že to môže vyjsť na každého. Potom prebehne samotné odhadovanie. V tichosti a bez rozprávania si každý člen tímu sám za seba pripraví odhad náročnosti úlohy a tomu zodpovedajúcu kartu. Na povel všetci kartu ukážu ostatným. V prvom kole sa obyčajne zvolené odhady líšia. Získané hodnoty sa nepriemerujú, ale nasleduje diskusia. Členovia tímu s najnižším a najvyšším odhadom popíšu svoje dôvody. Môže sa stať, že niekto niečo neporozumel, prípadne sa dobre nevyzná v niektorej doméne, alebo vychádza z iných predpokladov. Po vyjasnení týchto nezrovnalostí prebehne druhé kolo. Väčšinou sú teraz odhadnuté hodnoty už veľmi blízko. Tím sa dohodne na odhade alebo sa znovu otvorí diskusia a prebehne ďalšie kolo odhadovania. Ak sa tím nedohodne ani na 4 pokus, je lepšie danú úlohu úplne odložiť k dopracovaniu a spresneniu. Vlastník produktu odhad zapíše a môže prejsť k odhadovaniu inej úlohy.

Ak tím s touto technikou začína, stáva sa, že odhadovanie trvá pomerne dlho. Tu je úloha vedúceho alebo kouča, aby tímu pomáhal zlepšiť odhady a skrátiť dobu odhadovania. V prípade skúsených tímov nie je rozptyl odhadov po prvom kole veľmi veľký a celkove postup odhadovania prebieha pomerne rýchlo.

Poznámka: Je lepšie, ak členovia tímu nepočujú o úlohe po prvý krát práve pri mítingu pre odhadovanie, ale majú možnosť sa zoznámiť s úlohou vopred.

 

Ako hrať Planning Poker? Rýchly popis.

1. Nastavte časové ohraničenie doby pre plánovanie – typicky 1 hodina.

2. Každý účastník dostane jednu sadu kariet.

3. Moderátor (obyčajne vlastník produktu) vyberie Story/Úlohu.

4. Story je prediskutovaná a vlastník produktu zodpovedá tímu otázky, až kým je Story jasná.

5. Po diskusii každý člen tímu samostatne zvolí jednu kartu tak, aby ostatní netušili jeho voľbu.

6. Potom všetci na povel kartu ukážu ostatným.

7. Ak sú rozdiely, tieto sa znova prediskutujú a urobí sa nové kolo odhadovania. Nikdy nepriemerujte odhady!

8. Obmedzte počet kôl pre jednu Story na 3 alebo 4. Ak sa nezíska konsenzus ani po 4 kolách, odložte Story na inokedy.

9. Ak každý ukázal rovnakú kartu, táto sa stáva odhadom.

10. Moderátor zaznamená odhad a tím sa posunie na ďalšiu položku.

11. Hra končí, keď sú odhadnuté všetky Stories alebo vypršal časový limit.

Tip:

• Vyvarujte sa výrazom, ktoré môžu preniesť Váš názor na ostatných, napr. “to je ľahké”, “to je príliš ťažké”.

• Zameriavajte sa na fakty.

 

 

Typické problémy

Aj keď je technika Planning Poker veľmi praktická a jednoduchá na porozumenie, v praxi sa stretám pri odhadovaní a následnom plánovaní s mnohými problémami. Tu je výber tých najčastejších:

• Priemerovanie výsledku odhadov. „Je to predsa iba približná technika, tak sa nič nestane, ak urobíme priemer. Ušetríme si tým čas.“ Všetky rituály pri agilnom vývoji majú za cieľ podporiť komunikáciu. Problém vzniká vždy v dôsledku nedostatočnej komunikácie. Ak vyradíme z procesu diskusiu o probléme, vráti sa nám pri následnom vývoji. Výrazne prekročíme čas alebo vyvinieme nepodarok

• Zle zvolená referenčná hodnota. Tím sa s odhadmi pohybuje iba v úzkom spektre odhadovaných hodnôt, najčastejšie 1-3. Úlohy nie sú dostatočne malé a odhady sa pohybujú v lineárnej časti krivky. Takto sa nemôže prejaviť integrovaná rezerva na neurčitosť úlohy. Dôsledok, je, že sa celkové odhady v iterácii netrafia, tím nedodáva naplánované úlohy a panuje nervozita okolo schopnosti dôveryhodne plánovať. Najčastejšie sa tento jav vyskytuje, ak si tím pri prechode na nečasové jednotky rozhodol o prevode 1 story point = 1 človekodeň (alebo hodina). Druhý najbežnejší dôvod býva neporozumenie princípu nelineárneho radu.

• Chybné delenie úloh. Veľkú úlohu, napr. za 20 bodov, rozdelíme na 2 menšie. Ich súčet je potom 40 bodov. Toto býva hlbší problém a vyžaduje podrobnejšiu analýzu. Príčin môže byť viac, častá príčina býva neporozumenie princípu plánovania v nečasových jednotkách. Stretám sa však aj s nezáujmom členov tímu o plánovanie, resp. tím je nefunkčný.

• Inflácia odhadov. Tím má z minulosti zažité dávať si k odhadom „vatu“ a pokračuje s touto praxou. Postupne sa stále zvyšujú odhady. Tento problém môže tiež súvisieť s nedostatočným vysvetlením techniky. Veľakrát však ukazuje na tlak vyvíjaný na tím alebo nevhodnú hodnotiacu metriku.

• Zotrvačnosť. Body zodpovedajú človekodňom alebo hodinám. Tento stav môže byť oficiálne deklarovaný, napr. „u nás jeden story point je jeden človekodeň“. Alebo je súčasťou uvažovania – „Aká veľká je táto úloha?“ Vývojár sa zamyslí a predstaví si, že by ju robil jeden deň. Pretože dni a hodiny sú zakázané, tak odpovie že veľkosť je 1 story point. Problém ukazuje na nepochopenie odhadovania v nečasových jednotkách alebo že nedošlo k mentálnemu prepnutiu na nový spôsob práce. Druhá varianta sa veľmi ťažko odhaľuje a môže ostať ukrytá aj pomerne dlhú dobu.

• Inflácia story pointu. Veľkosť konkrétnej úlohy v čase je konštantný. Odhad sa však odlišuje. Úloha odhadnutá na 13 story pointov má odhad po pár týždňoch napríklad už len 5 story pointov. Táto situácia ukazuje na skryté prepočítavanie story pointov na časové jednotky.

• Odhadovanie je „dusná“ aktivita. Atmosféra je nepriateľská, celý proces je extrémne vyčerpávajúci. Musia sa robiť prestávky. Toto je hlbší problém, ktorý môže mať veľa príčin. Najčastejšie sa s ním stretám v dôsledku tlaku od zákazníka alebo manažmentu kvôli meškaniu projektu, prípadne zlých medziľudských vzťahov a slabého alebo žiadneho zaujatia projektom.

Plánovacie karty pre techniku Planning Poker môžete získať napríklad tu.

 

About author: Michal Vallo helps companies deploy agile techniques and improve performance. He is agile trainer, coach and manager at Aguarra and founding member of Agilia community.

Categories