Anda di halaman 1dari 14

SveuiliteJurjaDobrileuPuli

Fakultetzaekonomijuiturizam
Dr.MijoMirkovi

Poslovniinformacijskisustavi
Agilnemetoderazvojasoftvera

seminarskirad

Pula,2015

SveuiliteJurjaDobrileuPuli
Fakultetzaekonomijuiturizam
Dr.MijoMirkovi

Poslovniinformacijskisustavi
Agilnemetoderazvojasoftvera

seminarskirad

Izradila:
MiaPetri

Pula,2015

SADRAJ

1. UVOD

Rije agilno u prijevodu oznaava spremnonapokret,aktivnost,ustrost,hitrost. Agilne


metode imaju korijene u japanskoj poslovnoj filozofiji(kanban)nastalojprijevieod20godina,
a tek u dananje vrijeme postale su popularne u tvrtkama za razvoj softvera. Klasine metode
projektiranja informacijskih sustava, kao npr. vodopadni pristup, spiralni pristup i drugi koje su
vremenski zahtjevne i orjentirane prema opsenom dokumentiranju, u dananje vrijeme estih
promjena pokazale su se nedovoljno uinkovitima. Kao novi nain upravljanja projektima
razvojasoftverapojavljujuseagilnemetode.
Veina agilnih metoda pokuava smanjiti rizik (od programskih pogreaka,prekoraenja
vremenskih rokova, itd.) razvijajui softver u kratkim vremenskim okvirima, koji se nazivaju
iteracije, a koji traju otprilike od jednog do etiri tjedna. Svaka iteracija je nalik na mali
samostalni projekt razvoja programskepodrke,isadrisvezadatkekojisupotrebnidabinastao
napredak u funkcionalnosti programa: planiranje, analiza zahtjeva, dizajn, kodiranje, testiranje i
dokumentiranje. Iako pojedina iteracija ne moe jamiti da edodatidovoljnofunkcionalnostiu
program da bi se moglo rei da je to gotov proizvod, projekt koji se razvija nekom od agilnih
metoda nastoji proizvesti novu verziju programa nakon svake iteracije. Na krajusvakeiteracije,
projektnitimvriponovnuevaluacijuprioritetaunutarprojekta.

Slika1
.Iterativnirazvojniproces

Agilne metode naglaavaju vanost komunikacije u realnom vremenu, po mogunosti


licem u lice, a s druge strane stavljaju puno manje panje na pisanu dokumentaciju. Veina

agilnih timova svrstano je u tzv. bullpen i u njemu se nalaze svi ljudi potrebni za dovrenje
programa. Najmanje to agilni tim moe sadravatisuprogrameriinjihoviklijenti.Klijentisu
ljudi koji definiraju konaan proizvod. To naravno mogu biti menaderi, poslovni analitiari,
ljudiizdrugihdijelovafirme,istvarniklijentikojikupujuprogramskorjeenje.
U bullpenu mogu biti i testeri gotovogsustava,dizajneri,piscitehnikedokumentacije,
te razni slojevi upravljakog kadra. Ono to agilne metode takoer naglaavaju je program koji
radi kaoglavnipokazateljnapretkaprojekta.Kadsetokombinirasnaklou prema komunikaciji
licem u lice, moe se zakljuiti da agilne metode proizvode vrlo malo pisane dokumentacije u
usporedbi sa drugim metodama. To je dosadarezultiralotimedasuagilnemetodeproglaavane
nediscipliniranim hakiranjem ili kaubojskim kodiranjem (eng. cowboy coding).Sve to je
ovdjenavedenopredstavljaglavnaobiljejaagilnograzvojaprogramskepodrke.

2.AGILEMANIFESTO

Agilne metode razvoja programkepodrkesuskupmetoda,anejedanjedinstvenipristup


razvojuprogramske podrke.2001.godine,17bitnihlinostiusvijetuagilnograzvoja(tadasuse
zvale lagane metode) nalo se je na skijalitu Snowbird u amerikoj saveznoj dravi Utah,
kako bi raspravili i usuglasili se oko pitanja: to je jedinstveno za sve te metodologije?. Tada
su stvorili takozvani Agile Manifesto, za koji sesadasmatradapredstavljaosnovnudefiniciju
agilnograzvoja(ovojeprijevod,originalsenalaziuPrilogu1):

Deklaracijaagilnograzvojaprogramskepodrke

Mi nalazimo bolje naine razvoja programske podrke radei to i pomaui drugima da to isto
rade.Kroztajposaospoznalismodavievrijede:

Pojedinciiinterakcijenegoprocesiialati
Programskapodrkakojaradinegosveobuhvatnadokumentacija
Suradnjasklijentimanegopregovaranjeokougovora
Odgovornapromjenenegoslijeenjeplana

Drugim rijeima, iako postoji vrijednost u stvarima na desnoj strani, mi vie cijenimo stvari
nalijevojstrani.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin
Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick,
RobertC.Martin,SteveMellor,KenSchwaber,JeffSutherland,DaveThomas

