Upload
marko-simic
View
17
Download
3
Embed Size (px)
DESCRIPTION
Kratak opis Scrum procesa razvoja
Citation preview
Scrum proces Marko Simić
Sadržaj
UVOD
KLjUČNE REČI
KARAKTERISTIKE SCRUM PROCESA
OSNOVNI SCRUM PRINCIPI
ULOGE U SCRUM TIMOVIMA
ZAKLJUČAK
REFERENCE
UVOD
Model agilnog razvoja je izgrađen na osnovu iterativnog, ali se zasniva an pristupu koji je više
okrenut direktnoj komunikaciji sa ljudima. Ovakav proces kao svoj primarn i kontrolni mehanizama
koristi povratne informacije iz regularnog testiranja svakog release-a softvera, a ne planiranje.
Većina agilnih metoda pokuašva minimizarati rizik razvojem softvera u kratkim vremenskim
intervalima, u iteracijama koje treaju 1 do 4 nedelje. Svaka iteracija je kao minijaturni softver
projekat koji uključuje zadatke potrebne da se realizuje mini inkrement nove funkcionalnosti:
planiranje, analizu zahteva, dizajn, kodiranje, test i dokumentovanje. Agilne metode kao primarnu
meru napretka projekta uzimaju softver koji radi i usmerene su na brzu adaptaciju u realnim
promenama.
Scrum (eng. scrum) je najrasprostranjeniji u grupi agilnih procesa razvoja softvera i uspešno se
primenjuje u poslednjih 20 godina. Slično drugim agilnim metodama, scrum optimizuje
iskorišćenost ograničenih resursa i podstiče timove da se samostalno ogranizuju i održavaju
sopstvenu dinamiku bez uticaja spoljnih čililaca. Ovo omogućava da razvoji timovi ostvaruju svoj
maksimalni potencijal i čini da vođenje tima bude usmereno strateškim ciljevima, a ne
mikromenadžmentom.
Scrum proces je više vezan za agilno upravljanje softverskim projektom, nego za agilno
projektovanje softvera. Njime su defiisani načini upravljanja zahtevima, formiranja iteracija
(planiranje sprinta), kontrole implementacije i isporuke klijentu. Često se upotrebljava kao način
vođenja XP, ili drugih projekta koji ne moraju obavezno da se projektuju nekom agilnom metodom.
Kao projektni okvir koristi se za realizaciju različitih razvojnih procesa. Najčešće se kombinuje sa
razvojem pomoću ekstremnog programiranja, ili drugih agilnih metoda.
Strana 1
Scrum proces Marko Simić
KLjUČNE REČI
SCRUM, sprint, tim, scrum master, vlasnik projekta, backlog
KARAKTERISTIKE SCRUM PROCESA
Ključna prednost scrum procesa leži u upošljavanju multifunkcionalnih i samoorganizujućih timova
koji dele poslove na manje i sažete zadatke koji se nazivaju sprintovi (eng. sprints). Na slici 1. je dat
pregled toka projekta za jedan sprint.
Slika 1. Tok scrum procesa za jedan sprint
Jedan scrum ciklus počinje sastankom stejkholdera na kome se formira vizija projekta. Vlasnik
projekta potom kreira listu zahteva izraženih korisničkim viđenjem realizovanih zadataka. Svaki
sprint počinje sprint planiranjem u okviru koga se razmatra uklljučivanje elemenata sa ove liste
zahteva u zadatke za naredni period. Jedan sprint generalno može trajati od jedne do šet nedelja i
podrazumeva da scrum tim napravi inkrement u softverskom proizvodu koji bi potencijalno mogao
da se isporuči klijentu.
Tokom jednog ciklusa sprinta se održavaju i dnevni kratki i veoma fokusirani sastanci na kojima se
diskutuje o progresu vezanim za konkretne zadatke. Osnovu predstavljaju tri ključna pitanja koja se
postavljaju na svakodnevnim, jutarnjim “stojećim” petnaestominutnim sastancima, a to su:
● Šta je urađeno juče?
● Šta će se raditi danas?
● Kakve nas danas prepreke očekuju?
Ova pitanja se odnose na:
● Kontrolu izvršenog
Strana 2
Scrum proces Marko Simić
● Planiranje budućeg dizajna
● Identifikaciju rizika i nalaženje rešenja
Pri kraju sprint ciklusa se zakazuje jedan demonstracioni sastana sa vlasnikom projekta i svim
zainteresovanim stejkholderima kako bi se prikazao učinak i promene, kao i poređenje sa
prethodno definisanim kriterijumima ispunjenosti zadataka. Kraj sprint ciklusa predstavlja jedan
retrospektivni sastanak u kojem tim diskutuje o načinima da se proces poboljša u odnosu na
prethodni period.
Neke od glavnih karakteristika koje scrum proces izdvajaju od ostalih su:
● adaptibilnost
● transparentnost
● kontinurani fidbek
● kontinuirano poboljavanje
● kontinuirano isporučivanje nove vrednosti za klijenta
● održiv tempo isporuke
● rano isporučivanje rezultata i pomaka za klijenta
● efikasnost i motivisanost članova tima
● brzo rešavanje problema
● orijentisanost na klijenta
● zajednička odgovornost
● stvaranje inovativnog okruženja
OSNOVNI SCRUM PRINCIPI
Scrum principi su ključne smernice za primenu scrum procesa i obavezni su za sve scrum projekte.
Šest osnovnih scrum principa su:
● empirijska kontrola procesa
● transparentnost
● kolaboracija
● prioriteti bazirani na stvaranju vrednosti
● vremensko uokvirivanje
● iterativni razvoj
Ovih šest principa prikazani na slici 2.
Strana 3
Scrum proces Marko Simić
Slika 2. Scrum principi
Scrum principi se mogu primeniti na svaki tip projekta u organizaciji i neophodno je pridržavati ih
se u cilju obezbeđivanja efektivne primene scrum procesa. Neadekvatna primena ili nepridržavanje
ovih principa može rezultovati gubitkom poverenja u sâm proces i gubljenje ciljeva projekta iz
fokusa.
ULOGE U SCRUM TIMOVIMA
Postoji više pogleda na to kako treba da bude sačinjen scrum tim. Prema nekim izvorima, scrum
tim broji 5-10 članova, dok drugi kažu da se taj broj kreće od 6 do 9. Ono što se podrazmeva jeste
da su obavezni jedan vlasnik proizvoda (eng. product owner) koji je predstavnik klijenta, scrum
master koji je vođa tima i ostali članovi tima koji mogu biti specijalisti za pojedine oblasti razvoja.
Od kritične je važnosti da pri formiranju tima budu obuhvaćeni svi članovi sa svojim veštinama tj.
da budu pokrivene sve potrebne oblasti ekspertize potrebne za realizaciju zadataka. Iz ovog razloga
su timovi mulitfunkcionalni. Dodatno, trebalo bi da postoji po barem dvoje ljudi za neku oblast
kako bi se eliminisala zavisnost tima od jedne osobe za tu oblast.
Ne postoji menadžer odnosno u scrum timu. Naprotiv, tim kao celina i njegovi članovi kao
pojedinci se samostalno organizuju sa visokim stepenom autonomije i odgovornosti za svoj učinak.
Pomenuti scrum master je tu da osigura da se poštuju scrum principi kao i da donosi odluke o
tome kako bi se zadaci tokom jednog sprinta mogli ostvariti. Scrum master nije šef tima većviše
ima ulogu instruktora. On nije nadređen timu većse brine o tome da tim funkcioniše na najvišem
nivou i preuzima na sebe odgovornost da ukloni prepreke sa kojim se tim tokom rada na projektu
može sretati. U ovom kontektstu se pod preprekom podrazumeva svaki činilac koji usporava ili
onemogućava kompletiranje jednog sprint ciklusa.
Pored scrum mastera kao posebna uloga se izdvaja vlasnik projekta. Radi se o članu tima koji je
zadužen za komercijalni uspeh krajnjeg prozivoda. Kao takav, vlasnik projekta mora poznavati
Strana 4
Scrum proces Marko Simić
potrebe klijenta i relativnu vrednost proizvoda za njega. On te potrebe prevodi u listu zahteva i
sortira ih u skladu sa vrednostima u poslovnom smislu (one sa najvećim značajem dobijaju prioritet
na listi).
Ostali članovi tima su zaduženi za realizaciju zadataka u okviru jednog sprinta. Ovo ima za
posledicu da bi vlasnik projekta trebalo da polovinu svog vremena na projektu provodi sa timom,
da bi se osiguralo da se ispunjavaju zadaci sa liste zahteva. Drugu polovinu vremena bi trebalo da
provede u konsultacijama sa klijentima i drugim stejkolderima kako bi se uverio da lista zahteva i
učinak u jednom ciklusu zaista reflektuje njihove potrebe. Ove relacije su date na slici 3.
Slika 3. Organizacija u Scrumu
Ovakva organizacija omogućava efikasno postavljanje sprint planova. Cela ideja vezana za sprint
cikluse jeste da se utvrdi šta se želi postići na kraju jednog sprinta. Za jedan scrum tim je važno da
se lista zahteva (ovo se često pominje i kao lista lista još neispunjenih zadataka, eng. backlog) u
okviru sprinta jasno definiše u smislu koji su zadaci spremni za izvršavanje.
Strana 5
Scrum proces Marko Simić
ZAKLJUČAK
U ovom radu je u osnovnim crtama objašnjen Scrum razvojni proces. Ovaj proces ne rešava sve
probleme sa kojim se tim može sresti tokom realizacje nekog projekta, od svog nastanka je u
scrum inkorporirano mnogšto važnih tehnika koje su praktično primenljive. Njime se kreira radno
okruženje i zajednički jezik koji omogućava timovima da imaju bolji uvid u suštinu problema, kao i
sposobnost brze adaptacije na promene u okruženju.
Strana 6
Scrum proces Marko Simić
REFERENCE
Dragana Bečejski-Vujaklija, Uvod u informacione sisteme, Fakultet organizacionih nauka, Beograd
2008.
A Guide to the Scrum Body of Knowledge (SBOK™ Guide) – 2013 edition, SCRUMstudy™, a brand of
VMEdu, Inc., Phoenix, Arizona, USA
Pete Deemer, Gabrielle Benefield, Craig Larman, Bas Vodde, A Lightweight Guide to the Theory and
Practice of Scrum Version 2.0,2012
Strana 7