Patton Jeff. Korisničke priče. Umjetnost agilnog razvoja softvera.

Sažetak

Knjiga je opisani algoritam za tijek razvoja od ideje do implementacije primjenom agilnih tehnika. Proces se razlaže korak po korak, a za svaki korak navedene su metode. Autor ističe da većina metoda nije originalna i ne pretendira na originalnost. Međutim, dobar način izlaganja i određena cjelovitost procesa čine knjigu vrlo korisnom.

Ključna tehnika karte korisničkih priča je strukturiranje ideja i postavljanje ciljeva tijekom prolaska korisnika kroz proces.

Pri tome se prolazak kroz proces može izlagati na različite načine. Može se organizirati korake prema postizanju ključne vrijednosti, ili se može jednostavno prikazati radni dan korisnika, kako prolazi koristeći sustav. Autor se fokusira na to da se procesi trebaju izlagati kao priča korisnika na karti procesa, što i jest razlog naziva 'karta korisničkih priča'.

Kome je ovo potrebno

Za IT analitičare i voditelje projekata. Obavezno za čitanje. Lako se čita i ugodno je, knjiga je srednje veličine.

Revokacija

U svom najjednostavnijem obliku, kako to funkcionira.

Posjetitelj dolazi u kafić, bira jela, naručuje, prima hranu, jede i plaća.

Može se pisati zahtjeve o tome što želimo od sustava u svakom koraku.

Sustav treba prikazivati popis jela, uz svako jelo sastojke, težinu i cijenu, te mogućnost dodavanja u košaricu. Zašto smo sigurni u ove zahtjeve? U "standardnom" opisu zahtjeva to nije navedeno i to stvara rizike.

Izvršitelji, koji ne razumiju zašto je to potrebno, obično rade ono što nije potrebno. Izvršitelji koji nisu uključeni u proces stvaranja ideje, nisu uključeni ni u rezultat. Agile kaže, da se fokusiramo prvenstveno ne na sustav, već na ljude, na korisnike, njihove zadatke i ciljeve.

Izradimo persone, da bismo pri empatiji dodali pojedinosti, a s gledišta persona počnemo izlagati priče.

Uredski radnik Zachar otišao je na ručak i želi brzo nešto pojesti. Što mu treba? Ideja – sigurno želi poslovni ručak. Još jedna ideja, želi da sustav zapamti njegove preferencije, jer je na dijeti. Još jedna ideja. Želi da mu odmah donesu kavu, jer je navikao piti kavu prije ručka.

Postoji i poslovni (orgsonazh - lik koji predstavlja interese neke organizacije). Poslovanje želi povećati prosječan račun, povećati učestalost kupnji, povećati dobit. Ideja je - hajdemo ponuditi neobična jela neke kuhinje. Još jedna ideja - hajdemo uvesti doručke.

Ideje se mogu i moraju konkretizirati, transformirati i oblikovati u obliku korisničkih priča. Kao zaposlenik poslovnog centra Zahara, želim da me sustav prepozna kako bih dobio jelovnik koji uzima u obzir moje preferencije. Kao konobar, želim da me sustav obavijesti kada trebam prići stolu kako bi klijent bio zadovoljan brzim usluživanjem. I tako dalje.

Deseci priča. Što dalje, prioritizacija i backlog? Džef ukazuje na probleme koji se javljaju: vezanost za sitne detalje i gubitak konceptualnog razumijevanja, plus prioritizacija funkcionalnosti stvara rascjepkanu sliku zbog nesaglasnosti s ciljevima.

Put autora: Prioritiziramo ne funkcionalnost, već ishod = ono što korisnik na kraju dobije.

Očigledna neobičnost: sesija prioritizacije ne prolazi kroz cijeli tim, jer to nije efikasno, već troje ljudi. Prvi se brine za poslovanje, drugi za korisničko iskustvo, a treći za implementaciju.

Odvojimo minimum za rješavanje jednog zadatka korisnika (minimalno održivo rješenje).

Detaljiziramo ideje prvog prioriteta pomoću korisničkih priča, skica dizajna, ograničenja i poslovnih pravila na kartici korisničkih priča kroz pripovijedanje i raspravu s timom o tome što je potrebno likovima i dionicima u svakom koraku procesa. Ostale ideje ostavljamo neobrađenima, u backlogu mogućnosti.

Proces se piše u obliku kartica s lijeva na desno, a ideje na karticama ispod koraka procesa. Obavezno je razgovarati o cijelom putu priče zajedno s članovima tima kako bi se javilo međusobno razumijevanje.

Obrada na ovaj način stvara cjelovitost usklađenosti s procesima.

Dobivene ideje treba provjeriti. Član tima stavlja kapu osobe i proživljava dan osobe u mislima, rješavajući njegov zadatak. Moguće je da on ne vidi postojeće radove, stvarajući kartice iznova, dok tim otkriva alternative.

Zatim slijedi detaljizacija za procjenu. Za to su dovoljna tri čovjeka. Osoba odgovorna za korisničko iskustvo, programer, tester s omiljenim pitanjem: "A što ako...".

Na svakoj etapi, rasprava se vodi prema karti procesa korisničke priče, što omogućuje održavanje fokusa na zadatku korisnika i stvaranje cjelovitog razumijevanja.

Treba li dokumentacija prema autoru? Da, potrebna je. Ali više kao bilješke koje pomažu prisjetiti se o čemu smo se dogovorili. Angažiranje osobe s druge strane ponovno zahtijeva raspravu.

Autor se ne udubljuje u temu dovoljne dokumentacije, stavljajući naglasak na potrebu za raspravama. (Da, dokumentacija je potrebna, koliko god to neki ljudi tvrdili koji nisu dovoljno duboko u razumijevanju agilnog pristupa). Također, obrada samo dijela mogućnosti može dovesti do potrebe za potpunim preuređenjem cijelog sustava. Autor ukazuje na rizik od pretjerane obrade u slučaju kada nije pogodio s idejom.

