3 jednoduché spôsoby písania úloh pre používateľské príbehy

Príbehy používateľov zvyčajne vytvára viacero ľudí v softvérovom tíme a používajú sa na organizáciu smerovania vývojového projektu. Na druhej strane, úlohy sú realizovateľné kroky založené na používateľských príbehoch, ktoré poskytujú členom tímu smerovanie. Zmysel písania úloh a ich distribúcie spočíva v tom, že vďaka tomu je spätná väzba akcieschopná, každý vie, na čom ktorý člen tímu pracuje, a rozdeľuje úlohy scrumu na nezávislé ciele.

Metóda 1 z 3:Zostavenie a usporiadanie používateľských príbehov


Zhromažďujte recenzie a spätnú väzbu, ktoré používate na vytváranie používateľských príbehov. Najskôr vezmite všetku spätnú väzbu od používateľov, údaje z testovania a informácie z preskúmania a zostavte ich dohromady. Môžete zostaviť tabuľku, napísať informácie na kartičky alebo jednoducho skopírovať a vložiť recenzie do dokumentu, ktorý sa dá zdieľať. Takto získate všetky nespracované údaje na jednom mieste, čo vám uľahčí ich zdieľanie a prekladanie.[1]


Preložte informácie do konkrétne príbehy používateľov. Používateľské príbehy sa vzťahujú na jednovetné výroky, ktoré identifikujú, čo chce používateľ urobiť, ale nemôže. Tieto príbehy sa zvyčajne riadia šablónou, ale k dispozícii je niekoľko možností v závislosti od toho, aký formát dáva vášmu tímu najväčší zmysel. Rozdeľte každý údaj na jednotlivé vety pomocou formátu podľa vlastného výberu. Napíšte si ich na kartičky alebo do samostatného dokumentu.[2]

  • Jedným zo spôsobov písania používateľských príbehov je použitie metódy INVEST. Skratka INVEST znamená nezávislý, obchodovateľný, hodnotný, odhadovaný, malý a testovateľný. Napríklad môžete vziať „Nepáči sa mi, že nie je k dispozícii funkcia ukladania“ a zmeniť ju na „Chcem funkciu zoznamu želaní, aby som si mohol uložiť produkty, ktoré si pozriem v obchode.“[3]
  • Najbežnejšia šablóna je „Ako (typ používateľa) chcem (funkcia alebo činnosť), aby som (hodnotná funkcia alebo prínos).“
  • Napríklad: „Vadí mi, že musím kliknúť na 3 ponuky, aby som otvoril rozhranie. Príliš dlho trvá, kým sa dostanete do ponuky správcu“ možno preložiť na: „Ako správca chcem rýchlejší prístup k ovládaciemu používateľskému rozhraniu, aby som sa mohol ľahko prihlásiť do samostatných účtov.“


Rozdeľte epické príbehy na menšie, aby boli zvládnuteľné. Epické príbehy sa týkajú väčších častí spätnej väzby, ktoré obsahujú viacero príbehov. Keďže príbehy sa musia zameriavať len na jeden aspekt softvéru, je dôležité rozdeliť väčšie dátové body do menších príbehov, aby boli lepšie zvládnuteľné.[4]

  • Napríklad: „Nepáčilo sa mi rozloženie tlačidiel. Miniatúry sú naozaj ťažko čitateľné a nie som si istý, na čo slúži nástroj s kľukatými čiarami,“ by sa dalo rozdeliť na: „Chcem, aby sa zjednodušilo rozloženie používateľského rozhrania, aby bolo ľahšie sledovať,“ „Chcem upraviteľné miniatúry, aby boli čitateľnejšie,“ a „Účel nástroja na odomykanie sa mi zdá nejasný a chcel by som ďalšie pokyny.“


Rozdeľte používateľské príbehy medzi oddelenia alebo členov tímu. Zhromaždite všetkých členov tímu v miestnosti a rozdeľte príbehy. Každý príbeh prideľte členovi tímu, ktorý je na danú úlohu najvhodnejší. Napríklad, ak príbeh zahŕňa kódovanie, dajte mu kódovač. Ak sa to týka návrhu alebo implementácie, zverte to inému členovi tímu, ktorý sa na túto úlohu hodí lepšie.[5]