2001,gorenavedeniautori
Ova deklaracija se moe slobodno kopirati ubilokojemobliku,alisamousvojojcijelostisvedo
krajaoveopaske.

UzAgileManifestodolazeiprincipikojistojeizatoga.Principikojisenavodeukljuuju:

zadovoljstvoklijenata
zahtjevizapromjenamasudobrodoliusvakomtrenutku
naglasaknaiteracijama
naprojekturaderazvojniinenjeriiljudiizposlovnogpodrujakojisuiniciraliprojekt

osnovasvakogprojekta:motiviraniljudi
naglasaknakomunikacijilicemulice
osnovnamjeranapretkajeprogramkojiradi
odrivirazvoj,stalantemporazvoja
tehnikapotkovanostidobardizajnrjeenja
jednostavnost
timovikojisesamiorganiziraju
povratneinformacijeoradutimapoboljanjeefikasnosti

Sudei prema listi principa koja je usuglaena unutar Agile Manifesto, agilne metode
programskograzvojaizgledajuvrlopoeljno.

3.POVIJESTNASTANKAAGILNIHMETODA

U posljednjih 25 godina isproban je velik dio razliitih pristupa u razvoju softvera, od


kojih je samo nekoliko istinski zaivjelo. Agilne metode su se razvijale sredinom 90ih godina
20. stoljea kao dioreakcijenatzv.visokoformalnemetode(engl.highceremonymethods),kao
to su CMM(engl.CapabilityMaturityModel),PrinceiRationalUnifiedProcess.Procesrazvoja
koji vue porijeklo od ovih metoda je u odreenim primjenama vien kao birokratski i spor.
Agilni pokret (engl. Agile Movement) u industriji softvera je zapoeo 2001. godine kada je
grupa softverskih praktiara i konzultanta (Kent Beck, AlstairCockburniostali)objavila "Agile
SoftwareDevelopmentManifesto".
Uvoenje metodologije ekstremnog programiranja (engl. Extreme Programming) 1999
godine, poznatije kao XP, je iroko prihvaena kao startna toka razliitih pristupa agilnog
razvoja softvera. Postoji, takoer, mnotvo drugih metoda koje pripadaju zajednikoj porodici
agilnih metoda. Neke od tih metoda, odnosno metodologija su: Crystal Methods(Cockburn,
2000. godine), FeatureDriven Development(PalmeriFelsing,2002.godine),AdaptiveSoftware
Development(Highsmith,2000.godine)idruge.

Slika2
.Usporedbaagilnemetodesatradicionalnom

4.SVOJSTVAAGILNIHMETODA

Najvanija svojstva agilnih metoda su jednostavnost i brzina. U razvojnom radu, tim je


koncentriran samo na funkcije koje su potrebne u prvoj ruci i na njihovu implementaciju, zatim
na brzu isporuku, dobivanje povratne informacije od naruitelja te reakcije na primljene
informacije. Glavno pitanje je to ini razvojnu metodu agilnom? To je sluaj kada je razvoj
softvera:

1)inkrementalan
(maleneisporuke,sbrzimciklusima)
2)kooperativan
(naruiteljirazvojnitimradeneprestanozajednoubliskojkomunikaciji)
3)izravan
(metodajejednostavnazauenjeimodificiranjetedostatnodokumentirana)
4)prilagodljiv
(umogunostidaseinepromjeneuposljednjemtrenutku).

Tipini ciklus projekta je u trajanjuodjednogtjednailijednogmjesecainakrajusvakog


ciklusa se vri ocjena projektnih prioriteta, to je karakteristika i inkrementalnih metodologija
razvoja softvera i modernih teorija projektnog vodenja. Openito, agilne metode nameu
koritenje nepotrebnih trokova to je manje mogue, u formi principa, opravdanosti,
izvjetavanjaidoputenja.

4.1KARAKTERISTIKEAGILNIHMETODA

Odabir odgovarajue procedure nije toliko orijentiran kako bi zaustavio promjeneranou


projektu, ve kako se bolje nositi s neminovnim promjenama tijekom itavog ivotnog ciklusa
projekta.Agilnemetodesuzapravodizajniranekakobi:

proizvele prvu isporuku u ranim tjednima projekta, kako bi se postigla "brza pobjeda" i
brzapovratnainformacijaodkupca
osmislile jednostavno rjeenje tako da je manje toga za mijenjati iizradatihpromjenaje
jednostavnija
kontinuirano unaprijedile kvalitetu dizajna, inei slijedeu iteraciju jeftinijom za
implementaciju
potaklekontinuiranotestiranjezaranijuitimemanjeskupljudetekcijuneispravnosti

Osnovni principi agilnih metoda ukljuuju istou koda koji radi, efektivnost ljudi koji
rade zajedno sa dobromvoljomtejefokuszapravonatimskomradu.Skuppristupakojiizviruiz
agilnihprocesarazvojasoftverasuslijedei:

ljudimajestalodarazvojniprojektuspije
immanjedokumentacije(akojemogue)
komunikacijaokritinimstvarima
alatizamodeliranjenisukorisnikaotoseobinomisli

4.2UPOTREBAAGILNIHMETODA

Agilni razvoj dobro funkcionira za male (<10razvojnihinenjera)timovekojisulocirani


na jednom mjestu. Agilni razvoj naroito je preporuljiv za timove koji se suoavaju sa
nepredvidljivim ili brzo mijenjajuim zahtjevima. Iako postoje dobra iskustva timova koji su
uspjeli koristei agilni razvoj i ne spadaju u gore navedene skupine, prema postoji premalo
takvihizvjeadabiseiznjihmoglopovuivrstezakljuke.
Primjenjivost agilnih metoda je upitna kod sljedeih scenarija: veliki razvojni timovi
(>20 razvojnih inenjera) distribuirani razvoj (cijeli tim nije smjeten na jednoj lokaciji) razvoj
programske podrke od ijeg koritenja ovise ivoti razvijena je kulturazapovijedanjaikontrole
unutarkompanije

4.2.1BOHEMOVITURNEROVPRISTUPBAZIRANNAANALIZIRIZIKA

Barry Boehm i Richard Turner u[3]predlaukoritenjeanalizerizikakakobisedonjela


odluka o koritenju prilagodljivih (agilnih) ili predvidljivih (planskih) metoda. Autori
navodedasvakastranaspektraimasvojetemelje:

Tablica1
.Usporedbatemeljnihosobinaagilnihiplanskihmetoda

5.METODERAZVOJAAGILNIHMETODA

Agilne metode predstavljaju samo mali podskup svihagilnihmetodakojesedanasmogu


susresti. Neke od ostalih ee koritenih metoda su: Crystal porodica metoda, RUP (Rational
Unified Process), DSDM (Dynamic Systems Development Method), ASD(Adaptive Software
development), Open Source Software Development, agilno modeliranje i pragmatino
programiranje. Zbog ogranienosti prostora, te metode ovdje nisu opisane, ali za njihove
osnovne osobine najbolje je pogledati. Prilikom usporedbe bilo kakvih metoda, postavlja se
pitanje do kolike mjere je odreena usporedba subjektivna? Ovdje e se nastojati koristiti
objektivan nain usporedbe, na nain da se tablino pobroje osobine kojeodreena metodaima.
Usljedeojtablici radiseusporedbametodapotrikriterija:kljuneosobine,specijalneosobinei
nedostaci. Kljune osobine oznaavaju osnovne postupkeiosobineodreenemetode.Specijalne
osobineoznaavajujednuilivieosobinakojeodreenametodaimaaostalenemaju.

Tablica2
.Usporedbatemeljnihosobinaagilnihmetoda

FDD ne pokuava biti cjelokupno rjeenje za razvoj programske podrke, nego se


fokusira na jednostavni pristup od 5 koraka, koji se bazira na uoavanju, dizajniranju i
implementaciji osobina. FDD pretpostavlja da su odreene stvari u smjeru nastanka projekta
odraene,tezbogtogatametodanepokrivaranefazeprojekta.
XP predstavlja metodu koja gleda na problem iz kuta prakse. Sastoji se od odreenog
brojaupraksiprokuanihpostupakatejezbogtogavrlovrijedna.

Scrum predstavlja metodu upravljanja projektima koja se oslanja na samoorgazirajue


razvojne timove. Ti timovi rade nove verzije sustava u 30dnevnim ciklusima koji se nazivaju
Sprintovi.Integracijaitestprihvatanovogsustavanisuopisaniunutarmetode.

5.ZAKLJUAK

U dananje doba razvojni softverski inenjeri sve manje programiraju planski. Sve se
vie pribjegava novim metodama, koje se pak vie koncentriraju na ljude, funkcionalne
programe, klijente i fleksibilnost nego na procese, dokumentaciju, pregovaranje i slijepo
slijeenje zacrtanog plana. Sve te karakteristike imaju opisane agilne metode. Agilnemetodesu
izvrstan pomoni alat u mnogim situacijama. Problem sa agilnim metodama je to ih se
pojavljuje sve vei i vei broj. Programeri bi se mogli (ako ve i nisu) nai usituaciji da ostanu
zbunjeni sa tolikim izborom metoda. Koju metodu odabrati za konkretan problem? Zato se u
svim agilnim metodama srodni postupci ne nazivaju jednako? Zato ne postoje empirijska
istraivanja o koritenim metodama u razvoju programske podrke? Sve su to pitanja koja si
programermoepostaviti,atrenutnonatapitanjanepostojekonkretniodgovori.


6.LITERATURA

1.AgileSoftwareDevelopment,Wikipedia
2. PekkaAbrahamsson,OutiSalo,JussiRonkainen,JuhaniWarsta, AgileSoftwareDevelopment
Methods,VTTPublications,ESPOO,2002.
3.http://www.xprogramming.com
4.http://www.zpr.fer.unizg.hr

Anda mungkin juga menyukai