Scrum radionica @ CROZ

13. i 14.11.2019. s trojicom kolega iz tvrtke Informatika Fortuno sudjelovao sam na Scrum radionici u organizaciji CROZ-a. Radionicu je činilo devet sudionika podijeljenih u dva tima, a sve je vodio Josip Osrečki.

Scrum radionica, 13.-14.11.2019. @ CROZ

Iako sam početkom godine bio na eventu pod nazivom “Svjetski dan retrospektive i stanje “agilizacije” u regiji“, koji je bio usko vezan uz neke od tema ove radionice, tek sada zapravo počinjem shvaćati što znači agilno.

Ovo su neke od natuknica skupljenih tijekom radionice:

  • Kada se Scrum implementira nije potrebno uvesti sve njegove komponenete nego svaka organizacija treba odabrati koje od njih su joj potrebne
  • Ako je okruženje jako dinamično može se koristiti samo jedan dio Scruma npr. vizualizacija
  • Tim postane efikasan nakon 6-12 mjeseci, ako su izmjene članova tima česte gubi se napredak
  • Scrum Master ne bi trebao biti (tehnički) team lead, nego vanjska osoba koja može odluke donositi objektivno, jer ionako ima previše posla, a možda nema soft skills
  • Jednom kada je tim formiran do razine pune produktivnosti više mu nije potreban Scrum Master. Iako, ovo je idealan scenarij koji se rijetko događa jer uvijek ima mjesta za poboljšanja.
  • Scrum Master nije tu da govori ljudima kako da rade svoj posao nego da im uklanja smetnje
  • Razvojni tim treba imati zadnju odluku kada je u pitanju izbor tehnologije s kojim će raditi
  • User story nije artefakt Scruma, ali ga svi koriste
  • Development i business dio organizacije trebaju raditi zajedno prilikom definiranja zadataka
  • Product Owner treba imati domensko znanje, treba biti jedna osoba, odlučuje što ide u Product Backlog

Scrum radionica, Tomislav Stanković

Scrum je okvir za razvoj, isporuku i održavanje složenih proizvoda, a temelji se na teoriji iskustvene kontrole procesa, empirizmu. Taj se okvir sastoji od Scrum timova i pripadajućih uloga, događaja i artefakata (proizvodi ljudskog rada koji su nastali primjenom agilnih metoda). – Vodič kroz Scrum

Čarobne loptice

Scrum radionica - Čarobne loptice
Josip Osrečki, CROZ
S ovom smo vježbom započeli radionicu, a imala je nekoliko pravila:
– Svaki član tima mora dotaknuti lopticu
– Prilikom dodavanja loptica mora neko vrijeme provesti u zraku
– Nema dodavanja susjedima lijevo i desno

Kao što se može vidjeti u svakoj sljedećoj iteraciji imali smo, kao tim A, bolji ili jednak rezultat sve dok nismo postigli svoj maksimum. Nakon prvog kruga imali smo rezultat od ukupno 20 loptica. Nakon toga procjena je bila da ćemo u sljedećem krugu prebaciti 28 loptica, a prebacili smo ih 36. U trećoj iteraciji procjenili smo 100 loptica, a prebacili između 50 i 60. U zadnjoj iteraciji procjena je bila 56 loptica, a prebacili smo ih 60.

Da smo igru nastavili dalje mogli smo proces dodano optimizirati kako bi postigli možda još i bolji rezultat do nekog novog maksimuma. Iz toga se može zaključiti da kada prvi put krećemo s nekom aktivnošću i nemamo referencu za usporedbu za svaki rezultat mislimo da je dobar i ne dovodimo ga u pitanje. Ako se zadovoljimo s tim rezultatom nikada nećemo znati da možemo i bolje. Možda ćemo se u tom procesu jednom i precijeniti, kao mi sa 100 loptica, ali ćemo i iz toga nešto naučiti. Kako god bilo, iz svega toga steći ćemo neko iskustvo, bolje se prilagoditi i tako postići bolji rezultat, a sve zahvaljujući učenju iz prošlih iskustava i usporedbom s prošlim rezultatima.

Push vs Pull

Tema u kojoj smo se svi na radionici mogli pronaći.

Kod Push sistema fokus je na pojedincu koji je često preopterećen, nema transparentnosti te uslijed stresa dolazi do niske kvalitete rada i krajnjeg proizvoda. Pojednostavljeno rečeno, pojedinac dobiva radne zadatke bez ikakvog reda i pravila jer je netko tako odlučio. Osoba nema mogućnost sama odabrati što želi raditi i samim time stvara se otpor prema izvršenu jer cilj osobe koja je zadatak zadala nije postao cilj osobe koja to mora napraviti.

