You are on page 1of 26

UNIVERZITET U SARAJEVU

EKONOMSKI FAKULTET U SARAJEVU

HIBRIDNE RAZVOJNE METODE


SEMINARSKI RAD

Predmet: Upravljanje IT projektima

Mentor: Prof. dr. Tarik Zaimović

Studenti: Minela Selman 4572

Ajša Čosić 73272-4925

Sarajevo, decembar 2020.


SADRŽAJ:

1. UVOD..............................................................................................................1

2. POJMOVNO ODREĐENJE RAZVOJNOG SISTEMA ...................................2

2.1. Razvojni sistemi kroz historiju .............................................................................3

2.2. Razvojni sistemi danas .........................................................................................5

3. HIBRIDNA METODOLOGIJA .......................................................................7

3.1. Upravljanje projektom Vodopada.........................................................................7

3.2. Agilna hibridna metodologija ...............................................................................8

3.3. Hibrid je budućnost ..............................................................................................9

4. RAZVOJ HIBRIDNOG SOFTVERA I SISTEMA U PRAKSI: VODOPAD,


PREPIRKA I ŠIRE ..........................................................................................................11

4.1. Pristupi razvoju hibridnog softvera..................................................................... 12

5. HIBRIDNI MODEL ZA ŽIVOTNI CIKLUS RAZVOJA SOFTVERA ..........13

5.1. Primarni hibridni model u životnom ciklusu razvoja sistema .............................. 13

5.2. Karakteristike hibridnog modela u životnom ciklusu razvoja sistema................ 17

6. HIBRIDNI PRISTUPI ZA UPRAVLJANJE PROJEKTIMA.......................... 20

7. ZAKLJUČAK ................................................................................................ 23

POPIS LITERATURE ..................................................................................................... 24


1. UVOD

Intenzivan razvoj softvera u gotovo svim svrhama ljudskog angažmana evidentna je


činjenica u današnjem svijetu. Softver je neophodan za postizanje različitih poslovnih
usluga, na primjer bankarstvo, zdravstvo, svemir istraživanja itd.

Kako bi se ispunio svaki projekt specifičan zahtjev i proizveo softver sa zadovoljavajućim


atributima kvalitete, potreban je adekvatan razvoj softvera, ali također treba dizajnirati
provedene, usvojene, operirane i / ili poboljšane procese upravljanja projektima.

Prednosti korištenja hibridne razvojne metodologije uključuje prirodno i eksplicitno znanje


reprezentacije, fleksibilnu interakciju korisnik-sistem i moćne mogućnosti objašnjenja
korištenjem interaktivne grafike.

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

Razvojni sistem je uređaj koji se sastoji od procesora, ili mikrokontrolera te minimalne


količine dodatne logike koja je potrebna kako bi centralna procesna jedinica mogla izvršavati
neki program i demonstrirati dio svojih mogućnosti. Osnovna namjena im je bila ponuditi
okruženje za učenje rada s novim procesorom, ciljana skupina su bili razvojni inženjeri.

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

Razvojni sistemi omogućavaju jedno takvo upoznavanje, kako s razvojem programske


podrške. S vremenom, razvojni sistemi prerasli su osnovnu logiku potrebnu za rad i počeli
su se razvijati u smjeru koji pokazuje ne samo da procesor radi, nego što sve procesor može.

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

Uz pomoć razvojnih sistema inženjeri mogu prethodno naučiti raditi s novim im


procesorima, mikrontrolerima ili nečim trećim, i tek potom razvijati prototip.

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

2.1.Razvojni sistemi kroz historiju

Prije historijskog pregleda razvojnih sistema, potrebno je steći dojam o tehnologijama u


vrijeme razvoja promatranih sistema. Iako razvojni sistem može označavati jako širok pojam
uređaja, u ovom kontekstu se razmatraju oni koji su razvijeni za određeni mikrokontroler ili
mikroprocesor.

Prva tehnologija koja je imperativ za razvoj mikroprocesora i mikrokontrolera su integrirani


krugovi.

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 se sastojao od 1152 B RAM-a te 2048 B ROM-a. Imao je 16 ulazno-izlaznih linija,


tipkovnicu, šest sedam-segmentnih pokazivača, 2 serijska priključka te programibilnim
vremenskim sklopom (engl. timer). Mikroprocesor je radio na taktu od 1 MHz.

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.

Radi se o službenom, Motorolinom sistemu za 6800. sistem je dolazio u nekoliko raznih


konfiguracija, 256-512 B RAM-a, 1-4 KB ROM-a, u obliku PROM-a ili EPROM-a.
Mikroprocesor je radio na 1 MHz. Od zanimljivih komponenti, dolazio je s monitor
programom koji je omogućavao praćenje sistema putem serijske veze.

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

