top of page

User Story Mapping framework

  • Obrázek autora: Tomáš Veselý - podpořen AI
    Tomáš Veselý - podpořen AI
  • 2. 1.
  • Minut čtení: 7

Tvoříme obsáhlou knihovnu znalostí o produktovém vývoji jako součást naší mise. Knihovna slouží všem, kteří se snaží zlepšit v rozhodování, především v rozhodování o dalším rozvoji produktu. Ať už jsi vynálezce, produktový manažer nebo Chief Product Officer, používání určité rozhodovací metody zvyšuje šanci na vytvoření správných produktů a jejich funkcí pro správné publikum (build the right thing for the right audience). Dnes si představíme Value User Story Mapping framework.


Název frameworku: User Story Mapping.

Vynálezce: Mike Cohn, Rachel Davies, Jeff Patton je vynálezce mapovací techniky, ostatní hlavně přispěli formátem story.

Rok prvního použití: 2008 a pár let předtím.

Odkaz na původní výzkum: článek The New User Story Backlog is a článek Map a How You Slice It.

Důležité osobnosti v rozvoji frameworku:

  1. Mike Cohn,

  2. Rachel Davies.

Důležité milníky v rozvoji frameworku:

  1. Článek It’s All in How You Slice z roku 2005,

  2. Rozvoj formátu hlavně ve spojení s extreme programming metodou,

  3. Zapojení do agilního vývoje,

  4. Přidání systematičnosti skrze mapování.


Historie a kontext použití

Jeff Patton, zakladatel mapovací techniky zvané User Story Mapping, si během své kariéry konzultanta všiml, že při vývoji softwaru agilním způsobem týmy ztrácejí pochopení toho, jakou hodnotu má zamýšlený produkt přinést zákazníkovi. V průběhu tvorby nového produktu se týmy až moc soustředily na jednotlivé User Stories a jejich dokončení, a ne na celkovou hodnotu pro zákazníka.


Běžně se stávalo, že jednotlivé User Stories byly seřazeny do backlogu, jakéhosi velmi dlouhého listu funkcí seřazeného podle priorit. List se časem stal symbolem mizernosti vývoje. Vývojář, vysoký manažer, konzultant i produktový manažer na něj mohl zírat hodiny a stále odcházel s pocitem, že tam něco chybí.


Prioritizace tohoto listu se stala úmorným procesem, ve kterém se celý produkt smrskl na pár vět, jež se donekonečna otáčely, zlepšovaly, měnily, až nikdo nevěděl, jakou hlavní hodnotu daný produkt má. List nedokázal být efektivním komunikačním médiem, ale byl všemi preferován jako správná agilní metoda.


Základní princip prioritizace

Základním kamenem frameworku je vizualizace hlavní hodnoty produktu z pohledu uživatele a vedlejších hodnot, které jsou s ní spojené. Mapa přináší hloubku důležitosti vedlejších funkcí vzhledem k páteřním funkcím produktu.


Tento holistický pohled na produkt slouží jako pomůcka pro určení priorit funkcí, které nejsou součástí páteře produktu.


Proces tvorby mapy má celkem pět kroků. Cílem je vytvořit celkový pohled na hodnotu určitého produktu a její následné vizuální porovnávání, které vede k tvorbě jednotlivých setů funkcí na vývoj. Vizualizace pomáhá odhalit minimální počet nepáteřních funkcí, které dokáží doručit jakýkoliv cíl produktu.


User Story

Základem celého procesu je tzv. User Story. Jedná se o formát komunikace hodnoty pro uživatele. Formát má následující textaci:

  • Anglický originál = As a (who wants to accomplish something) I want (what I want to accomplish), so that I (why I want to accomplish it).

  • Česky přeloženo = Já jako (někdo, kdo chce něco dokázat) chci (co chci dokázat), abych (proč to chci dokázat).


Následující příklad pomůže formát lépe pochopit: Já jako B2B produktový manažer chci analyzovat kohorty zákazníků podle retence, abych mohl lépe pochopit, jaké funkce mají dopad na retenci a jaké ne.


Veškeré funkce, okoly, aktivity v rámci tvorby mapy jsou psané v tomto formátu.


Mapování User Stories

Celé mapování jednotlivých User Stories do vizuální mapy je prováděno ve skupině lidí důležitých pro zamýšlený produkt. Nejen tedy vývojářů, ale i lidí z byznysu. Cílem mapování je vytvořit vizuální příběh, jak celý produkt funguje.


Krok 1.

Na začátek je potřeba, aby někdo sepsal nebo řekl:

  1. kdo jsou zákazníci daného produktu,

  2. co je hlavní hodnotou produktu a,

  3. jaké hlavní cíle má organizace směrem k tomuto produktu.