Kako bi se smanjili rizici, važno je brzo dobiti povratne informacije o razvijenom proizvodu kako bi se minimizirao šteta od stvaranja "ne toga" proizvoda. Napravili smo skicu ideje — validirali je kod korisnika, skicu prototipa sučelja — validirali kod korisnika itd. (Odvojeno se navodi kako validirati prototipove softvera). Ciljevi izrade softvera, posebno u ranoj fazi — učenje kroz brzu povratnu informaciju, pa je prvi stvoren proizvod skice koje mogu potvrditi ili opovrgnuti hipotezu. (Autor se oslanja na rad Erica Riesa "Start-up metodologija Lean").

Karta priča pomaže u uspostavljanju komunikacija ako se realizacija osigurava kroz više timova. Što bi trebalo biti na karti? Ono što je potrebno za podršku razgovoru. Ne samo korisnička priča (tko, što, zašto), nego i ideje, činjenice, skice sučelja itd.

Razdvajanjem kartica na karti priče na nekoliko horizontalnih linija može se razdvojiti rad na izdanjima — izdvojiti minimum, sloj nadogradnje funkcionalnosti i mašnice.

Govori se o pričama na karti procesa.

Zaposlenik je došao na ručak.

Što on želi? Brzinu usluge. Da njegov ručak već čeka na stolu ili barem na pladnju. Opa — propušteni korak: zaposlenik želi ručati. Ušao je u sustav i odabrao opciju poslovnog ručka. Vidio je kalorije i nutritivne vrijednosti kako bi se pridržavao dijete i ne debljao. Pogledao je slike jela kako bi odlučio hoće li jesti na tom mjestu ili ne.

Zatim će otići po ručak i ručati? Ili će mu možda dostaviti ručak u ured? Tada korak u procesu — izbor mjesta za jelo. Želi vidjeti vrijeme kada će mu dostaviti i koliko će to koštati kako bi odlučio gdje potrošiti vrijeme i energiju — na silazak dolje ili na posao. Želi vidjeti opterećenost kafića kako ne bi čekao u redovima.

Zatim je zaposlenik došao u kafić. Želi vidjeti svoj pladanj kako bi ga uzeo i odmah otišao ručati. Kafić želi primiti novac kako bi zaradio na usluzi. Zaposlenik želi izgubiti minimalno vremena na naplatu u kafiću kako ne bi trošio dragocjeno vrijeme bez koristi. Kako to učiniti? Platiti unaprijed ili obrnuto, nakon usluge na daljinu. Ili platiti u trenutku putem kioska. Što od toga je najvažnije? Koliko ljudi je spremno platiti obrok bankovnom karticom? Koliko ljudi će vjerovati pohranjivanju broja kartice za ponovnu uplatu ovoj Kantini? Bez istraživanja na terenu nije jasno, potrebno je testiranje.

Na svakom koraku procesa potrebno je na neki način osigurati funkcionalnost, za to je potrebno uzeti neku osobu kao osnovu i odabrati što je njemu važnije (tih nekoliko odabiratelja). Prošli smo priču do kraja = napravili smo održivo rješenje.

Zatim slijedi detaljizacija. Klijent želi vidjeti opterećenost kafića kako ne bi čekao u redovima. Što konkretno želi?

Gledati prognozu koliko će ljudi biti za 15 minuta kada dođe.

Gledati prosječno vrijeme usluge u kafiću i njegovu dinamiku za pola sata unaprijed.

Gledati situaciju i dinamiku zauzetosti stolova.

A što ako sustav predikcije daje nejasan rezultat ili prestane raditi?

Gledati putem video zapisa u redovima u kafiću, kao i zauzetost stolova. Hmm, zašto to ne napraviti u prvom redu?!

Autor navodi malo vježbanje za praksu: pokušajte si zamisliti što radite ujutro nakon buđenja. Jedna kartica = jedna radnja. Uvećajte kartice (umjesto samljeti kavu – popiti energizirajući napitak), kako biste uklonili pojedinačne detalje, fokusirajući se ne na način izvršenja, već na cilj.

Za koga je ova knjiga — za IT analitičare i voditelje projekata. Obavezno za čitanje.

Aplikacije

Diskusija i donošenje odluka učinkoviti su u grupama od 3 do 5 osoba.

Napišite na prvoj kartici ono što treba razvijati, na drugoj — ispraviti ono što je učinjeno na prvoj, na trećoj — ispraviti ono što je učinjeno na prvoj i drugoj.

Pripremite priče kao kolače — ne pišući recept za izradu, već saznajući kome, povodom čega, za koliko osoba je kolač. Ako razbijate realizaciju, onda ne na izradu biskvita, kreme itd., već na izradu malih gotovih kolača.

Razvoj softvera nalikuje stvaranju filma, kada je potrebno pažljivo izraditi i dotjerati scenarij, organizirati scenu, glumce itd. prije početka snimanja.

Resursa će uvijek nedostajati.

20% truda daje opipljiv rezultat, 60% dovodi do nejasnog ishoda, 20% truda ide na štetu — zato je važno fokusirati se na učenje i ne očajavati u slučaju negativnog rezultata.

Komunicirajte izravno s korisnikom, osjećajte se u njegovoj koži. Fokusirajte se na određene probleme.

Detaljizacija i razrada priče za procjenu — najnaporniji dio scruma, učinite rasprave stojećima u režimu akvarija (pored ploče raspravljaju 3-4 osobe, ako netko želi sudjelovati, zamjenjuje nekoga).

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster