HelloWorld logo
12.06.2015. ·
6 min

Kako savladati “Scrum anti-paterne”? – izazovi u implementaciji Scrum agilne metodologije u razvoju softvera

Jelena Ristić (ex Bogdanić) Jelena Ristić (ex Bogdanić)

Scrum se u svetu koristi za razvoj kompleksnih proizvoda jos od ranih 90-tih godina, dok se poslednjih godina agilan pristup razvoju softvera skoro da podrazumeva. Svest o moći primene agilnih metodologija razvoja softvera postoji u Srbiji, ali se kompanije manje ili više susreću sa brojnim izazovima u njihovoj implementaciji.

Kao deo Puzzle Software-a, kompanije koja godinama srpskom i tržištu regiona pruža mogućnost Scrum edukacije i sertifikacije, mogu da govorim o izazovima pri usvajanju ove agilne metodologije.

Po definiciji "Scrum" ne predstavlja direktno proces ili tehniku razvoja softvera, već okruženje u kom je razvoj brži, produktivniji, efikasiji i u kom je moguće primeniti različite procese i tehnike. Njegovom implementacijom, u svakom trenutku svim članovima tima je poznato koliko je od planiranog urađeno, koje su se prepreke pojavile i na koji način ih prevazići kako bi realizacija bila maksimalna. Fokus je na konkretnim zadacima, timskom radu, transparentnosti procesa i rezultata, posvećenosti razvoju bez “spoljnih uticaja” unutar tima koji se samo-organizuje i obavezuje na isporuku “softvera koji radi” u dogovorenom vremenskom roku.

Morate priznati da ovo zvuči idealno. Organizujete unutar kompanije razvojne timove, pošaljete nekoliko zaposlenih na Scrum edukaciju za uloge Scrum Master-a i Product Owner-a, i usvojite Scrum kao agilnu metodologiju razvoja. Da li je to dovoljno da uslede pozitivna iskustva i rezultati?

U svetu postoji izreka koja daje odgovor na ovo pitanje: “Scrum je dosta lako naučiti, ali ga je teško implementirati u celosti.” Ukoliko nije usvojen u potpunosti, Scrum ne daje željene rezultate.

Zvanična Scrum edukacija, u smislu obuke i sertifikacije određenih članova razvojnog tima za uloge Scrum Master-a i Product Owner-a, je svakako nezaobilazna osnova za uspešnu implementaciju Scrum metodologije. Obučenom Scrum Master-u su jasni principi na kojima se agilan razvoj zasniva i on je odgovoran da svi u timu razumeju i poštuju iste. S druge strane, Product Owner je zadužen za prioritizaciju zadataka na kojima tim radi u cilju isporuke najviše vrednosti i maksimizacije rezultata razvoja. Time u timu postoji “neko” ko brine o unapređenju procesa razvoja i “neko” ko brine o proizvodu koji se razvija. Međutim, postoje brojni specifični izazovi koje je potrebno savladati da bi tim funkcionisao na agilan način. Oni su manje ili više vezani za određenu fazu životnog ciklusa razvoja softvera, za komunikaciju u timu, otpor ka promenama, strah od transparentnosti i slično.

Puzzle Software je tokom poslednjih godina organizovao pet sezona sertifikovanih Scrum kurseva u Srbiji. U saradnji sa Scrum Alliance-om, začetnikom Scrum metodologije u svetu, sertifikovano je više od 250 Scrum Master-a i Product Owner-a u Srbiji i to iz preko 30 kompanija. Na kraju svake sezone kurseva sprovodi se mini istaživanje o stavovima i željema vezanim za Scrum edukaciju i implementaciju. Poslednje tri sezone kurseva, primenu Scrum-a u njihovim kompanijama participanti su ocenili približno prosečnom ocenom 3.67 na skali 1-5 (1- uopšte se ne koristi, 5-koristi se u potpunosti).

Koji su to izazovi sa kojima se kompanije susreću u potpunom usvajanju Scrum-a?