Tip: Ak máte desiatky príbehov, vyberte na začiatok 10 – 15 príbehov s vysokou prioritou. Nemusíte zvládnuť všetky príbehy naraz.

Metóda 2 z 3: Vypracovanie úloh z príbehov


Určite, čo je potrebné skutočne urobiť na vyriešenie používateľského príbehu. Každý dobrý používateľský príbeh má riešenie. Prvým krokom je zvážiť, čo sa vlastne musí stať, aby sa toto riešenie uskutočnilo. Posúďte problém používateľa a zapíšte si niekoľko nápadov, ako možno problém vyriešiť.[6]

  • Ak napríklad príbeh znie: „Ako hráčovi sa mi ťažko ovláda kamera z pohľadu prvej osoby,“ problém používateľa v skutočnosti nespočíva v perspektíve prvej osoby. Je to s tým, ako ťažko sa kontroluje ich videnie. Môžete zvážiť rôzne ovládacie prvky fotoaparátu, novú hĺbku ostrosti alebo úpravu kódu fotoaparátu.

Tip: V prípade, že sa vám nepodarí vytvoriť kód, môžete ho použiť na vytvorenie kódu: Ak chcete, môžete to urobiť spoločne. Mnohí ľudia považujú za jednoduchšie spracovať príbehy do úloh tak, že sa o príbehoch porozprávajú s ostatnými ľuďmi z ich oblasti.


Posúďte, ktoré riešenia sú najpraktickejšie pri zvažovaní cieľov. Pravdepodobne existuje viacero spôsobov, ako zostaviť úlohy pre každý používateľský príbeh. Niektoré z najlepších riešení budú zrejmé, ale niekedy to môže byť trochu nejednoznačné. Vo všeobecnosti je najlepšie vždy vybrať možnosť, ktorá je najpraktickejšia z hľadiska implementácie a budúcich úprav. Takto je jednoduchšie vrátiť zmeny alebo vykonať budúce úpravy.[7]

  • Ak napríklad používateľský príbeh znie „Ako spisovateľovi mi obmedzený počet písiem sťažuje prezentáciu mojej práce“, mohli by ste implementovať systém, v ktorom by používatelia mohli importovať písma zo služieb tretích strán, ale pravdepodobne je oveľa jednoduchšie jednoducho pridať do programu 15 – 20 typov písma.


Udržujte úlohy čo najmenšie, aby boli ciele jasné. Žiadna úloha by nemala zahŕňať viacero cieľov alebo zmien. Ak je to potrebné, rozdeľte používateľské príbehy na 2-3 úlohy, aby boli ciele jasné a zvládnuteľné.[8]

  • Ak napríklad príbeh znie: „Chcem viac možností prístupnosti pre zvukové a vizuálne komponenty,“ môžete ho rozdeliť na: „Implementujte režim pre nevidiacich s farbami,“ a „Pridajte funkciu titulkov pre používateľov so sluchovým postihnutím.“


Uistite sa, že úlohy sa dajú dokončiť za jeden deň. Ak zostavujete úlohu a máte pocit, že jej splnenie by trvalo viac ako 1 deň, je potrebné ju ďalej rozdeliť. Každá viacdňová úloha je určite príliš zložitá na to, aby bola užitočná, a jej rozdelenie na jednotlivé kroky vám výrazne uľahčí zvládnutie práce.[9]

  • Ak napríklad úloha skončí takto: „Zabezpečte, aby si používateľ mohol prezerať históriu svojich objednávok po zakúpení produktov,“ pravdepodobne ju musíte rozdeliť na: „Napíšte kód pre stránku s históriou objednávok“, „Zostavte skript, ktorý sprístupní predchádzajúce nákupy používateľa“ a „Implementujte skript do kódu a otestujte ho“.“

Metóda 3 z 3:Písanie metódou SMART


