You are on page 1of 5

INFOTEH-JAHORINA Vol. 11, March 2012.

Agilni pristup upravljanju softverskim projektima


Milica Nekovi, Mladen Rakovi
Katedra za raunarstvo
Elektronski fakultet
Ni, Srbija
milica.m.neskovic@gmail.com, mladen.rakovic@hotmail.com

SadrajSavremena dostignua u domenu Informacionih II. UPRAVLJANJE PROJEKTOM POJAM I FAZE


tehnologija rezultuju porastom broja projekata u oblasti Upravljanje projektom podrazumeva definisanje ciljeva
softverskog inenjerstva. Obzirom na osobenosti ovakvih projekta, planiranje projekta, procenu njegovog trajanja i
projekata u odnosu na ostale inenjerske discipline, intenzivno se kontrolisanje aktivnosti u procesu realizacije projekta kako bi
istrauju metodologije za njihovim efikasnim upravljanjem. se blagovremeno ostvarili ciljevi projekta [2]. Ove zadatke
Kroz ovaj rad predlaemo agilni pristup upravljanju projektima sprovodi menader projekta.
uz Scrum metodologiju kao najoptimalniji nain za ostvarivanje
primarnih ciljeva projekta: izradu softvera, koji u potpunosti
zadovoljava korisnike zahteve, i njegovu dostavu na vreme, a u A. Definisanje ciljeva projekta
okruenju koje ini agilan razvojni tim motivisan za nove Definisanje ciljeva projekta se oslanja na prikupljanje
izazove. (Abstract) zahteva od krajnjih korisnika softvera. Zahtevi se mogu
dokumentovati u funkcionalnim specifikacijama ili kreiranjem
Kljune rei-agilna metodologija; Scrum; sprint; (key words) korisnikih pria (User Stories), zavisno od toga koja metoda
e biti koriena u procesu planiranja projekta. Vano je
I. UVOD prikupiti to vie zahteva i stei to kompletniju sliku o
Softversko inenjerstvo se u velikoj meri razlikuje od funkcionalnosti i izgledu projekta pre nego to e se krenuti sa
ostalih inenjerskih disciplina. Razmotrimo osnovne razlike njegovom realizacijom. Zavisno od korienog metoda za
[1]: upravljanje projektom, korisniki zahtevi se mogu redovno
revidirati i planirati dalji koraci u razvoju aplikacije.
Proizvod je nedodirljiv:
B. Planiranje i realizacija projekta
Tokom izrade opipljivih proizvoda, menader u svakom
momentu moe pratiti razvoj kroz sagledavanje samog Inicijalni korak u planiranju projekta je priprema resursa
proizvoda. Meutim, u procesu razvoja softvera, esto je kroz planiranje ljudskih, materijalnih i trokovnih resursa.
nemogue sagledati napredak dok se ne doe do zavrne faze. Raspoloivost resursa direktno utie na obim projekta, kao i na
Samim tim, tee je uoiti eventualne zastoje u izradi proizvoda planirani period realizacije.
i preduprediti nepotovanje postavljenih rokova. Nakon toga vri se izbor metodologije za upravljanje
Ne postoji standardni nain za razvoj softvera: projektom.
Softver se u mnogo emu razlikuje od organizacije do Pod metodologijom se podrazumeva skup smernica ili
organizacije, naroito ako je softver deo velikih inenjerskih principa, koje mogu biti oblikovane i primenjene u odreenoj
projekata. situaciji [3]. Upravo od mogunosti primene i ciljeva projekta
zavisi koja e metodologija biti koriena za njegovo planiranje
Veliki softverski projekti se uglavnom znatno razlikuju i realizaciju.
od prethodnih projekata:
Postoje brojne metodologije za planiranje i upravljanje
Zbog toga ak i menaderi sa iskustvom ne mogu uvek da realizacijom projekta [3]: tradicionalna (waterfall), agilna,
predvide probleme u realizaciji projekta. Takoe, stalni razvoj reverzno inenjerstvo, Open Source metodologija, rad sa
Informacionih tehnologija esto ponitava prethodno iskustvo i prototipovima i mnoge druge. U ovom radu emo se bazirati na
zahteva prilagoavanje novim tehnologijama, koje sa sobom osobine tradicionalnog i agilnog pristupa kao najee
nose nove eventualne potekoe u izradi softvera. korienih.
Prethodno navedene injenice znatno oteavaju postupak Tradicionalni pristup podrazumeva realizaciju projekta
upravljanja projektom u oblasti softverskog inenjerstva. korak po korak kroz 5 faza:
U ovom radu analiziramo najee korienje metodologije 1. Analiza zahteva i izrada specifikacija;
za upravljanje softverskim projektima i izdvajamo agilni
pristup kroz njegovu integraciju u sve faze upravljanja 2. Arhitekturalni dizajn;
projektom i isticanje uloge u efikasnom ostvarivanju 3. Implementacija i integracija;
postavljenih ciljeva projekta.
4. Verifikacija, testiranje;