Nasuprot tome nalazi se Pull sistem u kojemu je fokus na timu i timskom radu, zajedničkoj predanosti te na kvaliteti rada i krajnjeg proizvoda. Tada raste motivacija tima i ciklus se ponavlja. Tim postaje izrazito produktivan i opravdava korištenje Pull sistema. I ovdje svaki pojedinac mora napraviti svoj dio posla, ali ima drugačiji pristup ako sam sebi odabere što će raditi jer tada osjeća odgovornost ispuniti odabrane zadatke. Članovi tima međusobno se dogovaraju, stvara se zajednički cilj.

Iterativno & inkrementalno

SCRUM CROZ - Iterativno i Inkrementalno
Josip Osrečki, CROZ
Ovo mi je bio jedan od zanimljivijih dijelova radionice. Na jednom se primjeru moglo vidjeti kako isti projekt može otići u dva sasvim suprotna smjera ovisno o tome na koji način se pristupi poslu.

Zaključak:
– Svaki korak je funkcionalan
– Validacija pretpostavki
– Korisničke potrebe

Klijentu i developerima je u interesu nakon svakog Sprinta imati funkcionalno rješenje. Prvima da u što kraćem vremenu imaju nešto za probati, a drugima da na osnovu povratih informacija prilagode procese i proizvod.

Recimo da nam dođe klijent koji želi brže stići na posao i hoće da mu napravimo jako brz automobil sa motorom od 300KS. Procesu izrade rješenja možemo pristupiti na dva načina.

Primjer kako ne treba raditi

Možemo se što je brže moguće baciti na razvoj automobila. Istovremeno krenuti raditi kotače, motor, šasiju i dr. i na kraju to sve sklopiti da bi pred kraj projekta shvatili da motor viri izvan šasije i da nema očekivanih 300KS. Klijent tijekom čitavog procesa nije imao mogućnost isprobati funkcionalno rješenje iako smo ga uvjeravali da je sve super. Mi smo i vjerovali da je sve super je kotači sami za sebe izgledaju dobro, motor je dorađen iako nije očekivano jak, šasije je svježe obojana,… ali smo previdjeli da će doći do poteškoća prilikom spajanja svega toga, a više nemamo vremena niti budžeta za izmjene. Od testiranja stigli smo se samo provozati po parkingu firme. Klijent preuzima auto i nezadovoljan se vraća nakon nekoliko dana. To nije ono što je on htio. Auto nije dobro sklopljen, nema očekivanih 300KS i treba mu isto vremena da stigne na posao kao što mu je trebalo i sa starim automobilom.

Scrum radionica, 13.-14.11.2019. @ CROZ
Josip Osrečki, CROZ
Primjer kako bi trebalo raditi

Napravimo romobil, klijent ga u vrlo kratkom vremenu preuzme i koristi. Zadovoljan je prvom verzijom i brže stiže na posao, ali je shvatio da ga bole noge i nije mu zgodno nositi laptop. Pristupimo rješavanju tog problema i napravimo mu električni bicikl s ugrađenom torbom za laptop da ga ne mora držati u rukama, a također ne mora niti pedalirati. Uskoro počinju sve češće kiše , a i baterija je oslabila s vremenom pa klijent opet stiže kod nas. Napravimo mu skuter, sa zaštitom od kiše za vozača. Međutim, uskoro se očekuje prvi snijeg. Kroz čitav ovaj proces izrađivali smo tehnička rješenja i sa svakim naučili nešto novo. Smatramo da smo nakon skutera spremni napraviti i automobil o čemu razgovaramo s klijentom. Taj automobil ne mora imati 300KS, ali će klijentu omogućiti da na ugodniji i sigurniji način stigne na posao neovisno o vremenskim uvjetima, a usput može povesti nekog od kolega i potrebnu opremu. Klijent je oduševljen.

Neke od ostalih tema koje smo obradili bile su:

  • Scrum uloge
  • Product backlog
  • Projektni put
  • Lean razmišljanje
  • Agilne vrijednosti
  • Planiranje Sprinta (Sprint Planning)
  • Dnevni sastanak (Daily Scrum)
  • Pregled Sprinta (Sprint Review)
  • Osvrt na Sprint (Sprint Retrospective)
  • User story
  • Valueno value
  • Vrste otpada
  • Vizija
  • Retrospective
  • Relative estimation
  • Kontrola procesa

Zaključak

Ovo je bilo zanimljivo iskustvo gdje sam uspio saznati i naučiti nešto novo. Iako Scrum nije rješenje svih problema svake organizacije ipak nudi određene mogućnosti, a na svakoj je organizaciji da implementira ono što njoj treba i na način koji je najbolji za nju.

Ove su mi teme probudile dodatni interes pa ću ih nastaviti istraživati.

Scrum radionica - Tomislav Stanković