7
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

Embed Size (px)

DESCRIPTION

Kratak opis Scrum procesa razvoja

Citation preview

Page 1: Scrum Proces

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

Page 2: Scrum Proces

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

Page 3: Scrum Proces

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

Page 4: Scrum Proces

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

Page 5: Scrum Proces

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 Scrum­u 

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

Page 6: Scrum Proces

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

Page 7: Scrum Proces

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