- 814 -
5. Dostavljanje i odravanje softvera. Scrum Master organizuje tim u procesu izrade plana,
obuava ga u pravcu sprovoenja metodologije i uklanja
Posmatrani pristup se esto koristio zbog mogunosti ranog prepreke u sprovoenju metodologije i realizaciji projekta.
otkrivanja greaka u funkcionisanju softvera bug-ova. Tokom
prikupljanja korisnikih zahteva i planiranja kroz specifikaciju Obe pomenute uloge esto obavlja ista osoba najee
se mnoge greke mogu preduprediti. Ovakav pristup je znatno menader projekta.
isplativiji od postupka pronalaenja neispravnosti u fazi
testiranja. Pored toga, iscrpna dokumentacija u ovakvom 3. Organizovati sastanak tima sa sledeim zadacima:
pristupu znatno olakava integraciju novih lanova u razvojni Definisati Product Backlog:
tim.
Product Backlog obuhvata sve funkcionalne i
Tradicionalni pristup se i dalje moe primenjivati u nefunkcionalne karakteristike softvera iskazane korisnikim
sistemima gde ne dolazi do este izmene korisnikih zahteva. priama (User Stories).
Meutim, softverski sistemi jednostavno nisu takvi. Najei je
sluaj da korisnici nakon prvog uvida u aplikaciju trae Prioritizovati Product Backlog:
ogromne izmene tvrdei da proizvod ne ispunjava njihova To je zadatak Product Owner-a. Podrazumeva postavljanje
oekivanja. Ovo iziskuje ogromne trokove za razvojni tim i prioriteta meu zadacima na osnovu logikog sleda i hitnosti
produava period realizacije projekta. dobijanja odreene funkcionalnosti bilo da je ona iskazana od
Razmotrimo prethodni pristup na primeru kreiranja 4 nove strane korisnika ili definisana od strane razvojnog tima.
karakteristike (features) softvera. Krajnji korisnici mogu videti Product Backlog se iskazuje korisnikim priama, koje zapravo
rezultate rada tek kada se okonane sve aktivnosti na projektu, predstavljaju poslovnu terminologije koja je od znaaja za
odnosno kada su sve 4 karakteristike implementirane. Tokom korisnika.
pregleda i dopune ovakvih planova, menader projekta je Definisati trajanje korisnikih pria:
uglavnom koncentrisan na pronalaenje nedostajuih aktivnosti
umesto na nedostajue karakteristike. Pored toga, prilikom Veliina korisnikih pria iskazuje se u poenima (Story
realizacije ovakvih planova esto dolazi do nepotovanja Points). Svaka pria dobija odreenu vrednost na osnovu
rokova zbog meuzavisnosti aktivnosti, pa se samim tim procenjene teine na nivou tima. U procenama se preporuuje
kanjenje u jednoj aktivnosti odraava na trajanje samog upotreba Fibonaijevih brojeva. Procene se daju kroz tzv.
projekta. Menader moe pokuati da to prevazie tako to e planski poker (Planning Poker) tako to svaki lan tima daje
smanjiti vreme utroeno na kontrolu kvaliteta proizvoda, svoju procenu, a dalje se dogovorno vri usaglaavanje. Poker
odnosno testiranje, ime se poveava mogunost isporuke se ponavlja sve dok svi lanovi tima ne daju isti broj poena
nestabilnog softvera, koji moe izazvati nezadovoljstvo korisnikoj prii. Ovim se inicijalni sastanak sa timom
korisnika i ak eventualni prekid dalje saradnje. zavrava. Ukoliko je obim neke od korisnikih pria isuvie
veliki (21 poen ili vie), poeljno je takve korisnike prie
Zbog pomenutih problema, uveden je agilni pristup rastaviti na 2 manje, a zatim definisati njihove veliine.
upravljanju projektima. Osnovni postulat agilnog pristupa tvrdi Granulacijom zadatka se dodatno smanjuje verovatnoa za
da je softver koji radi glavno merilo napretka projekta [4]. pogrenim procenama usled okvirnih procena prevelikog
Umesto faza u realizaciji projekta, neophodno je vriti zadatka.
kontinuirane izrade prototipova softvera, koji e se periodino
dostavljati korisnicima. Ovo je iterativni pristup razvoju 4. Analizirati prioritete:
softvera.
Analiza prioriteta podrazumeva preispitivanje prioriteta
Nakon prikupljanja korisnikih povratnih informacija korisnikih pria nakon to je definisana njihova veliina.
pristupa se izmenama softvera u tenji da se proizvede softver Nekada se prioriteti menjaju tako to se korisnike prie koje
koji u potpunosti zadovoljava njihove zahteve. krae traju pomeraju na poetak ciklusa, dok se obimnije
korisnike prie odlau za kasnije, mada se uvek mora voditi
Razmotrimo Scrum [4] kao reprezentativnu agilnu rauna o logikom sledu korisnikih pria, kao i prioritetu
metodologiju. realizacije na osnovu informacija od korisnika.
Scrum zagovara iterativni pristup planiranju i realizaciji 5. Organizovati sastanak tima sa sledeim zadacima:
projekta kroz modelovanje uloga lanova tima. Obuhvata
sledee faze: Definisati duinu iteracije:
1. Izabrati lana tima koji ima ulogu vlasnika proizvoda U Scrum metodologiji iteracija se naziva sprintom. Sprint
(Product Owner): treba da traje izmeu jedne i etiri nedelje.
Njegov zadatak je da odredi cilj projekta na osnovu Definisati pojedinane zadatke u okviru svake
interakcije sa korisnicima i da definie prioritete u njegovom korisnike prie:
razvoju. Preporuka je izabrati osobu, koja ve dobro poznaje
poslovanje klijenta ili se moe brzo integrisati i samim tim Zadaci ne moraju biti korisniki orijentisani i mogu
obuhvatiti i usmeriti njihove zahteve. obuhvatati faze u razvoju softvera: dizajn, razvoj, unit
testiranje, UAT (User Acceptance Testing).
2. Izabrati lana tima koji ima ulogu Scrum Master-a:
Procene trajanja zadataka u satima:

