INHOUSE education

Izazovi sa User Story-jem

“Deliver Value to Customer faster, minimize bureaucracy”

Dr Alistair Cockburn

Odlična definicija agilnog pristupa. Najviši prioritet svake kompanije trebalo bi da bude zadovoljstvo korisnika kroz ranu i kontinuiranu isporuku vrednosti. Pa zašto se onda toliko organizacija muči sa tim?

Razlozi su brojni: testiranje u razvoju, organizaciona kultura, hijerarhijska struktura, zahtevi…
Zadržimo se na zahtevima.

U čemu je problem sa zahtevima?





  • Zahtevi se menjaju — i to često. Različita istraživanja pokazuju da se više od 35% zahteva promeni tokom tipičnog projekta.
  • Često klijent ne zna tačno šta želi (što je u redu, jer u product management-u kažemo: klijent poseduje problem, mi posedujemo rešenje).
  • Čak i kada klijent zna šta želi, može mu biti teško da to jasno formuliše. A i kada zahtevi deluju jasno definisani, postoji mogućnost da ih tim pogrešno razume i implementira nešto pogrešno.

Dakle…

problem sa zahtevima je zapravo problem komunikacije.

Šta možemo da uradimo?

User Story je agilna tehnika za definisanje zahteva koja može pomoći u rešavanju ovog izazova. Ona je veoma koristan način za predstavljanje zahteva i razumevanje potreba korisnika.

Međutim, mnogi timovi imaju poteškoća u pravilnoj upotrebi User Story-ja.

Najčešći izazovi sa User Story-jem

User story je prevelik (Epic)

Takve priče se ne završavaju u sprintu i „putuju“ iz sprinta u sprint. To demotiviše tim, usporava flow i velocity i usporava učenje.
Epic treba podeliti na manje user story-je pre nego što uđe u sprint. Kada su priče male, jasne, vredne i spremne za akciju — tada mogu biti završene.

User story nije jasan timu ili Product Owner-u

Često ne postoje jasni acceptance criteria. Tim ne razume obim priče, kako se uklapa u cilj proizvoda ili kako testirati rešenje.
Nejasan user story dovodi do gubitaka tokom sprinta i ponovo završava u narednom sprintu.

Nedostatak razgovora

User story je okidač za razgovor, a ne kompletna specifikacija.
Treba da bude dopunjen razgovorom između Product Manager-a/Product Owner-a i tima.
U mnogim organizacijama se user story koristi bez dodatne diskusije, pa Product Owner pokušava da nadoknadi to pisanjem preopširnih i detaljnih opisa — što nije svrha user story-ja.

Potrebno je obezbediti kvalitetan razgovor (npr. kroz redovne radionice, refinement sesije ili video pozive).
Alternativno, mogu se koristiti i druge tehnike definisanja zahteva, poput Use Case-ova, koji nude više strukture i olakšavaju precizno opisivanje zahteva.

Pogrešna svrha

User story opisuje potrebe krajnjeg korisnika — nije namenjen za tehničke zahteve.
Ako se tim previše oslanja na tehničke zahteve, to može značiti da je organizovan po komponentama (backend, servisi, slojevi).

Tipičan primer pogrešne upotrebe:
„As a developer I want…“
Osim ako je developer krajnji korisnik, ovo nije ispravan način definisanja zahteva.

Jedan od načina da se smanji potreba za tehničkim zahtevima jeste formiranje feature timova koji implementiraju funkcionalnosti end-to-end.

* Postoje proizvodi gde su component timovi neophodni. U tim situacijama user story možda nije najbolji način definisanja zahteva i postoje prikladnije alternative.

Šta možemo zaključiti iz svega ovoga?


User Story nije specifikacija, već alat za komunikaciju i saradnju.

On pomera fokus sa pisanja zahteva na razgovor o zahtevima. Suština User Story-ja je da se o njemu razgovara sa korisnikom. User Story priča priču — opisuje kako korisnik upotrebljava proizvod, jednostavnim i razumljivim jezikom.

Product Owner je odgovoran za Product Backlog i predstavlja korisnike. Zato mora uložiti ozbiljan napor da zaista razume potrebe korisnika — a User Story mu u tome pomaže.

User Story nikada ne treba „predati“ timu kao gotov dokument.
Product Owner i tim treba zajedno da ga razrade — najčešće tokom sprint refinement-a (grooming-a), ili najkasnije tokom sprint planiranja. Preporuka je da tim izdvoji do 10% kapaciteta aktuelnog sprinta za refinement User Story-ja za naredni sprint.

Efikasna komunikacija je ključ dobrih zahteva.
User Story je zajednički jezik koji pomaže da se izgradi razumevanje između korisnika i tima.

Rad sa User Story-jima često predstavlja jedan od najizazovnijih trenutaka u Product Owner ulozi, posebno tokom sprint planiranja.

Agile Serbia, pored edukativnih programa, organizuje i in-house programe kako bi pomogla klijentima da se izbore sa ovakvim izazovima.
Ako vam je potrebna podrška — znate gde možete da nas pronađete.