Blog

Vesti, akcije, događaji, zanimljivosti...
24 јан 2019

Po čemu se razlikuju Kanban i Scrum i koji je za vas bolji?

Kako se često susrećemo sa ovim pitanjem, odlučili smo da podelimo sa vama ovaj sjajan intervju koji je vodila Milena Rašić.

Zašto agilne metodologije ne treba birati, već pustiti da one izaberu vas?

Danas je gotovo nemoguće otvoriti oglas za posao u oblasti IT-ja, a da poslodavac kao posebnu prednost ne navodi i korišćenje neke od agilnih praksi. Tako je po popularnosti vodeći Scrum, a u poslednje vreme često se priča i o Kanbanu – o tome za koje timove su odgovarajući i koje izazove nastoje da prevaziđu, te koliko vremena mogu da uštede.

Pa ipak, zaboravlja se najvažnija stvar: framework ne bi trebalo da se bira po default-u, već testiranjem od strane timova.

O tome i drugim izazovima razgovarali smo sa Mirjanom Trobok, Delivery i Department Manager u kompaniji Levi9 i Nemanjom Čedomirovićem, suosnivačem konferencija GrowIT i PHP Serbia.

Zašto Kanban/Scrum?

Mirjana: Odgovor je jednostavan, kao i sam Kanban – zato što je to lako savladiva agilna praksa, koja nam omogućava da brzo reagujemo na promene prioriteta. Kanban definiše svega tri smernice: vizualizuj svoj posaoograniči WIP (work in progress) i povećaj količinu urađenog posla u jedinici vremena (throughput).

Većina organizacija želi da završava zadatke brže (odn. žele da smanje lead time). Sa vizualizacijom i podešavanjem WIP-a, Kanban će vam omogućiti da optimizujete tok rada (workflow). To ćete postići tako što ćete identifikovati uska grla (bottleneck). Naravno, da li je Kanban baš pravi alat za vaš konkretan slučaj, zavisi od konteksta.

Nemanja: Ovo je vrlo individualno i vrlo nezahvalno pitanje jer ne postoji tačna formula koja će reći zašto koristiti Scrum ili ne – sve zavisi od potrebe timova ili kompanije. Čak i unutar jedne kompanije ne možete reći e, od danas, svi mi koristimo Scrum. Prosto, to nije toliko jednostavno, niti je moguće primeniti isti recept za različite timove.

Kompanije koje su tek u početnoj fazi agilne transformacije, uglavnom se najpre odluče da koriste Scrum, pre svega zato što je postao mainstream i svi pričaju o njemu. Obično bude pa šta, sada ćemo i mi da počnemo sa dnevnim sastancima od po 15 minuta, ispratimo ostale događaje koje Scrum propoveda i onda je to to. To je suštinski velika greška, i zbog toga kompanije kasnije imaju mnogo veće probleme.

Pre toga fokus treba da vam bude na kulturi unutar kompanije i izgradnji agilnih vrednosti, a sama implementacija i korišćenje agilnih framework-ova treba i mora da ostane na timovima da odluče. Na kraju dana, ako neko odozgo kaže od danas koristimo Scrum, tu i nema neke agilnosti, zar ne?

Za koje projekte i timove se Kanban/Scrum pokazao kao odgovarajući framework?

Mirjana: Definitivno za timove/projekte kod kojih se prioriteti često menjaju i gde krajnji korisnici ne mogu dugo da čekaju da dobiju neophodne izmene. Primer takvih timova su timovi koji održavaju produkcioni kod ili timovi koji rade na razvoju izveštaja (BI timovi). Po svojoj definiciji, Kanban omogućava da se brzo reaguje na neophodne izmene i samim tim da se dobije korisnikov feedback.

Sa druge strane, iz iskustva bih preporučila Kanban za zrele timove koji rade razvoj softvera, čak iako se kod tih timova prioriteti ne menjaju često. Kada imate tim koji je u fazi delovanja (performing phase) i koji je dostigao zavidan nivo samoorganizovanosti, Scrum sa svojim pravilima može postati ograničavajući.

Evo primera: ako vam se učestalo dešava da imate retrospektive, koje počinju da gube smisao jer prosto nemate dovoljno materijala za unapređenje na svake dve nedelje – možda je vreme da razmislite da li postoje još neki aspekti koji ukazuju da je tim dostigao nivo zrelosti za Kanban. Prelazak će vam između ostalog omogućiti da imate retrospektivu po potrebi. Ipak, obavezno je zadržite!

Nemanja: Scrum je po svojoj prirodi framework koji je najbolje primenljiv na projektima kada imamo nekompletnu sliku, odnosno imamo ispred nas neku ideju proizvoda koji pravimo, ali nismo sigurni ni koji je najbolji način da to uradimo ni koje su to funkcionalnosti koje će najbolje proći kod krajnjih korisnika. U tom slučaju Scrum ima smisla jer u kratkim iteracijama, uz konstantan feedback od strane korisnika možemo da otkrijemo šta je to što pravimo i na koji način.

Što se tiče timova, Scrum obitava u okruženju koje je konstantno, odnosno kada nema velike fluktuacije, kada su timovi stabilni i zajedno rade na jednoj stvari, gde su 100% fokusirani na to što rade.

Koje su, po tebi, najveće prednosti tog framework-a?

Mirjana: Sa Kanbanom – manje je uvek više. Imajući u vidu da ima samo tri smernice, dosta toga ostaje otvoreno. Svi ostali procesi se mogu dodati po potrebi, ali nisu neophodni. Dobre prakse iz Scruma – kao što su retrospektiva, planiranje, uloge, veoma se uspešno primenjuju na Kanban terenu. Naravno ne zaboravimo XP prakse, kao što su test driven development (TDD), pair programmingcontinuous integration (CI). Prednost Kanbana je i to što ne propisuje koliko često određeni događaji treba da se dešavaju, već tim ima slobodu da to definiše spram svojih potreba.