Tyto informace jsou základem celého frameworku a většinou přicházejí od seniorních členů týmu. Pro efektivní komunikaci těchto informací se dá využít například Value Proposition Statement framework.


Vizuální ukázka User Story Mapping krok 1
Vizuální ukázka User Story Mapping krok 1


Krok 2.

Zákazníci mají vždy nějaký cíl, kterého se snaží dosáhnout pomocí daného produktu. My se tento cíl snažíme zvizualizovat formou organizovaných user stories. Vytváříme páteř celého produktu, jeho hlavní hodnotu pro uživatele, která nám také slouží jako kontext hodnoty produktu.


Postupně mapujeme kritické aktivity, které uživatel vykonává na cestě k dosažení svého cíle. Představa, jak vypadá typický den zákazníka se zamýšleným produktem, je většinou dobrým startovním bodem pro tento krok.


Tyto aktivity zapíšeme formou User Story. Tím nám vznikne vizuální příběh, chronologický postup, jak uživatel dosahuje svého cíle pomocí zamýšleného produktu, a to ve formě časové osy, kterou čteme zleva doprava.


Pokud má uživatel více cílů, můžeme je zapsat nad páteřní aktivity. Většinou ale uživatel, a tedy i produkt, má jeden hlavní cíl s mnoha subcíli. Aktivity, které nejsou páteřní, ale jsou s nimi spojené, začneme formou User Stories vkládat do sloupce pod páteřními aktivitami.


Vizuální ukázka User Story Mapping krok 2
Vizuální ukázka User Story Mapping krok 2

Krok 3.

Je čas kreativní exploze. Vedlejší aktivity, které jsme v druhém kroku doplnily pod páteřní aktivity, nyní obohatíme o další aktivity. Rozdělujeme vedlejší aktivity na menší a ještě menší, ptáme se co když? a přidáváme další a další User Stories, které dělíme na menší aktivity.


Naším kompasem při výběru nových a často méně důležitých úkolů by mělo být jejich logické spojení s nadřazenou páteřní aktivitou a cílem.


Výsledkem třetího kroku je finální mapa všech aktivit kategorizovaných do skupin podle cílů a páteřních úkolů, která je navíc chronologicky seřazená v čase. Je to příběh hodnoty produktu pro zákazníka.


Vizuální ukázka User Story Mapping krok 3
Vizuální ukázka User Story Mapping krok 3

Krok 4.

Čtvrtý krok je věnovaný prioritizaci. Neprioritizují se páteřní aktivity, protože bez nich produkt nebude fungovat jako celek, tedy jejich vytvoření je nutným předpokladem uvedení produktu na trh.


Vedlejší aktivity v jednotlivých sloupcích seřadíme tak, aby horizontálně tvořily vždy jednu verzi produktu a vertikálně prioritu vývoje. Tlustou horizontální čárou mezi vedlejšími aktivitami oddělíme jednotlivé verze produktu.


Každá verze produktu je set minimálního množství funkcí, které jako celek doručí určitý cíl. Cíl může být stanoven byznysem, ale měl by být vždy v kontextu celého řešení, tedy páteřních aktivit a uživatelových cílů.


Klíčovým bodem je stanovení úspěchu každé verze produktu prostřednictvím souboru kritérií, která ukáží, zda daná verze cíle skutečně naplnila.

Vizuální ukázka User Story Mapping krok 4
Vizuální ukázka User Story Mapping krok 4

Krok 5.

Pátý krok je doplňkový, určený pro strategii exekuce vybrané verze produktu. Tuto verzi lze nyní rozdělit na tři a více releasů. Tímto dělením snižujeme riziko nedoručení hodnoty zákazníkovi, ale i riziko nesplnění dodání v komunikovaném termínu. Po každém release se můžeme zastavit a vyhodnotit situaci.


Ideálním pravidlem, jak podle frameworku dělit verze produktu, je podle šachové strategie. Každý produktový release můžeme rozdělit na:

  1. Začátek hry (Opening Game) = cílem je vystavět tzv. functional walking skeleton, tedy nejjednodušší možný set funkcí, který splní hodnotu pro zákazníka a umožní validaci jeho hodnoty.

  2. Střed hry (Mid Game) = cílem Mid Game je přidat všechny důležité funkce, které rozšíří produkt a vytvoří pocit kompletnosti.

  3. Zakončení hry (End Game) = funkcionality v zakončení poté cílí na vyladění bugů, výkonnosti produktu a scénáře, které nebyly zachyceny během minulých releasů.


Krok pět lze opakovat ke každé nové verzi produktu.

