Blog

Team.Chat - Epizoda #4 - Review

Meni je osobno review jedan od najdražih sastanaka tijekom sprinta. Sastanemo se s korisnicima i stakeholderima, te zajedno prođemo kroz sprint i isporuku.
, 10.02.2017.

Najnoviju verziju aplikacije stavimo na nekoliko testnih mobitela i tutnemo ih korisnicima u ruke. Tad kreće tapkanje po aplikaciji, diskusija, skupljanje prvih dojmova, povratnih informacija i ideja za nastavak. Razmjena svega toga je slobodna i nesputana, ljudi se slobodno fizički kreću prostorom da bi ušli u diskusije koje ih zanimaju, pričaju, zapisuju i crtaju ideje na papir. Kao mali Dolac nedjeljom prijepodne. U računala zapisujemo sve što je vrijedno sačuvati, a većinom su to bitne povratne informacije, ideje za dorade i nove priče korisnika. Zapišemo ih barem dvije-tri na svakom review-u. No, zapisujemo i komentare koji nam daju dodatni dublji uvid u razmišljanje korisnika. Na kraju im pokazujemo backlog te objašnjavamo njegov poredak.

Kako smo došli do tako lijepog review-a?

Prvo, par riječi o prostoru u kojem ga održavamo – naprosto je fantastičan. Dva visoka šank stola i nekoliko barskih stolica, jedan veliki televizor na kojem pokazujemo naš elektronički backlog, puno svijetla i ležerna atmosfera. Prostor nije izgrađen ni zamišljen za naš review, već je to jedna velika višenamjenska prostorija. Unutra imamo biljar, pikado i stolni nogomet za opuštanje, a može se i pojesti ručak ili održati kakav sastančić.

dsc_7022_30253864521_o

Scrum Master radi kratki uvod na početku sastanka

Kako smo se odlučili za njega? Sasvim slučajno. Kad smo počinjali htio sam neki ležerniji prostor i ta prostorija je bila logičan i najočitiji kandidat. Jesam li imao kriterije? Jesam – „ugodno“ 🙂

Ok, je li ugodnost jedini kriterij?

Izgled i atmosfera su samo jedna sitnica u tom prostoru. Ono što je bitno je njegov raspored. Znamo svi da raspored znatno utječe na to koje položaje i orijentacije u njemu ljudi zauzimaju. A upravo to jako utječe na način na koji će oni komunicirati. Nije svejedno hoće li ljudi sjesti uz dugački stol jedni nasuprot drugih, rame uz rame oko kružnog stola ili se okupiti oko visokog šank – stola. Također, sjedenje je potpuno različito od stajanja, odnosno sjedenja na visokoj stolici. Puno sam ljudi vidio koji jednostavno ne žele ustati kad su već tako lijepo sjeli. Drugi pak mogućnost da s udobne stolice ustanu i sami odu do bijele ploče (papira, stakla, poleđine ormara itd) u žaru diskusije jednostavno ne vide. Facilitatorov je zadatak da odabirom prostora i uređenjem njegovog rasporeda stavi sudionike u poziciju iz koje se lako i trenutno mogu kvalitetno uključiti u temu i dati svoj doprinos. Zanimljivo je koliko dugo ljudima zapravo treba da taj mali faktor uoče. Npr. Pixaru (paragraf „Make it easy for everyone to speak up”) je trebalo 10 godina da se oslobode svog dugog stola.

Jako zanimljivo, no sigurno ne možete pripisati sve zasluge prostoru, jel’da?

Naravno da ne. Uzalud nam najbolji prostor na svijetu ako među ljudima nema povjerenja, tako da smo za nešto u tom dobrom review-u i mi ljudi krivi 🙂 Sam sastanak nije od početka bio takav. Tim je bio stava koji je sezao od „što će oni nama govoriti kako će to izgledati, imamo mi jako puno iskustva s chat aplikacijama“ preko „em imaju previše ideja, em ih je teško implementirati, nema ih smisla slušati svaka dva tjedna, možemo to i rjeđe“, do „mogao bi se možda samo PO baviti s njima a da nas puste na miru“. Stvarno zabrinjavajuće. Trebalo je nešto vremena da tim shvati kako korisnici nisu babaroge nego ljudi kao svi ostali. Da su zapravo iskreno zahvalni i sretni kad dodamo neku funkcionalnost koju traže od nas, i da iz uzmi-uzmi dinamike možemo svi skupa prijeći u daj-daj.

Daj-daj?