Glavni izazovi koje su participanti kurseva navodili su opšte poznati svim kompanijama koje su uspešno usvojile ovu agilnu metodologiju razvoja. Reklo bi se da su manje-više nezaobilazni. Neki od njih su:

  • Product Owner i članovi tima se prethodno ne pripreme za planiranje sprint-a
  • Ne postoji usaglašenost Product Owner-a i tima o obimu posla koji može da se završi u toku sprint-a
  • Planiranje se zasniva na zadacima a ne na krajnjem rezultatu razvoja – karakteristikama proizvoda
  • Tokom sprint-a prate se aktivnosti umesto razvoja funkcionalnosti proizvoda
  • Tim se ne obavezuje na isporuku jasnih i konkretnih rezultata sprint-a
  • Konstantno se u timu dešava da se na kraju sprint-a ne isporuče funkcionalnisti proizvoda za koje se tim obavezao da će biti razvijene
  • Programeri u timu ne rade zajednički na razvoju pojedinačnih funkcionalnosti
  • Tim objedinjuje i testira nove funkcionalnosti proizvoda samo na kraju sprint-a
  • Product Onwer ne učestvuje aktivno u ciklusima definisanje-razvoj-testiranje funksionalnosti proizvoda koje se razvijaju
  • Scrum Master dodeljuje ili postavlja nove zadatke tokom sprint-a i na taj način narušava samoroganizaciju tima koja treba da postoji
  • Tim produžava sprint kada nešto nije završeno, odlaže demo verziju ili se ne održava predviđeni sastanak na kraju sprint-a u okviru koga se sa stejkholderima diskutuje o tome šta je urađeno i šta preostaje dalje da se radi
  • Razvijene funksionalnosti tokom sprint-a se ne demonstriraju, vec samo predstavljaju kroz izveštaj
  • Ne postoji fokus na inkrementalna poboljšanja funksionisanja tima
  • Ne vrši se retrospekvitna analiza funkcionisanja tima u prethodnom sprint-u i šta je loše rađeno da bi bilo poboljšano

Kako savladati izazove na putu ka uspešnoj implementaciji Scrum metodologije?

Kao i kod rešavanja bilo kod izazova, i ovde postoji nekoliko mogućih rešenja. Razlikuju se u resursima potrebnim za ostvarivanje istog – koliko vremena, novca, ljudi, itd je neophodno. Pozitivan poslovni rezultat će svakako da usledi.

Kada već postoje Scrum timovi, neophodno je analizirati i sagledati trenutnu situaciju u svakom od timova, te uočiti scrum anti-paterne u ponašanju. Na osnovu toga, sledi nastojanje za iterativnim poboljšanjima procesa razvoja u timovima po principima Scrum metodologije. U timu je potrebno da postoje Scrum Master i Product Owner, obučeni da savršeno razumeju Scrum, ali neretko i neko ko pored toga poseduje znanje i iskustvo u implementaciji ove agilne metodologije i prevazilaženju izazova na tom putu.

Ko su Agile Coaches?

Svaka kompanija koja je započela proces implementacije Scrum-a je na korak do toga da postane agilna u svom razvoju, ukoliko to već nije postala. Ukoliko postoji taj još jedan stepenik u potpunom usvajanju ove metodologije, a koji je neophodan za ostvaranje željenih poslovnih rezultata, možda je angažovanje Agile Coach-a najefikasniji način za korak dalje.

Agile Coaches su dokazani eksperti u implementaciji agilnih metodologija kroz razne projekte i kompanije koje su se suočile sa anti-agile ponašanjima u svojim timovima. Oni poseduju istovremeno znanje iz teorije i iskustvo iz prakse. Pored savršenog razumevanja agilnih principa i najboljih praksi, oni su iskusni u implementaciji Scrum-a u realnom poslovnom okruženju. Njihov glavni zadatak jeste da usmere organizacione transformacije u kompaniji ka agilnim prisutpima i to kroz posmatranje snaga i slabosti timova i uočavanje mogućnosti adaptacije i poboljšanja.

Angažovanje Agile Coach-a na određeni period u komapniji trebalo bi da rezultuje značajnim pomacima na putu usvajanja agilnonog razvoja: postojanje testiranih funkcionalnosti proizvoda na kraju sprint-a, robustan razvoj softvera generalno, savladavanje straha od promena koje donosi implementacija Scrum-a i mnogi drugi.

Dodatna Scrum edukacija – način za prevazilaženje scrum anti-paterna

Još jedan vid prevazilaženja izazova na putu potpune implementacije Scrum-a u razvojnom odeljenju kompanija jeste dodatna edukacija zaposlenih u domenu primene agilnih metodologija. Po prvi put u Srbiji, Puzzle Software je, osim usluga Agile Coaching-a, tržištu obezbedio i dodatnu edukaciju posvećenu pojedinim fazama agilnog razvoja softvera, razumevanju principa i praksi na kojima se agilan pristup temelji, kao i temama koje se tiču socijalnog okruženja u timovima.

Pogledaj komentare
Jelena Ristić (ex Bogdanić) Jelena Ristić (ex Bogdanić)

Business Development / Director of Education @ Puzzle Software Samoinicijativna i proaktivna osoba sa više od sedam godina iskustva u softverskoj industriji u sferi upravljanja projektima razvoja softverskih rešenja i razvoja odnosa sa klijentima. U Puzzle Software kompaniji je od marta 2014. godine gde aktivno učestvuje u strateškom razvoju poslovanja kompanije i koordinira aktivnostima kompanije koje se odnose na Agile edukaciju.

Iz ove kategorije