Story pointy: odhady a nastavení nejznámějších nástrojů
Story pointy měří relativní velikost práce na úkolech. Ukážeme si, jak s nimi odhadovat a jak je nastavit v boardu v Jiře, YouTracku a dalších nástrojích.
Shrnutí a kontext
Story pointy jsou jednotka relativní velikosti práce: slouží k odhadování složitosti úkolů vzhledem k jiným úkolům. Úkol za 5 bodů je zhruba dvakrát větší než úkol za 2 nebo 3 body, ať na něm pracuje kdokoli z týmu. V článku najdete, jak story pointy přidělovat, jak je nastavit v Jiře, YouTracku, Azure Boards, GitLabu, GitHub Projects a Linearu a jak mít přehled, kde má která aplikace board a backlog.
1. Co jsou story pointy
Story pointy vyjadřují kolik práce, složitosti a nejistoty úkol obsahuje ve srovnání s jiným úkolem. Je důležité myslet na to, že nejde o čas: tým se neptá „kolik hodin to zabere“, ale „je to větší nebo menší než úkol, který už známe“.
Story pointy vychází z bodů, které mají původ v extrémním programování. Tým tehdy odhadoval v ideálních dnech a pro skutečný čas je násobil koeficientem zhruba 3, což zúčastněné mátlo, a tak se ideálním dnům začalo říkat body. Ron Jeffries, který je pravděpodobně vymyslel, dnes však upozorňuje na jejich zneužívání. Samotná Scrum Guide dnes story pointy nepředepisuje jako nutnost, ale je to jen jedna z technik odhadování pracnosti.
2. Proč story pointy místo hodin nebo člověkodnů
Story pointy se používají místo jednotky času, protože porovnat dva úkoly je rychlejší a spolehlivější než odhadnout délku každého zvlášť. Hodinový odhad navíc závisí na tom, kdo úkol dostane: zkušený vývojář udělá změnu v platbách za den, nováček za tři. Velikost úkolu je pro oba stejná.
Na čas se body převádějí až přes rychlost týmu (velocity), tedy průměrný počet bodů hotových za sprint. Když tým dokončí kolem 30 bodů za dva týdny, backlog za 90 bodů vydá zhruba na tři sprinty. Body ale nejsou srovnatelné mezi týmy a nehodí se k hodnocení lidí. Každý tým má vlastní měřítko.
| Story pointy | Hodiny | |
|---|---|---|
| Co měří | Velikost úkolu vůči jiným úkolům | Předpokládanou délku práce |
| Závisí na řešiteli | Ne | Ano |
| Převod na termín | Přes rychlost týmu z minulých sprintů | Přímo, ale bez rezervy na nejistotu |
| Srovnání mezi týmy | Nedává smysl | Možné, ale zkreslené |
3. Jak odhadovat story pointy
Pro odhad úkolů ve story pointech je potřeba, aby si tým stanovil pevné referenční úkoly a aby odhadovali všichni členové týmu najednou. Následná krátká diskuse pak řeší konkrétní rozdíl v pochopení úkolu a shodu odhadu.
Když se tým shodne na 3 nebo 5, vezměte vyšší číslo a pokračujte. Debata o jeden stupeň škály pravděpodobně bude stát více času, než kolik přinese užitku.
- 1
Zvolte škálu
Nejčastější hodnoty story pointů jsou dle upravené Fibonacciho posloupnosti: 1, 2, 3, 5, 8, 13. Rostoucí mezery vyjadřují, že u větších úkolů roste nejistota a bylo by obtížné odhadnout rozdíl např. mezi hodnotou 9 a 10.
- 2
Určete referenční úkoly
Vyberte z již dokončených úkolů dva nebo tři úkoly, které zná celý tým, například „nové pole ve formuláři = 1“ a „nová platební metoda = 8“. Nové úkoly porovnávejte s nimi, říkejte, zda je nový úkol podobný jako jeden z referencí nebo je větší nebo menší.
- 3
Odhadujte všichni najednou
Pro společné odhadování použijte techniku, která se nazývá plánovací poker. Při této technice každý člen týmu vybere kartu s hodnotou story pointů, kterou by odhadovanému úkolu přiřadil, ale neukazuje ji ostatním. Na pokyn se pak všechny karty otočí. Nikdo se tak nepřizpůsobí prvnímu odhadu nebo nejzkušenějšímu kolegovi.
- 4
Vysvětlete si navzájem krajní odhady
Když některý člen týmu odhadne úkol na 2 a druhý 8, oba by měli vysvětlit, co je k tomu vedlo. Je pravděpodobné, že jeden z nich například ví o závislosti nebo riziku, o kterém druhý neví, anebo naopak druhý zná oblast natolik lépe, že je schopen vysvětlit, proč je úkol jednodušší, než vypadá. Poté se hlasuje znovu anebo se tým rovnou shodne na společném ohodnocení.
- 5
Velké úkoly rozdělte
Úkol za 13 a více bodů je příliš velký a nejistý pro jeden sprint. Rozdělte ho na menší části, které jde dokončit a nasadit samostatně a ohodnotit samostatně.
4. Jak nastavit story pointy na boardu v Jiře, YouTracku a dalších nástrojích
Story pointy se v těchto nástrojích zapínají jako pole pro odhad, ze kterého nástroj počítá součty sprintu, burndown graf a rychlost týmu. Každý nástroj má pro to vlastní pole a nastavení, viz tabulka.
| Nástroj | Pole pro odhad | Kde se zapíná | Co z něj nástroj počítá |
|---|---|---|---|
| Jira (projekt spravovaný týmem) | Story point estimate | Project settings → Features → Estimation | Velocity report, burndown sprintu |
| Jira (projekt spravovaný firmou) | Story Points | Board settings → Estimation | Velocity report, burndown sprintu |
| YouTrack | Story points (celé číslo, šablona Scrum) | Board settings → Card → Current estimation field | Burndown podle odhadu |
| Azure Boards | Story Points (Agile), Effort (Scrum), Size (CMMI) | Je součástí procesu, šablona Basic pole nemá | Velocity, forecast backlogu |
| GitLab | Weight (váha úkolu) | U úkolu, v tarifu Premium a vyšším | Součet váhy v iteraci, burndown |
| GitHub Projects | Vlastní číselné pole, například Estimate | Nové pole typu Number v projektu, sprinty v poli typu Iteration | Součet pole ve skupině podle iterace |
| Linear | Estimate (lineární, exponenciální, Fibonacci nebo trička) | Team settings → Estimates | Kapacita cyklu podle posledních tří cyklů |
5. Jak organizovat boardy, když tým vyvíjí více aplikací
Board patří týmu, backlog patří produktu. Story pointy a rychlost se počítají za tým, takže tým, který vyvíjí např. rezervační systém i fakturaci, potřebuje jeden board nad oběma produkty a jedno společné pole pro odhad.
V Jiře takový board postavíte pomocí filtru přes více projektů, v YouTracku přidáte do boardu více projektů. Pozor na to, aby všechny projekty na boardu používaly stejné pole pro odhad.
project in (REZ, FAKT) AND sprint in openSprints() ORDER BY Rank ASC6. Kde má být odkaz na board a backlog aplikace
Odkaz na board a backlog můžete umístit přímo do aplikace, zjednodušíte si tím přístup k rozpracovaným úkolům např. při testování aplikace, při hlášení chyb nebo při review. Hlavně u týmů, které spravují více aplikací a přepínají se i mezi nástroji. Do odkazu v aplikaci můžete vložit odkaz na board a většinou i přímo s filtrem na konkrétní projekt.
V AboutTheApp můžete přidat odkaz na board nebo backlog či velocity report k aplikaci do připravené kategorie "Sledování úkolů".
AboutTheApp se do Jiry ani YouTracku nepřipojuje a story pointy nenačítá. Jeho úkolem je sdružovat odkazy na nástroje, které tým používá pro vývoj aplikace.
- 1
Otevřete aplikaci v editoru produktu
V dashboardu AboutTheApp otevřete aplikaci a přejděte do části Odkazy.
- 2
Přidejte odkaz na board
Klikněte na Přidat odkaz, vyberte kategorii Sledování úkolů a vložte adresu boardu. Do vlastního popisku napište například „Sprintová tabule“, do popisu „Interní Jira“.
- 3
Přidejte backlog a reporty
Stejně tak můžete přidat také odkazy na backlog, velocity report nebo uložený filtr, třeba úkoly se štítkem technického dluhu.
- 4
Nastavte viditelnost
Interní board označte jako soukromý. Uvidí jej jen přihlášení členové týmu nebo ti, kdo dostanou odemykací kód.
- 5
Odkaz jen pro zákazníka
Pokud má klient vlastní Jiru nebo Azure Boards, přepněte v editoru rozsah na daného zákazníka a odkaz přidejte jen k němu. Ostatní zákazníci ho neuvidí.
7. Mají story pointy smysl, když kód teď píše AI?
Story pointy mají smysl i s AI asistenty, pokud se měří složitost a riziko úkolu, ne čas psaní kódu. Návrh, revize, testy a nasazení zůstávají a u úkolu s nejasným zadáním nebo kritickým zásahem je nejistota stejná jako dřív.
Rychlost týmu se ale po zavedení AI nástrojů změní. Porovnávejte ji jen se sprinty po změně a po několika sprintech zkontrolujte, jestli referenční úkoly pořád odpovídají tomu, jak tým pracuje.
Časté otázky
Kolik hodin je jeden story point?
Pevný převod neexistuje a není ani žádoucí. Na čas se body převádějí až přes rychlost týmu: když tým dokončí 30 bodů za dvoutýdenní sprint, backlog za 90 bodů vydá zhruba na tři sprinty.
Proč se story pointy odhadují Fibonacciho posloupností?
Rostoucí mezery mezi čísly 1, 2, 3, 5, 8, 13 odpovídají tomu, že s velikostí úkolu roste nejistota a každý další stupeň je zhruba o polovinu větší než předchozí.
Kdo odhaduje story pointy?
Celý vývojový tým, který bude úkol dělat, včetně testerů. Product owner vysvětluje zadání a odpovídá na otázky, ale sám neodhaduje.
Jak zapnout story pointy v Jiře?
V projektu spravovaném týmem zapnete odhady v Project settings → Features → Estimation a zvolíte Story points. V boardu projektu spravovaného firmou vyberete Story Points v Board settings → Estimation.
Kde mít odkaz na sprint board a backlog aplikace?
Členové týmu mají většinou odkaz na board přímo jako jeden z hlavních odkazů ve svých prohlížečích. Nicméně je účelné mít jej dostupný také z aplikace, ať už na dev nebo test prostředí. V AboutTheApp přidáte odkaz na board, backlog a reporty v kategorii Sledování úkolů, interní odkazy označíte jako soukromé a odkaz na nástroj klienta přidáte jen danému zákazníkovi.
Ve zkratce
Story pointy fungují, když tým porovnává úkoly s referenčními úkoly a zapisují se do konkrétního pole v boardu. Odkaz na board a backlog mějte při ruce přímo z aplikace.
Chcete mít board a backlog u aplikace?
Založte si zdarma aplikaci v AboutTheApp a připojte k ní odkazy na board, backlog, repozitář a prostředí.