- 815 -
Za svaki zadatak se relevantni zaposleni za njegovu ne skliznuti u tradicionalni menadment projektom gubei iz
realizaciju dogovaraju u vezi duine trajanja i donose procenu. vida potrebe korisnika.
Na odluku mogu uticati i ostali lanovi tima kroz precizno
razjanjavanje zaduenja. Vano je naglasiti da se ne definie Nakon definisanja krucijalnih uloga lanova tima, pristupa
koji resurs e obavljati odreeni zadatak. Tim mora da se definisanju prioriteta u Product Backlog-u.
funkcionie kao celina i da se organizuje u pravcu realizacije Poetna funkcionalnost, koju bi aplikacija trebalo da ponudi
zadatka bez isticanja pojedinaca. korisnicima je mogunost kreiranja novog zaposlenog, pregled
njegovih podataka, izmena podataka i brisanje zaposlenog.
Izbor korisnikih pria, koje e ui u sprint:
Pomenute karakteristike aplikacije se mogu objediniti u
Na osnovu trajanja zadataka, pa samim tim i trajanja poetnom sprintu, gde e svaka pomenuta karakteristika
implementacije svake zaokruene celine, odabrati korisnike aplikacije predstavljati posebnu opciju (feature).
prie, koji e ui u sprint. Preporuljivo je pripremiti i dodatne
Pomenute karakteristike se mogu modelovati preko
prie, koji bi se potencijalno mogle odraditi ukoliko bi sprint
sledeih korisnikih pria:
bio okonan pre roka, ali se ne obavezivati na njihovu
realizaciju Product Owner-u. Ovim se sastanak sa timom Kao administrator, elim da dodam novog zaposlenog
zavrava. aplikaciji.
6. Odabrati softver za sprovoenje agilne metodologije: Kao administrator, elim da vidim podatke o
Mogu se koristiti razliiti alati, kao to su ScrumWorks, kreiranom zaposlenom u aplikaciji.
iceScrum, JIRA uz korienje dodatka GreenHopper. Vri se Kao administrator, elim da menjam podatke o
kreiranje sprinta i korisnikih pria u njemu. Svaka korisnika zaposlenom.
pria sadri zadatke, koji se mogu rasporeivati resursima.
Zadaci su grupisani u kategorije Uraditi, U toku, Zavreno. Kao administrator, elim mogunost da uklonim
Zavisno od upotrebljenog softvera, mogu se dodati i nove zaposlenog iz aplikacije.
kategorije kao to su Product Backlog, koji sadri korisnike Pored navedenih korisnikih pria, poeljno je definisati i
prie za implementaciju, ili Zastoji, koji obuhvata zadatke koji dodatne, koje e biti smetene u Product Backlog. One se
kasne sa realizacijom. Svi lanovi tima se u razliitim mogu planirati za naredne iteracije i koristiti za planiranje
svojstvima mogu prijavljivati u aplikaciju i prikazivati release-a aplikacije. Takoe mogu posluiti kao rezerva
realizaciju svojih zadataka kroz njihovo prevlaenje iz jedne ukoliko se sprint eventualno zavri ranije.
kategorije u drugu. Na ovaj nain sprint zapoinje.
Za svaku korisniku priu se definie obim u poenima.
7. Pratiti realizaciju projekta: Prilikom definisanja veliine zadataka, kao najbolji pristup
Sa poetkom sprinta zapoinje se realizacija projekta. pokazuje se izdvajanje najmanje korisnike prie kojoj e se
Zadatak Scrum Master-a je da prati realizaciju projekta kroz dodeliti 1 poen. Razvojnom timu e dalje biti lake da definie
dnevne i nedeljne sastanke sa timom, uoava zastoje u poene za ostale korisnike prie, jer e imati inicijalnu priu sa
realizaciji i radi na njihovom prevazilaenju. kojom e moi da porede svaku narednu. Za navedenu
aplikaciju, utvreni poeni prvog sprinta su sledei: 5, 1, 3, 3.
8. Zakljuiti sprint uenje zasnovano na prethodnom Nije vrena dodatna revizija prioriteta, jer su dobijeni poeni bili
iskustvu: oekivani od strane menadera projekta.
Na kraju iteracije sabiraju se poeni dodeljeni svakoj Dobijene korisnike prie se dalje segmentiu na
korisnikoj prii i na taj nain se utvruje obim sprinta izraen pojedinane zadatke i unosi se vreme predvieno za realizaciju
u poenima. Pored toga, zadatak Scrum Master-a je da sa timom svakog zadatka.
utvrdi ta je oteavalo sprint, ta se moe uiniti da se sledei
sprint popravi i odluiti ta e tim uraditi drugaije u narednom Deljenje korisnikih pria na zadatke moe se vriti
sprintu. razdvajanjem na aktivnosti u razvojnom procesu. Na primer, za
poetnu korisniku priu se mogu definisati sledei zadaci:
III. PRIMER AGILNOG PRISTUPA UPRAVLJANJU PROJEKTOM Novi zaposleni serverska strana
Razmotrimo pomenuti pristup na primeru projekta izrade Novi zaposleni korisniki interfejs
Web aplikacije za evidenciju zaposlenih u jednoj kompaniji -
eZaposleni. Testirati dodavanje novog zaposlenog
Najpre se definiu lanovi tima, koji e se ponaati kao Za definisane zadatke se definie i vreme trajanja u
Product Owner i Scrum Master. Pomenute osobe moraju dobro idealnim satima, odnosno efektivnom broju sati koje bi lan
poznavati razvojni tim (naroito se odnosi na Scrum Master-a) tima potroio na njegovo odraivanje. Za navedene zadatke,
i potrebe aplikacije koja se izrauje (naroito se odnosi na utvrena vremena trajanja su po 10 asova za svaki zadatak.
Product Owner-a). Obzirom na to da ovaj posao esto obavlja
Potrebno je voditi rauna o meuzavisnosti zadataka tokom
ista osoba, vano je ouvati ideju o razvoju softvera koji
definisanja trajanja korisnike prie. Serverska strana i
isporuuje traene karakteristike softvera korisniku i ne bazirati
korisniki interfejs se obino mogu razvijati paralelno s tim to
se na pojedinane aktivnosti razvojnog tima, tj. ne prevariti se i
se izvesno vreme potroi na njihovu integraciju. Testiranje