Da, kad se ljudi ne znaju i ne vjeruju si odnos naginje prema uzmi – uzmi. Tim od korisnika uzima samo povratnu informaciju koju je najlakše za uvažit (ponekad ignorirajući ostalo), a korisnici žele od tima što je moguće više i nikad nije dosta. Naš tim nije bio iznimka. Nerijetko sam čuo pojedine članove kako govore „to je jako teško, ne može se implementirati“ i rezao korisnike odmah na početku. Pričali smo na retrospektivama i van njih da pokušamo taj ton prilagoditi i da na review-u izađemo iz naših programerskih cipela i stanemo u korisničke. Ili barem da na jednoj nozi bude programerska a na drugoj korisnička cipela. Jer review je mjesto gdje se samo sakupe priče. Razrada i samo obvezivanje (commitment) dolaze kasnije. Jedino što na tom sastanku možemo reći je: „shvatili smo, zapisali smo, sad i vi znate kako mi s tehničke strane gledamo na tu priču, razmislit ćemo još mi međusobno kako bi to i kada mogli napraviti“ – ne i obvezati se da ćemo to stvarno napraviti, a još manje kada. Review je sastanak na kojem tim korisnike prvenstveno treba slušati i shvatiti. To je puno olabavilo stav tima spram novih ideja i otvorilo bogatu komunikaciju. Korisnici su zapravo dosta brzo prihvatili taj stav, unatoč tome što smo ih posjeli na suvozačevo sjedalo.

dsc_7024_30304711266_o

Korisnik crta skicu rješenja

Nakon nekoliko sprinteva – kad su korisnici stvarno vidjeli da im želimo isporučiti najbolji proizvod – postali su iskreno zahvalni. Tim želi korisnicima isporučiti što je više moguće zadovoljstva, a korisnici zauzvrat žele dat zahvalnost u smislu što bolje i preciznije povratne informacije, a ponekad i u smislu kompleksnosti zahtjeva. Dva puta razmisle da li tim žele opterećivati nečim kompliciranim i upitne koristi,  i skloniji su naći se na pola puta s developerima.

Jako lijepo, no sigurno unatoč svemu tome korisnici ponekad imaju nerealne zahtjeve

Evo primjera. Jednom je jedna korisnica žarko željela doraditi ekran za započinjanje privatnog razgovora. Imala je i ideju kako bi ona to napravila, smislila novi izgled i sve detalje tog ekrana i praktički sve napravila za nas. Toliko se udubila. Originalni ekran uistinu nije bio najintuitivniji, priznao je i tim, no naša aplikacija u tom momentu još nije imala obavijesti (notifications) kad je korisniku došla poruka. Ne treba posebno napominjati da se unatoč svim nedostajućim funkcionalnostima apsolutno nitko nije bunio što su ipak baš obavijesti bile na vrhu backloga. Ekran pak smo uvažili kasnije, uz ponovno potvrđivanje cijele te priče gdje je korisnica opet dobila priliku predomisliti se.

Drugi takav zahtjev bio je onaj za obavijestima. Kako radimo aplikaciju koja se spaja na Web Socket API chat servera koji nije pod našom kontrolom naletjeli smo na neka ograničenja oko kojih je trebalo stvarno zasukati rukave. Trajalo je nekoliko sprintova da se riješe jer je trebalo uroniti duboko u kôd servera. Da stvar bude bolja nismo znali ni jezik ni razvojni okvir na kojem je server izgrađen. Ista situacija se desila i s custom authentication providerom. PO je unatoč svemu čvrsto zastupao taj zahtjev i tim ga je nakon dosta truda ispunio.

Pad sprinta

Pali smo ih nekoliko, recimo da je omjer negdje pola – pola. Da li se zabrinjavam oko toga? Nimalo. Taman je onako kako treba biti. I već čujem pitanja „Zašto ne, nije li cilj da svaki sprint bude uspješan?“, „Zašto niste poradili na preciznijem obvezivanju?“, „Što su vam sponzori rekli?“. Sva ta pitanja su bitna. Doista i meni su bila – no ne svako pitanje jednako u svakom periodu našeg Scrum života. Želimo li imati uspješne sprintove? Naravno, no prvo trebamo jako dobro razumjeti korisnike i njihove priče. Želimo li što preciznije obvezivanje? Naravno da želimo, no prvo želim da kliknemo kao tim, uspostaviti povjerenje, doći do zdrave razine konflikta itd. Trudimo li se da zadovoljimo sponzora? Da, ali još se više trudimo da radimo što bolje, a učenje i razvoj tima znači i povremeni pad sprinta.

Proći sprint nam uistinu jest jako bitno. Ali nije kraj svijeta ako ga padnemo – već jedna nova prilika za naučiti nešto novo.

U sljedećem nastavku pričat ću o Product Owner roli. Stay tuned… 🙂

Tagovi:
Povratak