Storypointy

V akých jednotkách odhadujete náročnosť? Asi väčšina z vás používa hodiny, alebo človekodni. Mnohí z vás ich dokonca považujú za jednotku času, pričom tá druhá je jednotkou práce.

Aký výsledok sa vám podarí dokončiť za jednu hodinu dnes v porovnaní s minulosťou? Koľko to bude v budúcnosti? A ako ste na tom v porovnaní s kolegom? Určite je to iné nielen v porovnaní s kolegom, aj u vás v historickom kontexte. Ešte si myslíte, že hodiny a človekodni sú správnymi jednotkami odhadu?

Agile preferuje neodhadovať čas realizácie, ale komplexnosť problému. Komplexnosť sa totiž nemení tým, kto na nej robí a v akom čase. Problém je stále rovnaký.

Odhad sa robí porovnaním náročnosti voči referenčným požiadavkám. Hľadáme odpoveď na otázku: „Koľkokrát je daná požiadavka náročnejšia než referencia?“. Odpoveď je nejaké číslo, ktoré sa označuje za storypoint.

Tímy používajú rôzne jednotky pre odhad. Najčastejšie používanou je Planning Poker™ škála navrhnutá Mike Cohnom, ktorý upravil Fibonacciho škálu tak, aby bola jednoduchšie zapamätateľná a zaokrúhlená pre väčšie čísla.

Planning Poker škála

Planning Poker škála

Sú situácie, kedy nemáme dostatok informácii pre kvantitatívny odhad náročnosti. V takomto prípade sa používajú jednoduchšie škály, ako napr. T-Shirt sizing.

Odhad náročnosti

Príklad stupnice pre odhady náročnosti (Agile ToolboX)

Ako odhadnúť komplexnosť relatívne

  1. Dohodnite sa na škále hodnôt, ktoré budete používať (XS, S,M,L,XL, XLL; 0-10; Fibonacciho postupnosť).
  2. Identifikujte každý z tímu jednu požiadavku, ktorá je podľa vás najjednoduchšia. Nebojte sa keď vyberiete rôzne. Porovnajte ich navzájom a dohodnite sa, ktoré sú referenčné požiadavky.
  3. Každú ďalšiu porovnajte či je komplexnejšia, alebo jednoduchšia.
  4. Porovnajte ju zároveň aj s podobnými, validujte, či je skutočne podobná.
  5. Počas diskusie sa uistite, že sa rozprávate o tej iste miere detailu realizácie. Viď Definition of Done.

Veľmi nápomocnou je napr. technika s použitím matice, kde v riadkoch sú čísla označujúce náročnosť a v danom riadku aj jednotlivé požiadavky, ktoré sú rovnaké.

Matica odhadovania

Matica odhadovania ako pomôcka pre rýchle porovnanie vlastností

Story pointy vs. manday?

Musíte používať storypointy v agilnom projekte? Nie. Niektoré agilné tímy už dokonca ani neodhadujú (hľadajte pojem #noestimates).

Mnohé projekty sú vytvárané pre klientov, ktorým storypointy aj tak nič nepovedia. Takže mnohokrát sa robia aspoň hrubé odhady v mandays. Odhaduje sa tímovo, nielen experti, alebo projektový manažér.

Story pointy majú obrovskú výhodu a tou je problém so „záväzkom hodín“. Platí jednoducho Parkinsonov zákon. Práca naplnovaná na x hodín má tendenciu x hodín vyplniť.

„Work expands so as to fill the time available for its completion.“

Cyril Northcote Parkinson

Ako sa dobrať zo storypointov k času? Používa sa tzv. rýchlosť (ang. Velocity), ktorá je počtom storypointov skutočne dokončených za sprint. Ak teda viete, že vaša rýchlosť je 28 storypoint/sprint a v backlogu máte ešte 560 storypointov, na základe toho viete rýchlo zistiť kedy bude backlog hotový:

(560 sp) / (28 sp) = 20 sprintov × 2 týždne = 40 týždňov

Rýchlosť tímu je meraná na konci každého sprintu. Do rýchlosti sa rátajú iba úplne dokončené user stories. Ak user story je rozpracovaná, alebo dokončená z podstatnej časti, ale nie je hotová, príspevok k výsledku za takúto story je 0.

Vývoj velocity

Vývoj velocity počas dvoch rokov