- 816 -
implementirane funkcionalnosti obino u potpunosti zavisi od aplikacija je znatno jednostavnija i omoguava samo
prethodnih zadataka. Samim tim, trajanja svih zadataka se ne manipulaciju korisnikim priama i zadacima, pa e zato biti
mogu jednostavno sabrati, jer bi to impliciralo meusobnu koriena u svakodnevnom radu lanova tima.
uslovljenost svih zadataka, koja ne mora nuno da postoji.
Prilikom definisanja trajanja korisnike prie preporuujemo Sve korisnike prie su smetene u sekciji Backlog Items.
da se za zadatke, koji se izvravaju paralelno, kao njihovo Njihov prioritet se moe menjati jednostavnim prevlaenjem
vreme trajanja usvoji vreme potrebno za realizaciju dueg iznad ili ispod prethodnika, odnosno sledbenika.
zadatka i da mu se doda vreme potrebno za testiranje. U naem Zadaci koji pripadaju priama se nalaze u Not Started
primeru, obzirom da i razvoj na serverskoj strani i korisnikom sekciji. Svaki zaposleni moe poeti rad na zadatku tako to e
interfejsu traju paralelno po 10 asova, usvojiemo 10 asova ga jednostavno prevui (drag-and-drop) u sekciju In Progress
kao trajanje ovih zadataka. Ovom vremenu emo dodati vreme ili manuelno promeniti njegov status. Kada se zadatak okona,
potrebno za testiranje funkcionalnsoti. Dolazi se do zakljuka moe se premestiti u sekciju Done.
da posmatrana korisnika pria ima predvieno trajanje od 20
asova. Pored toga, postoji i sekcija Impeded za zadatke sa
tekoama u realizaciji. Jedan od zadataka Scrum Master-a je
Obzirom da je agilni pristup test-driven [4], potrebno je da da uoi potekoe na vreme i da pokua da ih otkloni.
procene obuhvate i vreme potrebno za unit testiranje, kao i za
acceptance testiranje. Kroz ovaj softver, Scrum Master ima centralizovan pristup
informacijama vezanim za sprint koji se sprovodi, moe pratiti
Slian postupak se sprovodi i za ostale korisnike prie. njihov progres, na vreme lokalizovati potekoe, planirati
Nakon to se definie vreme trajanja sprinta (1 4 nedelje), trajanje release-a i blagovremeno aurirati podatke.
potrebno je ukljuiti odreeni broj korisnikih pria u sprint na Nakon zavretka sprinta, proizvod se moe dostaviti
osnovu njihovog predvienog trajanja. Preostale korisnike krajnjem korisniku u vidu Preview Build-a. Dobijene povratne
prie ostaju u Product Backlog-u. informacije se mogu koristiti za izmenu ili dopunu ve
Prilikom definisanja korisnikih pria, koje e ui u sprint, postojeih zahteva po pitanju novih karakteristika aplikacije,
definisano je i trajanje samog sprinta u Story Point-ima i pri emu e se znaajno poveati ansa da korisnik dobije
idealnim satima. Na osnovu ovih podataka se mogu grubo proizvod koji u potpunosti zadovoljava njegove zahteve.
planirati naredni sprintovi i konani release aplikacije. Nakon Zadovoljstvo korisnika otvara mogunost za nove projekte sa
svakog sprinta, ovakve okvirne planove je potrebno revidirati i njim ili njegovim partnerima, kojima bi mogao preneti
dopuniti. Samim tim e i release plan biti sve konkretniji sa pozitivna iskustva iz saradnje sa razvojnim timom.
svakim realizovanim sprintom.
ZAKLJUAK
Za automatizaciju agilnog upravljanja projektom korien
je ScrumWorks softver. U ovom radu analizirali smo osnovne faze u upravljanju
projektima, definisali potencijalne potekoe u realizaciji
Instaliran je ScrumWorks Pro Server 5.1.0, koji integrie projekta i preporuili agilnu metodologiju kao pristup koji ima
desktop aplikaciju ScrumWorks Pro Desktop Client i najbolji efekat na blagovremenu realizaciju ciljeva projekta.
jednostavniji ScrumWorks Pro Web Client [5] (Sl. 1). Pored toga, pozitivno utie na razvojni tim na sledeim
Podacima smetenim na serveru se moe pristupati kroz obe poljima:
aplikacije.
podstie timski duh,
smanjuje pritisak na pojedinca,
motivie tim za naredne sprintove.
Osim povoljnog uticaja na razvojni tim, potvrdili smo da se
na ovaj nain doprinosi razvoju softvera, koji integrie
korisnike povratne informacije i samim tim u velikoj meri
zadovoljava korisnike zahteve, a to je svakako jedan od
ciljeva projekta, jer zadovoljan korisnik je esto garancija za
buduu saradnju.