Druga krajnost na tržištu je LPC-P2106 razvojni sistem. Sistem je prilično siromašan


opcijama i periferijama, te je puno bliži definiciji o nužnoj količini logike dovoljnoj za rad.
Sistem se sastoji od LPC2106 mikrokontrolera te pripadajućeg sklopovlja koje je nužno za
programiranje i rad.

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

Izvor: Glavinić M. (2010.) Računalni sustav temeljen na kontroleru LH79525, Sveučilište


u Zagrebu, Fakultet elektrotehnike i računarstva, Zagreb.

 Drugi razvojni sistemi

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.

Centralna jedinica se umeće u sistem putem konektora, i ovime je omogućeno da se razvije


jedan takav razvojni sistem te mnoštvo kartica sa željenim centralnim jedinicama. Ovo je
pogodno i za proizvođače (većina sistema je razvijena, želi li se podržati nova centralna
jedinica dovoljno je projektirati karticu za nju) te za korisnike (jednom kupljen razvojni
sistem se može proširiti dodatnim centralnim jedinicama). 7

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

Upravljanje projektom obiluje metodologijama, od Vodopada, Agila, PRINCE2, PMBOK-


a do Lean-a, a popis se nastavlja. Govore o menadžerskim interesima struke, koja uvijek
traži bolje i učinkovitije načine za provođenje projekta do kraja. Stalno se razvijaju nove
metodologije kako bi se izazvali tradicionalni modeli, a hibridne metodologije primjećuju
da može doći do sinergije u kombiniranju aspekata novih i tradicionalnih metoda rada.

Hibridne metodologije prihvaćaju fluidnost projekata i omogućuju spretniji i nijansiraniji


pristup radu. Mogu se primijeniti na puni posao ili određene aspekte projekta. Zaključak je
da, što više načina na koji morate pristupiti problemu, to su veće šanse za njegovo
rješavanje.9

3.1.Upravljanje projektom Vodopada

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.

Čak i uz tradicionalne, "makro" prakse upravljanja projektima, profesor, autor i savjetnik


Mario Henrique Trentim primjećuje da hibridni pristup ima vrijednost, što on naziva
pogledom na "mikro upravljanje" koji može poboljšati rezultate. Predlaže spajanje
metodologija kao što su Scrum ili Kanban, koje raščlanjuju raspored aktivnosti iz
upravljačkog pogleda u manje zadatke koji se mogu vizualizirati kako bi se povećali različiti
pogledi za članove tima.

Š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.

3.2.Agilna hibridna metodologija

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.

Agile Manifest izgrađen je na četiri osnovne vrijednosti: 11

 Komunikacija sa strankama važnija je od standardnih postupaka i alata.


 Usredotočite se na dostavu radne aplikacije, a manje na pružanje temeljite
dokumentacije.
 Više surađujte s klijentima.
 Budite otvoreni za promjene umjesto da zamrznete opseg posla.

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.).

Izjava o problemu. 2011. godine West i sur. skovao je pojam "Water-Scrum-Fall" i


pretpostavio je da će hibridni razvoj metode postati standard. Sistemni pregled Theocharis
usmjeren je na prikupljanje dokaza protiv zahtjeva. Otkriven je jaz u literaturi: dok su
istraživali agilnost razvoja softvera, tradicionalni procesi su u posljednjim istraživanja široko
zanemareni.

Dakle, nedostaju podaci (i dokazi) o kombinaciji, obrasci i kontekstualni čimbenici koji


pokreću stvaranje hibridnih pristupa, npr. kako standardi utječu na upotrebu agilnih metoda
ili da li su veličina kompanije i industrijski sektor bitni?

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 softverskog procesa predstavlja pojednostavljeni prikaz predstavljenog softverskog


procesa iz određene perspektive. Brojni su opći modeli za softverske procese, poput: modela
vodopada, evolucijskog razvoja, razvoja formalnih sistema i razvoj temeljen na ponovnoj
upotrebi ... itd.

Modeli za razvoj softvera prikupljaju se da bi postali jedan model, a to su:18

 Model vodopada.
 Iteracijski model.
 Model u obliku slova V.
 Spiralni model.
 Ekstremni model.

5.1.Primarni hibridni model u životnom ciklusu razvoja sistema

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)

Primarni oblik hibridnog modela uključuje sljedeće procese: 20

 Planiranje

Sadrži planiranje potrebnih zadataka za definiranje resursa i rokova, i izrada planova za


proces razvoja sistema i drugih povezanih informacija projektu.

 Zahtjevi

U ovoj fazi mogu se odrediti tri vrste zahtjeva:

 Apstraktni funkcionalni zahtjevi: odrediti funkcije sistema idealističkim metodama.


 Svojstva sistema: definirajte nefunkcionalne zahtjeve za sistem.

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.