Uistite sa, že vaša úloha je čo najkonkrétnejšia, aby ste sa mohli pri práci riadiť. Metóda SMART je najobľúbenejší spôsob písania úloh a ich kontroly. Na začiatok sa uistite, že ste svoju úlohu zhrnuli do čo najkonkrétnejších pojmov. Vďaka tomu sa nestratíte v trstine, keď pôjdete úlohu dokončiť.[10]

  • SMART znamená špecifický, merateľný, dosiahnuteľný, relevantný a časovo ohraničený.
  • Napríklad „Pridajte funkciu titulkov pre používateľov so sluchovým postihnutím“ je solídny začiatok, ale môžete ju ešte viac konkretizovať opisom typu funkcie a toho, kedy sa bude používať. Môžete skončiť pri úlohe „Zostavte skript Java, ktorý generuje titulky na základe zvukových podnetov v odkazoch, na ktoré používatelia kliknú.“

Tip: Úlohy môžete písať od začiatku pomocou metódy SMART alebo napísať návrh a potom ho upraviť tak, aby bol SMART. Urobte to, čo vám dáva najväčší zmysel.


Uistite sa, že vaša úloha je merateľná, aby ste vedeli, kedy ste ju dokončili. Ak vaša úloha nie je merateľná, nebudete vlastne vedieť, či ste dosiahli to, čo ste si stanovili. V programovacom jazyku merateľnosť znamená, že máte konkrétnu metriku, podľa ktorej môžete posúdiť, či je úloha hotová.[11]

  • Napríklad „Vylepšiť používateľské ovládacie prvky pre funkciu ukladania“ nie je v skutočnosti merateľné. Avšak „Implementovať funkciu „Uložiť ako“, ktorá umožní používateľovi upraviť formát súboru“ sa môže merať tým, či funkcia „Uložiť ako“ funguje správne alebo nie.


Zostavte úlohu tak, aby bola dosiahnuteľná na základe vašich zručností a priemerného používateľa. Úloha je dosiahnuteľná, pokiaľ je to niečo, čo môžete urobiť sami, a je to niečo, čo môže používateľ primerane vykonať bez pomoci tretej strany. Ak ste sa niekedy pokúšali prechádzať zložitou webovou stránkou, aby ste našli informácie, o ktorých ste vedeli, že tam sú, ale nemohli ste ich nájsť, nedosiahli ste to, čo ste si stanovili. Podobne dizajnér stránky nedosiahol konečný cieľ, aby boli informácie ľahko identifikovateľné.[12]

  • Napríklad „Zabezpečím, aby každý používateľ používal program správne“ nie je obzvlášť rozumná úloha. Určite je však možné vytvoriť tutoriál „Vytvorím tutoriál, ktorý používateľa naučí, ako správne používať nástroj štetec“.


Uistite sa, že úloha súvisí so širšími cieľmi projektu. Ak sa nadmerne sústredíte na opravu drobnej chyby, ktorá v skutočnosti nemá vplyv na funkčnosť softvéru, nie je skutočný dôvod na jej opravu. Podobne, ak používateľa nebude nevyhnutne zaujímať formát skriptu, ktorý píšete, nie je dôvod sa tým zaoberať.[13]

  • Toto je najlepší spôsob, ako vyradiť nepotrebné úlohy, ktoré nemajú skutočný význam. Jednoducho sa pýtajte sami seba: „Záleží mi na tom“, „Má to vplyv na celkový cieľ projektu“ a „Záleží na tom konečnému používateľovi“?“ Ak je odpoveď na tieto 3 otázky nie, nemusíte ju vykonať.

  • Stanovte si termín splnenia úlohy, aby ste si dali časový rámec. Ak úloha nie je viazaná na harmonogram projektu, nebude sa realizovať. Stanovenie časového rámca úlohy je posledným krokom. Zhodnoťte, ako dlho bude trvať splnenie úlohy, pozrite sa na svoj časový plán a stanovte jej termín.[14]

    • Napríklad „Implementovať funkciu „Uložiť ako“, ktorá umožní používateľovi upraviť formát súboru“, je celkom dobrá úloha. Môžete jej dať doslovný termín alebo ju zasadiť do kontextu projektu. Takže konečný produkt môže vyzerať takto: „Implementujte funkciu „Uložiť ako“, aby používateľ mohol upraviť formát súboru v nasledujúcich 6 hodinách,“ alebo „Implementujte funkciu „Uložiť ako“, aby používateľ mohol upraviť formát súboru predtým, ako otestujeme konečné rozhranie ponuky.“
  • Odkazy