LITERATURA
[1] I. Sommerville, Software Engineering, Addison Wesley, 2006.
[2] J. P. Leviw, Fundamentals of Project Management, Amacom Books,
1995
Slika 1. Primer praenja sprinta u ScrumWorks aplikaciji
[3] J. Charvat, Project Management Methodologies: Selecting,
Implementing, and Supporting Methodologies and Processes for
Desktop aplikacija se koristi za konfiguraciju projekta kroz Projects, John Wiley & Sons, 2003
kreiranje projekta, release-ova, sprintova, timova, korisnika i [4] K. Schwaber, Agile Project Management with Scrum, Microsoft Press,
modelovanje njihovih uloga. Pored toga, moe se koristiti i za 2004
kreiranje korisnikih pria i zadataka unutar njih. Web

- 817 -
[5] http://danube.com/docs/scrumworks/pro/latest/userguide.html, management with Scrum methodology as the most
Copyright 2011 CollabNet, Inc. All rights reserved. optimal way of achieving the primary objectives of project.
Primary objectives of project are making the software, which
ABSTRACT fully meets the user requirements, ensures delivery on time and
Recent achievements in the field of in an environment that makes agile development
information technology cause increase of the number of team motivated for new challenges.
projects in the field of software engineering. Having in mind
the characteristics of such projects, in relation to AGILE APPROACH TO SOFTWARE PROJECT
other engineering disciplines, there is a necessity for MANAGEMENT
customized software project management methodology. Milica Neskovic, Mladen Rakovic
Through this paper we propose an agile approach to project

- 818 -

You might also like