Vizuální ukázka User Story Mapping krok 5
Vizuální ukázka User Story Mapping krok 5

Mapování pro již existující produkt

Ne vždy produktový manažeři začínají se zcela novým produktem. Velmi často přidávají nové funkce do stávajícího produktu. Tento produkt již má páteřní funkce, které uživatelé používají. V tomto momentě je na zvážení, zda vytvářet celou User Story Mapu, nebo si jen načrtnout páteřní funkce a zprioritizovat si oproti nim nové User Stories. Druhá možnost je časově méně náročná.


Ukázka prioritizace

Náš produkt je mobilní aplikace pro řízení času stráveného na mobilním telefonu, respektive jeho blokování.


Krok 1.

  1. Kdo jsou zákazníci = Uživatelé mobilních telefonů, kteří jsou na nich zároveň závislí.

  2. Hlavní hodnota produktu = Možnost zablokovat používání telefonu po určitou dobu, což pomáhá snižovat závislost.

  3. Cíl produktu = dosáhnout 1 500 platících zákazníků.


Krok 2.

  • Uživatelův cíl: pomocí blokování telefonu snížit množství času tráveného na telefonu. 

  • Aktivita 1: Jako uživatel který tráví na telefonu příliš mnoho času, si chci nastavit časové blokování aplikací nebo celého telefonu, abych se mohl lépe soustředit na práci, studium nebo odpočinek bez rozptylování.

  • Aktivita 2: Jako uživatel který tráví na telefonu příliš mnoho času, chci mít možnost zablokovat pouze vybrané aplikace na určitou dobu, abych omezil své návyky, ale zároveň mohl telefon používat pro nutné věci.

  • Aktivita 3: Jako uživatel který tráví na telefonu příliš mnoho času, chci vidět přehled času stráveného na telefonu a statistiky blokování, abych měl motivaci pokračovat a viděl svůj pokrok.

  • Aktivita 4: Jako uživatel který tráví na telefonu příliš mnoho času, chci mít možnost nastavit „nepřerušitelné“ blokování (např. bez hesla nebo odkladu), aby mi aplikace skutečně pomohla snížit závislost.


Krok 3.

  • Aktivita 1: Jako uživatel který tráví na telefonu příliš mnoho času, si chci nastavit časové blokování aplikací nebo celého telefonu, abych se mohl lépe soustředit na práci, studium nebo odpočinek bez rozptylování.

    • Úkol formou User Story 1: Jako uživatel si chci zvolit konkrétní aplikace nebo celý telefon, které budou zablokovány, abych měl kontrolu nad tím, co mi během blokace nebude dostupné.

    • Úkol formou User Story 2: Jako uživatel si chci nastavit délku blokace (např. 15 minut, 1 hodina, vlastní interval), abych mohl blokování přizpůsobit své aktivitě.

    • Úkol formou User Story 3: Jako uživatel si chci naplánovat blokování na konkrétní čas nebo opakující se režim (např. každý den od 22:00), abych nemusel blokaci nastavovat ručně pokaždé.

    • Úkol formou User Story 4: Jako uživatel chci vidět jasnou informaci o tom, kolik času zbývá do konce blokace, abych věděl, kdy bude telefon znovu dostupný a lépe vydržel bez rozptylování.

    • Úkol formou User Story 5: Jako uživatel chci mít možnost zvolit úroveň přísnosti blokování (např. možnost nouzového odemčení vs. žádné obejití), aby blokace odpovídala mé aktuální disciplíně a cíli.

    • Úkol formou User Story 6: Jako uživatel chci během blokace vidět motivační zprávu nebo připomínku, proč jsem blokování zapnul, abych byl méně v pokušení blokaci vypnout.


Krok 4.

Kromě páteřních aktivit bude první verze produktu obsahovat následující User Stories.

  • Úkol formou User Story 2: Jako uživatel si chci nastavit délku blokace (např. 15 minut, 1 hodina, vlastní interval), abych mohl blokování přizpůsobit své aktivitě.

  • Úkol formou User Story 3: Jako uživatel si chci naplánovat blokování na konkrétní čas nebo opakující se režim (např. každý den od 22:00), abych nemusel blokaci nastavovat ručně pokaždé.


Krok 5.

Finální verzi produktu dělíme na následující releasy:

  1. Opening Game = veškeré páteřní aktivity,

  2. Mid Game = releasem pro Mid Game bude doručení User Story B a User Story C,

  3. End Game = poslední release bude obsahovat User Stories z Aktivity C, věnované statistikám.


Vizuální ukázka prioritizace
Vizuální ukázka prioritizace

Komentáře


bottom of page