Ovi zahtjevi moraju definirati i odrediti sveukupne organizacijske ciljeve sistema.

Ciljevi sistema:

 Funkcionalni ciljevi.
 Organizacijski ciljevi.

U ovoj fazi, sistemski inženjer trebao bi razumjeti raspon informacija za softver.

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

Proces koji ima mnogo koraka. Sadrži četiri važna dijela:

 Strukturiranje podataka.
 Izgradnja softvera.
 Prikazivanje podataka.
 Obrađuje detalje (algoritme).

Zahtjevi za postupak projektiranja transformiraju se u prikaz za softver koji se može


procijeniti dobre kvalitete prije početka sljedeće faze, tj. implementacija. Kroz ovu fazu
dokumentirano je da dizajn postaje dijelom prikupljanja softvera.

 Implementacija

Ovo pretvara dizajn u formulu koju računari mogu čitati.

Također, strukturira sistemske komponente pomoću jednog od programskih jezika prema


njegovom planiranju.

 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".

Uključuje test planiranja, test prikupljanja zahtjeva, dizajn, predstavljanje i integraciju.

 Održavanje

Softver je podvrgnut nekim izmjenama nakon što ga je predao tvrtki

kupac. Te se izmjene događaju zbog poteškoća s kojima se suočavaju. Ostali razlozi mogu

biti potreba prilagodbe promjenama u vanjskom okruženju ili zahtjevi kupca za


poboljšanjem performansi ili funkcije.

 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

5.2. Karakteristike hibridnog modela u životnom ciklusu razvoja sistema

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:

1. Jednostavno za razumijevanje i provedbu.

2. Ojačava dobre navike: definiraj-prije-dizajn, dizajn-prije-koda

3. Utvrđuje rezultate i prekretnice.

4. Dobro djeluje na zrelim proizvodima i slabim timovima.

5. Jednostavan i lak za upotrebu.

6. Svaka faza ima određene rezultate.

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

8. Dobro radi za male projekte gdje se zahtjevi lako razumiju

9. Velika količina analize rizika.

10. Dobro za velike i kritične projekte.

11. Stvara dobru koheziju tima.

12. Naglašava konačni proizvod.

13. Iterativan

14. Pristup zahtjevima i osiguranje kvalitete zasnovan na testovima.

Sl. 3. Veza između različitih procesa ispitivanja i različitih faze razvoja

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

Uvidom u referentnu literaturu evidentno je postojanje više hibridnih pristupa od kojih


dominantnu poziciju imaju slijedeća dva: 22

 Scaled Agile Framework (SaFe)


 Disciplined Agile Delivery (DaD)

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

Nivo tima zadržava standardnu veličinu Scrum tima od 5- 9 ljudi. Sastoji se od


krosfunkcionalnih i samoorganizujućih agilnih timova koji imaju scrum mastera, vlasnika
proizvoda i razvojni tim programera. Prakse i odgovornosti tima uzete su iz Scrum-a i XP-
a, te se stoga ovi timovi nazivaju ScrumXP timovi.
Nivo programa uključuje od 5-9 agilnih timova ili od 50- 125 ljudi. SaFe uvodi pojam Agile
Release Trains koji se sastoji od grupe timova i nastoji da isporuči vrijednost za sopstveni
tok vrijednosti (value stream). Epovi odobreni za implementaciju podeljeni su u
funkcionalnosti (features), koje se dodaju u program backlog, koji održava i prioritizuje
menadžer proizvoda.
Nivo portofila je najviši nivo u SaFe okviru i ima za cilj da pomogne usklađivanju razvojne
organizacije sa poslovnim ciljevima preduzeća. Strateške teme poslovanja podijeljene su
u epove u saradnji sa stejkholderima i dodaju se u tzv. portfolio backlog. Vlasnici
epova zaduženi su za predstavljanje, redefinisanje i prioritizaciju epova. Kada je ep
odobren za implementaciju, vlasnik epa učestvuje na svim sesija planiranja i pomaže timu
u njegovoj implementaciji. 26
Arhitekte preduzeća osiguravaju da tehnički epovi koji kreiraju vrijednost korisniku
budu dovoljno visoko rangirani i da se na taj način paralelno sa implementacijom
poslovnih zahteva održava i arhitektura.

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:

1. Leffingwell, D. (2011). Scaling Agile Framework (SAFe). Retrieved June 2, 2017,


from http://www.scaledagileframework.com/, 24.12.2020.
2. Hybrid development, https://hybridstudy.wordpress.com/, 24.12.2020.
3. What Is Hybrid Methodology, https://www.projectmanager.com/blog/what-is-
hybrid-methodology, 25.12.2020.

24

You might also like