On je zgodan kada ne možemo da predvidimo predstojeći posao zbog konstantog menjanja prioriteta. Za razliku od Scruma gde u sklopu jedne iteracije ne bi trebalo da menjamo planirani posao, možemo menjati prioritete onako kako okruženje diktira – čime se ubrzava vreme odgovora na promene koje nekada mogu biti ključne za biznis.

S obzirom na obaveznu vizualizaciju toka rada, kao i ograničavanje work in progress, omogućava otkrivanje onog uskog grla. Njegovom eliminacijom obezbedićemo brže reagovanje tima na zahteve biznisa i smanjiti feedback loop. Bitno je istaći da timovi vole Kanban, zato što ima manje sastanaka, smernica i nema “veštačkog” pritiskapred završetak svake iteracije kao što može biti slučaj kod Scruma. Međutim, pitanje je da li je svaki tim spreman za ovakav vid slobode i odgovornosti.

Nemanja: Prednost je to što je Scrum široko rasprostranjen, čak i previše 🙂, ali to sa druge strane ima prednost jer ima mnogo materijala za čitanje i izučavanje koji su napisani samo o Scrumu. Scrum Guide, kao osnova za početak razumevanja ovog framework-a je jako jednostavan za razumeti, lako je ući u njegovu filozofiju, što je prednost, ali sa druge strane i mana, jer je izuzetno teško primeniti sve te stvari u timovima i ispratiti implementaciju od početka do kraja. Scrum je lepo struktuiran, vrlo je jasna podela na uloge, sastanke, zna se koje su vrednosti i kako se one postižu, sve ovo mogu biti prednosti, ako imate osobu koja zna kako da ih implementira.

Kada ne treba koristiti Kanban/Scrum?

Mirjana: Kanban ne bih preporučila za novooformljene, neiskusne timove, kojima je ipak potreban veći nivo usmeravanja kako bi dostigli fazu delovanja (performing phase). Baš zato što ima malo pravila, mnogo toga je dozvoljeno, a neiskusni timovi se slabije snalaze u takvom okruženju. U ovim slučajevima, Scrum mi se čini kao bolja opcija jer Kanban nudi mnogo slobode, ali i mnogo odgovornosti.

Takođe, iz mog iskustva, Kanban je izazovan i u slučaju kada je neophodno obezbediti prediktivnost – odgovoriti na pitanje kada će određena veća funkcionalnost ili skup funkcionalnosti biti gotov. Naravno, postoje načini kako se ovo može uraditi i kada se koristi Kanban, međutim prirodnije je u tom slučaju koristiti Scrum.

Nemanja: Scrum ne radi u slučajevima ako ga koristite samo zato što u oglasu morate da navedete da koristite neki agilni framework, jer je to sada kul. Tada ipak nastupa realnost i nemate ništa agilno u svojoj kompaniji, a ponajmanje Scrum okruženje.

Scrum, niti bilo koji drugi framework, ne treba koristiti samo zato što je to neko rekao ili zato što je popularno, niti zato što je izašla knjiga “Kako da radite duplo brze koristeći Scrum” jer nećete raditi duplo brže samo zato što ste počeli da koristite Scrum ili pročitali neku knjigu. Potrebno je eksperimentisati pa tek onda odrediti koji  je za koji tim ili za koji projekat.

Ne koristite ga da biste povećali produktivnost, već da olakšate rad timova. Na kraju dana, koji god framework da koristite, ljudi su najbitniji i oni su ti koji će graditi i taj tim i raditi na tom projektu.

Koji su najveći izazovi sa kojima si se suočio/la koristeći se datim framework-om?

Mirjana: Budući da je u Kanbanu manje više, veoma je lako krenuti sa njim – ali isto tako je veoma lako ne ostvariti cilj optimalnog rada. Kada gotovo da nema smernica, nema jasno definisanih uloga, strukture sastanka, veoma je lako upasti u haos.

Ne postoji čarobni štapić i nijedan framework ne može biti cilj sam po sebi. Nikada nemojte prestati da eksperimentišete, ukoliko je to moguće obezbedite sigurno okruženje za tim i fokusirajte se na kontinuano unapređenje. Verujem da u takvom kontekstu ni uspeh, kao ni srećan tim, neće izostati.

Nemanja: Ja sam, recimo, u početku najviše izazova imao upravo zbog zvanja Scrum Master – nesrećno nazvane titule koja znači i sve i ništa. Predrasude sa kojima sam se susretao radeći u multinacionalnim timovima rasutim po svetu i sa kojima ću se svakako i dalje susretati, su uglavnom o tome šta ta titula podrazumeva. Scrum master, dakle, nije tim lider, šef, nije projektni menadžer i ne može da bude podeljena ličnost (i programer i QA i Product Owner…), sve ovo su predrasude sa kojima se Scrum masteri susreću skoro svakog dana. Naravno, ovo ne važi kada je organizacija zrela, kada su timovi zreli, onda možda i može doći do mešanja nekih rola, ali nikako mešanje SM-a i PO-a u jednoj osobi.

Izazovi su svakako i na relaciji sa višim menadžmentom u kompanijama. Uglavnom su svima puna usta agilne transformacije, ali na kraju dana i nisu toliko spremni na promene. Scrum Master je tu da provocira trenutno učmalo stanje, on je i rebel i vagabundo i predvodnik, i u tim slučajevima dolazi do čestih konflikta u početnim fazama impementacije, ali sa druge strane to je i lepota ovog posla.

Izvor: Netokracija

Leave a Reply