Professional Documents
Culture Documents
1. UVOD..............................................................................................................1
7. ZAKLJUČAK ................................................................................................ 23
Cilj ovog seminarskog rada predstavlja čitaoca upoznati sa teorijom i primjenom hibridnih
razvojnih sistema. Uslijed nedostatka relevatnih izvora litertaure na našem jeziku većinom
je korištena inostrana literatura.
Radna hipoteza ovog seminarskog rada koja će se pokušati dokazati ili negirati glasi:
RH: Hibridni pristupi imaaju za cilj da u određenoj mjeri tradicionalizuju tj. prošire (eng.
scale up) agilne pristupe, uvažavajući njihove ključne vrijednosti i principe.
U izradi ovog seminarskog rada korištene su metode analize i sinteze, metode indukcije i
dedukcije kao i metoda kompilacije koja predstavlja postupak preuzimanja tuđih mišljenja,
stavova, zaključaka i spoznaja.
1
2. POJMOVNO ODREĐENJE RAZVOJNOG SISTEMA
Upravo su inženjeri jedna od bitnih stavki razvoja. Naime, da bi inženjer projektirao sistem
temeljen na nekom procesoru, on mora biti upoznat s njim. 1
Tako se mogu naći sistemi koji implementiraju gotovo sto posto mogućnosti procesora u
smislu podržanih perifernih sklopova. Ovakvi razvojni sistemi u velikoj mjeri pozitivno
utječu na razvoj, pogotovo u današnje vrijeme kada je brzina razvoja apsolutni imperativ.
Neka primjer bude situacija u kojoj kupac treba što prije uređaj koji mora podržavati
komunikaciju putem interneta te implementirati znatnu količinu radne memorije. U ovom
slučaju ako je inženjer već radio s traženim procesorom, razvoj će biti znatno olakšan. Samo
informacije o načinu dovođenja napajanja, takta i reseta su već dragocjene. Uz to, ako je
dostupan razvojni sistem kojemu su navedene komponente samo podskup funkcija, prve
verzije uređaja, kroz razvojne sisteme, mogu biti gotove u mnogo kraćem vremenu od
prototipa. U situaciji koja je za današnje prilike sasvim realna, a ta je da je kupac uključen u
razvoj, moguće je u ovako ranoj fazi kupcu demonstrirat rad uređaja i još uvijek bezbolno
unijeti izmjene ako ih kupac zahtjeva. Dodatno, ako je kupac mogao sudjelovati u izradi
uređaja, veća je mogućnost da će konačan proizvod više odgovarati njegovim željama.
Konačno, pri izradi prototipa se može upotrijebiti cijela baza znanja koja leži u već
razvijenom i uhodanom razvojnom sistemu. 2
1
Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište u Zagrebu, Fakultet
elektrotehnike i računarstva, Zagreb.
2
Ib.
2
Prilikom izrade prototipa cijeli podskupovi razvojnih sistema se mogu uzeti kao referentni
čime je znatno smanjeno vrijeme razvoja kao i prostor za grešku. Ovakav razvoj se pogotovo
ohrabruje u današnje vrijeme kada je ideja što manje razvijati, a što više iskoristiti već
razvijeno. Konačno, razvojni sistemu su idealni i u edukaciji budućih inženjera.3
Kako uopće definisati razvojni sistem? Ranije je spomenuta definicija o uređaju koji nudi
dovoljnu količinu logike kako bi centralna procesna jedinica mogla pokazati kako i što radi
te koji je otvoren na način da se takav sistem može dodatno proširiti s vlastitom sklopovskom
i programskom podrškom. Iako na prvi pogled opis i nije tako loš, nakon što ga se još jednom
pročita dolazi se do zaključka da se PC slobodno može proglasiti razvojnim sistemom, što i
jest u neku ruku istina, ali u ovom kontekstu PC ne spada u tu kategoriju. 4
Jedan od prvih poznatijih i široko korištenih razvojnih sistema je bio KIM-1 temeljen na
mikroporocesoru 6502 proizvođača MOS Technologies. Nakon što je Motorola izdala 6800,
razvojni tim je napustio kompaniju i osnovao svoju, spomenutu MOS Technologies.
Proizveli su mikroprocesor, 6501, koji je defakto bio poboljšana verzija 6800 te je uz to i
bio pin kompatibilan s 6800. Cijena mu je bila samo 25$ za razliku od Intelovog 8080 i
Motorolinog 6800 koji su se prodavali po cijeni od 179$. Motorola je potom tužila MOS
Technologies, te su morali povući 6501 te uvest 6502 koji je bio identičan 6501, osim po
rasporedu priključaka. Ovim potezom je MOS Technologies izgubio velik dio tržišta, naime,
3
Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište u Zagrebu, Fakultet
elektrotehnike i računarstva, Zagreb.
4
Ib.
3
6501 su korisnici mogli koristiti u sistemima u kojima je bio korišten 6800, a sada su ostali
bez platformi.
MOS Technologies 1975. dizajnira i izdaje na tržište KIM-1 – Keyboard Input Monitor. Iako
je razvojni sistem bio namijenjen inženjerima, vrlo se brzo našao u rukama mnogih drugih.
KIM-1 je za to vrijeme imao nisku cijenu, bilo ga je lako nadograditi, a s rastom korisnika,
rasla je i zajednica te su se na tržištu ubrzo pojavile i razne kartice za proširivanje
funkcionalnosti. 5
KIM-1 je jako lijep primjer jednog od prvih razvojnih sistema koji je u prvom redu niskom
cijenom i otvorenošću privukao kupce i stvorio zajednicu. KIM-1 je također i poznat kao
jedno od prvih računala na jednoj ploči, a njegov daljnji razvoj je odveo k Commodoreu 64.
Sljedeći sistem koji vrijedi spomenuti nakon KIM-1 je MEK6800D2.
Prema autoru Glavinić posljednji sistem koji će biti spomenut je Intelov SDK-86 iz 1979.
Intel je u toku godina izdao nekoliko razvojnih sistema za svoje mikroprocesore, od kojih će
ovdje biti predstavljen spomenuti. Ono što je najznanimljivije kod SDK-86 je da je imao
cijenu manju od samog čipa, prodavao po cijeni od 780$.
Intel je uvidio da prodaja mikroprocesora ovisi o broju ljudi koji dođu s njim u kontakt.
sistem se sastojao od 2 KB RAM-a, proširivo do 4 KB, 8 KB ROM-a, tipkovnice, prikaznika
te priključaka za proširivanje po želji korisnika. Procesor je radio taktu od 2.5 MHz ili 5
MHz.
5
Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište u Zagrebu, Fakultet
elektrotehnike i računarstva, Zagreb.
4
2.2.Razvojni sistemi danas
Razvojne sisteme danas je teško nabrojati jer postoji ih bezbroj na tržištu. U nastavku ćemo
prikazati one koji se danas nude.
ARM6410SBC
ARM6410SBC spada u tip ploča kojima je cilj ponuditi što veći broj aplikacija korisniku i
koje znatno premašuju definiciju „Dovoljan skup elemenata koji pokazuju da centralna
procesna jedinica radi“. 6
Mikrokontroler u sistemu implementira ARM11 jezgru koji radi na 800 MHz. Ostatak
sistema čini: 128 MB DDR SDRAM-a, 256 MB NAND flasha, 2 MB NOR flasha, audio
konektor (ulazni, izlazni), VGA konektor, TVOUT konektor, SD/MMC sučelje, SPI,
ethernet konektor s pripadajućom logikom i još mnoge druge periferije. sistem dolazi s
prilagođenim verzijama WinCE 5.0/6.0, Linux 2.6 te Android operacijskih sistema. Cijena
ovakvog sistema je 400$.
LPC-P2106
6
Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište u Zagrebu, Fakultet
elektrotehnike i računarstva, Zagreb.
5
Sl. 1. Razvojni sistem LPC-P2106
Na tržištu se mogu naći razvojni sistemi svih boja i oblika, po opcijama negdje između
prethodno dva prikazana s time da postoje naravno i jači, kao i slabiji.
Cilj prethodnog razmatranja je bio pokazati stanje tržišta i trendove koji su prilično šaroliki.
Još jedna stvar postaje popularna u posljednje vrijeme a to su razvojni sistemi temeljeni na
karticama – Card engine. To su razvojni sistemi koji na sebi implementiraju mnoštvo
periferija i konektora, ali ne i centralnu jedinicu.
7
Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište u Zagrebu, Fakultet
elektrotehnike i računarstva, Zagreb.
6
3. HIBRIDNA METODOLOGIJA
Pojam hibridne metodologije nije toliko neproziran kao neke nove ideje koje su nedavno
nastale u području upravljanja projektima. Jednostavna je definicija da je to kombinacija
dviju različitih metodologija ili sistema za stvaranje novog i boljeg modela. 8
Postoji mnogo načina kako smisliti kako primijeniti metodologiju i mnogo tačaka tijekom
projekta na kojima se mogu odabrati različite metode za obavljanje različitih vrsta posla.
Također se koriste različite vrste projektnih metoda, ovisno o zemlji porijekla. U Velikoj
Britaniji se većina projektnih stručnjaka pridržava PRINCE2 metodologije, skraćenice od
PRojects IN Controlled Environment, koja se bavi većim pitanjima troškova, vremena,
resursa itd. Dok se u SAD-u određeni broj certificiranih voditelja projekata drži Institut za
upravljanje projektima PMBOK Vodič za formalnu praksu upravljanja projektima. To je
knjiga koja sakuplja procese koji se koriste u klasičnom upravljanju projektima, s temeljnim
praksama potrebnim za postizanje organizacijskih rezultata.10
8
Kuhrmann M., Diebold P., Münch J., Tell P., Trekter K. (2017.) Hybrid Software Development Approaches
in Practice: A European Perspective, IEEE Digital Library
9
Hybrid development, https://hybridstudy.wordpress.com/, 24.12.2020.
10
Ib.
7
Na više taktičkoj razini, u obje te metodologije, projekti imaju tendenciju pridržavati se
metode vodopad pri planiranju rasporeda projekata prema fiksnom, kaskadnom planu. To je
klasični model, koji se često slijedi sa softverom vodopada u kojem će rukovoditelji i
sudionici na projektu htjeti vidjeti fiksne troškove i rasporede, koji se obično koriste za
velike infrastrukturne projekte poput mostova, tunela, gradnje i proizvodnje.
Što više naučite, to ste bolje spremni za kroćenje divljih projekata koji nam svakodnevno
prelaze preko stolova. " Hibridne metodologije alati su kojima se možete baviti aspektima
svojih projekata. Što više znate, to je veći set alata i više opcija imate za rješavanje posla.
Agile predstavlja dijete za hibridnu mitologiju jer je razvijeno za vrlo fleksibilno okruženje
otvoreno za promjene i nehijerarhijske oblike vodstva. Agile je veliki šator koji sadrži puno
metodologija, kao što su Scrum, Kanban i Lean. Zapravo, Agile je toliko snažno podržan da
je u februaru 2001. objavljen Agile Manifest, sastavljen od 17 programera softvera.
11
Mashal, A., Rozilawati, R. (2016). A Review of Scaling Agile Methods in Large Software Development.
International Journal on Advanced Science Engineering Information Technology.
8
Postoji čak i neprofitna organizacija pod nazivom Agile Alliance koja služi za promicanje
razvoja softvera koristeći Agile principe, no neki su optužili da je Agile pristup suprotan
metodologiji. "Pokretni pokret nije anti-metodologija", rekao je Jim Highsmith, softverski
inženjer, zapravo mnogi od nas žele vratiti vjerodostojnost riječi metodologija. Želimo
uspostaviti ravnotežu. Prihvaćamo modeliranje, ali ne kako bismo uložili neki dijagram u
prašnjavo korporacijsko spremište. Prihvaćamo dokumentaciju, ali ne i stotine stranica nikad
održavanih i rijetko korištenih tomova. Planiramo, ali prepoznajemo granice planiranja u
turbulentnom okruženju. Oni koji bi zagovornike XP-a ili Scruma ili bilo koje druge agilne
metodologije označili kao 'hakere', ne poznaju ni metodologije ni izvornu definiciju pojma
haker. 12
Danas se Agile toliko popularizirao i hibridizirao da često čujete ljude koji se na Agile
odnose s velikim slovom „A“, a agilni s malim slovom „a“, pri čemu je potonji labaviji izraz
koji neke kompanije ili timovi koriste za suradnju , manje strukturiran pristup njihovim
projektima. Agile se koristi u svim disciplinama, zapravo, od IT-a do marketinga, velikim
slovom A do malih slova a, a često se koristi zajedno s drugim strukturiranijim pristupima
prema različitim fazama projekta.
Doista, neki će tvrditi da je brza promjena prirode same tehnologije koja kompanijama i
organizacijama otežava strogo pridržavanje bilo koje metodologije, a fleksibilnost i hibridni
načini rada su put budućnosti.
3.3.Hibrid je budućnost
Bez obzira sviđate li se hibridnim metodologijama ili ne, one su tu da ostanu. Upravljanje
projektima nije statična industrija, a oni koji nisu spremni biti u toku s novostima u struci
riskiraju da ostanu iza sebe. Čak i ako niste uvjereni da vam hibridne metodologije daju
fleksibilnost da se uključite u projekt i koristite najbolje metode za određeni aspekt posla, ne
12
Mashal, A., Rozilawati, R. (2016). A Review of Scaling Agile Methods in Large Software Development.
International Journal on Advanced Science Engineering Information Technology.
9
želite se otuđiti od zajednice za upravljanje projektima jer masovno počinju primjenjivati
ove hibridne metodologije.13
Prema istraživanju ESI International Top 10 Trendovi upravljanja projektima iz 2015. novi,
inovativni poslovni modeli i tehnologije natjerat će voditelje projekata na prilagođavanje. S
obzirom na to da su mnoge industrije podložne brzim promjenama, metode upravljanja
projektima koje omogućuju ubrzani razvoj i brzo učenje postat će presudne za služenje
poslu. 14
Izvještaj je dalje naveo primjere u tradicionalnim sektorima poput financija i zdravstva, koji
su koristili nove metodologije kako bi pratili promjena očekivanja kupaca.
Kako se industrija želi prilagoditi, postojeće metode upravljanja projektima postat će napete.
Povećana nesigurnost i brzina izravno će utjecati na front-end procese i prakse upravljanja
rizicima, što će zahtijevati da mnoge projektne organizacije izvrše prilagodbe. Agile će i
dalje rasti na značaju, a još će se više projektnih zajednica boriti s hibridnim projektnim
timovima.
13
What Is Hybrid Methodology, https://www.projectmanager.com/blog/what-is-hybrid-methodology,
25.12.2020.
14
Ib.
10
4. RAZVOJ HIBRIDNOG SOFTVERA I SISTEMA U PRAKSI: VODOPAD,
PREPIRKA I ŠIRE
Razvoj softvera i sistema suočava se s brojnim izazovima tržišta koja se brzo mijenjaju.
Kako bi se pozabavili takvim izazovima, kompanije i projekti dizajniraju i usvajaju
specifične razvojne pristupe kombinirajući dobro strukturirane sveobuhvatne metode i
fleksibilne agilne prakse. Ipak, broj metoda i praksi je velik, a dostupne studije tvrde da se
stvarni sastav procesa provodi na prilično ad-hoc način.
Većina kombinacija slijedi obrazac u kojem tradicionalni model procesa služi kao okvir u
koji je uključeno nekoliko fino zrnastih (agilnih) praksi. Dalje pokazujemo da su pristupi
razvoju hibridnog softvera neovisni o veličini kompanije i vanjskim pokretačima.
Zaključujemo da su takvi pristupi rezultat prirodnog razvoja procesa, koji je uglavnom
potaknut iskustvom, učenjem i pragmatizmom. 15
Razvoj softvera je raznolik i tvrtke moraju usvojiti nove tehnologije i tržišta brzo. Prema
Brooksu, ne postoji "Silver Bullet" u razvoju softvera. Dakle, softver inženjeri su u potrazi
za prikladnim razvojnim pristupima, a suočava se s velikom raznolikošću kontekstualnih
čimbenika u utjecaju na određivanje odgovarajućih razvojnih procesa.
Za obraćanje ovi čimbenici kao i sve veći broj domena za koje je softver postao vitalni dio,
različitog softvera i sistema predložene su razvojne metode. Ove metode implementiraju
različite filozofije, npr. Etape ili planove, iterativne inkrementalne ili mršave, a pokrivaju se
životnim ciklusom od malih "specifične za zadatak" prakse (npr. svakodnevno uspravljanje)
velikim i sveobuhvatnim procesnim okvirima (npr. obitelj procesa u obliku slova V).
Nadalje, razvoj softvera postao je ključ sistema razvoja te, prema tome, sve se više bavi
kritikom sigurnosti i pouzdani sistemi, poput automobilskog softvera, zrakoplovnih sistema
ili medicinskih uređaja. Te domene dodaju standarde, norme, i propise o softveru i njegovom
razvoju.16
15
Kuhrmann, M., Diebold, P., Münch, J., Tell, P., Garousi, V., Felderer, M., Trektere, K., McCaffery, F.,
Linssen, O., Hanser, E., Prause, C. R.(2018.) Hybrid software and system development in practice: waterfall,
scrum, and beyond. International Conference on Software and System Processes
16
Ib.
11
4.1.Pristupi razvoju hibridnog softvera
Potrebno je proučiti pristupe hibridnom razvoju softvera (ukratko: hibridni pristupi), što
definiramo na sljedeći način: Hibridni pristup razvoju softvera je svaka kombinacija agilnih
i tradicionalnih (planski ili bogatih) pristupa koje organizacijska jedinica usvaja i
prilagođava svojim potrebama vlastitog konteksta (npr. domena aplikacije, kultura, procesi,
projekt, organizacijska struktura, tehnike, tehnologije itd.).
Cilj istraživanja je smanjiti ovaj jaz i prikupiti podatke koji će pomoći u određivanju uzoraka
kombinacija, tj. koji razvojni pristupi koriste se u praksi i kako su ti pristupi kombinirani u
razvoju kompanije ili projektnog pristupa. Nadalje, potrebno je identificirati faktore
konteksta u stvaranju hibridnih pristupa. 17
17
Kuhrmann, M., Diebold, P., Münch, J., Tell, P., Garousi, V., Felderer, M., Trektere, K., McCaffery, F.,
Linssen, O., Hanser, E., Prause, C. R.(2018.) Hybrid software and system development in practice: waterfall,
scrum, and beyond. International Conference on Software and System Processes
12
5. HIBRIDNI MODEL ZA ŽIVOTNI CIKLUS RAZVOJA SOFTVERA
Model vodopada.
Iteracijski model.
Model u obliku slova V.
Spiralni model.
Ekstremni model.
Slika 2. uključuje glavne dijelove procesa razvoja sistema i slijed mehanike ovih dijelova ili
faza u logičnom rasporedu, koji osigurava prikladnost. Ovaj model se koristi u različitim
19
fazama razvojnih sistema, bilo malih, srednjih ili velikih.
18
Nabil M. A. (2010.), Hybrid Model for Software Development Life Cycle, Journal of Science & Technology
Vol. (15)
19
Ib.
13
Sl. 2. Procesi primarnog hibridnog modela
Izvor: Nabil M. A. (2010.), Hybrid Model for Software Development Life Cycle, Journal
of Science & Technology Vol. (15)
Planiranje
Zahtjevi
20
Nabil M. A. (2010.), Hybrid Model for Software Development Life Cycle, Journal of Science & Technology
Vol. (15)
14
Nepoželjne karakteristike: utvrdite koje ponašanje sistema je neprihvatljivo.
Ciljevi sistema:
Funkcionalni ciljevi.
Organizacijski ciljevi.
Uz to treba uzeti u obzir funkcije, ponašanje i izvedbu. Na kraju u ovoj fazi, softverski i
sistemski zahtjevi trebali bi se dokumentirati i revidirati s kupacem.
Dizajn
Strukturiranje podataka.
Izgradnja softvera.
Prikazivanje podataka.
Obrađuje detalje (algoritme).
Implementacija
Razvoj integracije
Ovo povezuje različite komponente sistema u jednu zajednicu i naknadno tvori jedan
formalni sistem. U ovoj bi fazi različiti dijelovi trebali nadograđivati se bez negativnog
utjecaja na ostale dijelove sistema.
Uvođenje
To znači slanje sistema nakon dovršetka kupcu na upotrebu i raditi kako bi se problemi
temeljili na njegovoj prvoj upotrebi.
15
Testiranje
Postupak testiranja započinje s prvom fazom bilo kojeg sistema, odnosno "planiranjem".
Održavanje
kupac. Te se izmjene događaju zbog poteškoća s kojima se suočavaju. Ostali razlozi mogu
Analiza rizika
Ova faza uključuje sve faze razvoja počevši od planiranja procesa i dorada u procesima
održavanja. Navodi sve očekivane rizike i sugerira sve potrebne aktivnosti za smanjenje
takvih rizika.
Poznato je da proces razvoja srednjih i velikih sistema započinje s fazaom planiranja. U
ovoj fazi, utvrđuju se troškovi. sistemski zahtjevi, poput ljudskog kadra, vremena i
materijala. S druge strane, mali projekti obično započinju s projektiranjem ili faza
programiranja, u kojoj se plan ispituje kako bi se utvrdilo je li prikladno primijeniti ga
projektu. Štoviše, ova se faza koristi za procjenu povezanih projektnih rizika
programiranje, ljudski i materijalni čimbenici.
Ovu fazu prate zahtjevi prikupljanje i analiza. Kroz ovu fazu, kontakti se prikupljaju kupaca,
a zatim se na temelju odluka kupaca analizira ispunjavaju li takvi zahtjevi ciljevi sistema ili
ne (uzimajući u obzir postojeće rizike).
Dolazi faza projektiranja nakon faze zahtjeva. Ovdje je sistem prvenstveno dizajniran u
radovima s algoritmima i dijagrami koji prikazuju napredak sistema. U ovoj fazi dizajn se
također testira kako bi se osiguralo njegova primjerenost zahtjevima.
Faza predstavljanja sistema prati sve prethodne faze. Ova je faza provedba za dizajn
računalnih uređaja prema određenim specifikacijama prikazanim u planu. Osim toga,
provedena programski dijelovi ispituju se u svrhu osiguranja njihove odgovarajuće primjene.
Faza integracije odmah slijedi fazu predstavljanja sistema. Ova faza je važna, jer su svi
implementirani programski dijelovi integrirani i testirani u dvije svrhe.
16
Prva je osigurati da nemaju nikakvih grešaka, a druga je odlučiti hoće li oni ispunjavaju sve
zahtjeve sistema. Ovu bi fazu prije trebalo u potpunosti provesti učitavanjem sistema za
kupce.
Posljednja faza je širenje i učitavanje sistema uređaja kupca. Ova je faza jedna od
najkritičnijih i najvažnijih faza i trebala bi biti razmatrana prema planu i analizi rizika.
Hibridni model odlikuje se primjerenošću za sve male, srednje i velike sisteme i njegove
fleksibilnosti u ovom modelu, može se započeti s bilo kojom fazom, bilo planiranjem,
prikupljanjem i analizom zahtjeva, projektiranjem ili programskim predstavljanjem u
sistemu u skladu s vrstom i složenošću sistema. 21
Detaljna slika hibridnog modela objašnjava njegov mehanizam rada u vezi sa metodama
razvoja sistema različitih vrsta kao što je prikazano na slici 3. Ova slika objašnjava
povezanost između faza planiranja i faze analize očekivanih rizika u projektu. Također
testira plan na temelju tih rizika.
Nadalje, ova slika prikazuje povezanost između faza planiranja i analize rizika i faza
prikupljanja zahtjeva, dizajn, implementacija i na kraju integracija programskih dijelova.
Sistem raspoređivanje i održavanje. Predloženi hibridni model ima sljedeće prednosti:
Prednosti:
21
Kuhrmann M., Diebold P., Münch J., Tell P., Trekter K. (2017.) Hybrid Software Development Approaches
in Practice: A European Perspective, IEEE Digital Library
17
7. Veće šanse za uspjeh u odnosu na model vodopada ili druge zbog razvoja
13. Iterativan
Izvor: Kuhrmann M., Diebold P., Münch J., Tell P., Trekter K. (2017.) Hybrid Software
Development Approaches in Practice: A European Perspective, IEEE Digital Library
18
Slika 3. prikazuje vezu između različitih procesa ispitivanja i različitih faza razvoja, osim
dvije faze, a to su uvođenje i održavanje. Tamo su povezani s prethodnim razvojnim fazama
i procesima analize rizika. Također, faza projektiranja podijeljena je u dvije faze: dizajn na
visokoj razini, koji se usredotočuje na primarnu strane dizajna sistema, poput grafikona,
algoritama prema vrsti dizajna koji se koristi.
Druga vrsta je dizajn na niskoj razini, koji se usredotočuje na dizajn programiranja za sisteme
i njihove tehničke aspekte koji služe dizajnu sistema. Štoviše, moguće je započeti s faze
razvoja sistema u ovom modelu, a uključuje sve različite vrste projekata.
19
6. HIBRIDNI PRISTUPI ZA UPRAVLJANJE PROJEKTIMA
Oba pristupa, tačnije okvira, imaju za cilj da omoguće efektivno i efikasno upravljanje
projektima razvoja kompleksnih i velikih softverskih proizvoda na nivou preduzeća. Takođe,
zajedničko im je to da su nastala proširivanjem Scrum okvira. Razlikuju se po elementima
sa kojima je proširivanje vršeno i po onome na šta stavljaju fokus. U daljem tekstu slijedi
njihovo predstavljanje. DaD je hibridni procesni okvir koji je razvio Scott Ambler.
Okvir proširuje Scrum sa elementima XP-a, Lean-a, Kanban-a, agilnog modelovanja i
Unified Process-a (UP), kako bi se efikasno riješili aspekti koje Scrum eksplicitno ne
uzima u obzir u slučaju razvoja kompleksnih i velikih softverskih proizvoda. Jedan od
takvih aspekata je softverska arhitektura. Dok se Scrum fokusira na razvojne aktivnosti na
nivou tima, DaD okvir implementira pristup „end-to-end― cijelog životnog ciklusa
isporuke. Četiri osnovna prioriteta ovog okvira su: ljudi, učenje, agilnost, hibridnost.
Hibridnost podrazuijmeva da DaD sadrži elemente koji potiču od tradicionalnog razvoja.
Jedan od takvih elemenata je upravljanje životnim ciklusom, koji je preuzet iz UP-a.23
DaD projekte dijeli u 3 faze: početna faza, faza izgradnje i faza tranzicije. Ambler ističe da
DaD prati životni ciklus projekta od trenutka pokretanja projekta (početna faza), preko
izgradnje, do puštanja rješenja u produkciju tj. realno okruženje (faza tranzicije). DaD je
usvojio uloge Scrum okvira ali je i dodao nove koje potiču od pristupa agilnog modelovanja.
Za razliku od Scrum-a, DaD stavlja mnogo veći naglasak na arhitekturu i smanjenje
tehničkog rizika, uvodeći zbog toga i novu ulogu u timu koja je odgovorna za arhitekturu:
vlasnik arhitekture (eng. Acrhitecture Owner).
22
Marić M. i sur., (2019.) Hibridni pristupi za upravljanje projektima razvoja softverskih proizvoda,
Univerzitet u Novom Sadu, Ekonomski Fakultet u Subotici
23
Marić M., op. cit.
20
SaFe okvir uspostavio je Dean Leffingwell i njegovi saradnici, ističući četiri nivoa
organizacije: nivo tima (eng.team), nivo programa (eng. program), nivo toka vrijednosti
(eng.value stream) i portfolio nivo (eng.portfolio). Svaki nivo ima svoje aktivnosti ali su svi
međusobno povezani. Sva četiri nivoa integrišu agilne i Lean prakse.24
U skladu sa postojanjem ova četiri nivoa, SaFe uvodi i nove artifakte, kao što su: team
backlog, program backlog, value stream backlog i portfolio backlog.25
24
Marić M. i sur., (2019.) Hibridni pristupi za upravljanje projektima razvoja softverskih proizvoda,
Univerzitet u Novom Sadu, Ekonomski Fakultet u Subotici
25
Leffingwell, D. (2011). Scaling Agile Framework (SAFe). Retrieved June 2, 2017, from
http://www.scaledagileframework.com/, 24.12.2020.
26
Ambler, S., Lines, M. (2016). The Disciplined Agile Process Decision Framework. In International
Conference on Software Quality
21
Vrijednost za kupca ili organizaciju kreira se kroz tzv. nivo toka vrednosti (value stream),
koji uključuje sve potrebne napore da se kreira vrijednost, a putem „agile release
trains-a― se realizuju tokovi vrijednosti.27
Na nivou tima zadržavaju se tipične Scrum uloge, uz minimalne varijacije, dok se nove uloge
pojavljuju na nivou programa. Menadžer proizvoda je nova uloga zadužena za definisanje i
ažuriranje liste prioriteta na program backlogu. Menadžer proizvoda usko sarađuje sa
vlasnicima proizvoda kako bi optimizovao buduću isporuku, ali istotako i usmjerava rad
vlasnika proizvoda na nivou timova. Druga nova uloga na nivou programa jeste sistem
arhitekta. Njegova odgovornost je da donosi set eksplicitnih arhitekturalnih odluka
kojima bi se usmjeravala nascentna (eng. emergent) arhitektura za sve timove na nivou
programa.
Treća nova uloga u SaFe okviru jeste „Release Train Engineer―, koji je tako reći „šef―
Scrum masterima na projektu. Njegov zadatak je da olakša odvijanje procesa na nivou
programa, izvršava program, rješava prepreke, upravlja rizicima i pomaže
kontinuiranom poboljšanju procesa na nivou programa.
SaFe ima i dodatne timove na nivou programa: business owner team, release management
team, DevOps team, program portfolio management team. 28
27
Op. cit.
28
Marić M. i sur., (2019.) Hibridni pristupi za upravljanje projektima razvoja softverskih proizvoda,
Univerzitet u Novom Sadu, Ekonomski Fakultet u Subotici
22
7. ZAKLJUČAK
Postojanje niza modela razvoja softvera u softverskom inženjerstvu, zbog različitih načina
korištenja i različitih aplikacija stvorio je različite vrste problema. Te probleme mogli su
shvatiti i iskusiti samo sistemski inženjeri dok razvijaju softverske programe. Ovi problemi
mogu dovesti do povećanja troškova i napora tijekom razvoja ovih sistema.
Na kraju ovog seminarskog rada možemo da zaključimo da hibridni model ovisi o pet
razvojnih modela: Waterfall, Spiral, Modeli za programiranje u obliku iteracije, V i
ekstremni programi.
Hibridni model sastoji se od prednosti pet gore spomenutih modela, ali ima sposobnost
bavljenja malim, srednjim i velikim projektima.
Hibridni model podijeljen je u dva dijela: primarni i detaljni. Prvi dio obrađuje glavni
procesi, a drugi dio govori o tome kako ti procesi djeluju.
I na kraju možemo reći da se prema navedenim činjenicama u radu radna hipoteza ne može
odbiti.
Dakle, Hibridni pristupi imaaju za cilj da u određenoj mjeri tradicionalizuju tj. prošire (eng.
scale up) agilne pristupe, uvažavajući njihove ključne vrijednosti i principe.
23
POPIS LITERATURE
1. Ambler, S., Lines, M. (2016). The Disciplined Agile Process Decision Framework.
In International Conference on Software Quality
2. Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište
u Zagrebu, Fakultet elektrotehnike i računarstva, Zagreb.
3. Kuhrmann M., Diebold P., Münch J., Tell P., Trekter K. (2017.) Hybrid Software
Development Approaches in Practice: A European Perspective, IEEE Digital Library
4. Kuhrmann, M., Diebold, P., Münch, J., Tell, P., Garousi, V., Felderer, M., Trektere,
K., McCaffery, F., Linssen, O., Hanser, E., Prause, C. R.(2018.) Hybrid software and
system development in practice: waterfall, scrum, and beyond. International
Conference on Software and System Processes
5. Marić M. i sur., (2019.) Hibridni pristupi za upravljanje projektima razvoja
softverskih proizvoda, Univerzitet u Novom Sadu, Ekonomski Fakultet u Subotici
6. Mashal, A., Rozilawati, R. (2016). A Review of Scaling Agile Methods in Large
Software Development. International Journal on Advanced Science Engineering
Information Technology.
7. Nabil M. A. (2010.), Hybrid Model for Software Development Life Cycle, Journal
of Science & Technology Vol. (15)
8. Smojver K., Belani H., Car Ž. (2009.) Building a Hybrid Process Model for a
Complex Software System Integration, University of Zagreb, Faculty of Electrical
Engineering and Computing, Zagreb.
Internet:
24