You are on page 1of 4

Univerzitet u Kragujevcu

Fakultet tehničkih nauka u Čačku

Prvi domaći zadatak iz predmeta Algoritmi i tehnike modelovanja

Tema: Optimizacija problema – optimalan izbor funkcionalnosti za MVP


verziju softvera

Profesor Student
Dr Olga Ristić Antonina Poledica, 528/2021

Čačak, 2021.
MVP (Minimum Viable Product) predstavlja verziju softvera sa minimalnim skupom
funkcionalnosti, ali tako da je on i dalje svrsishodan i da ispunjava potrebe korisnika. U kasnijim
iteracijama dolazi do poboljšanja kroz dodavanje novih funkcionalnosti i izmene proizvoda u
skladu sa povratnim informacijama korisnika.
Pre nego što se krene sa razvojem MVP verzije softvera, neophodno je definisati funkcionalnosti
koje će ova verzija sadržati. Pri odlučivanju o tome koje će se funkcionalnosti naći u MVP-u
potrebno je razmotriti različite faktore. Kriterijumi za optimalan izbor funkcionalnosti prikazani
su u narednoj tabeli, a u nastavku je dato objašnjenje pojedinačnih kriterijuma.

Glavni kriterijum Podkriterijumi

C11: Neophodne funkcionalnosti

C1: Korisničke potrebe C12: Funkcionalnosti koje sadrže aplikacije konkurenata

C13: “Nice-to-have” funkcionalnosti

C21: Vreme koje jedan programer potroši za razvoj


C2: Vremenski resursi
C22: Da li se funkcionalnost može razviti u toku jednog sprinta

C31: Odnos vrednosti koje funkcionalnost donosi korisniku i


C3: ROI (Return Of
resursa potrebnih za njen razvoj
Investment)
C32: Prioritizacija funkcionalnosti sa istim ROI-em

C41: Alati potrebni za razvoj


C4: Softverski zahtevi
C42: Korišćeni programski jezici/biblioteke/skupovi podataka

C51: Dodatni hardverski resursi koje je potrebno obezbediti


C5: Hardverski zahtevi
C52: Pristupačnost potencijalnih hardverskih resursa

C61: Pravna ograničenja


C6: Ograničenja C62: Ograničenja vezana za dizajn
C63: Eventualne poteškoće pri razvoju
C1: Korisničke potrebe

C11: Neophodne funkcionalnosti – funkcionalnosti koje softver mora da ima da bi obavljao ono
za šta se proizvodi; recimo, ako je u pitanju onlajn prodavnica, mora imati listu dostupnih
proizvoda i opciju za dodavanje u korpu
C12: Funkcionalnosti koje sadrže aplikacije konkurenata – stavke koje imaju svi konkurentni
softveri, osim ako je u pitanju zastarela funkcionalnosti ili neka koja korisnicima zapravo i nije
potrebna, a konkurenti je iz nekog razloga forsiraju

C2: Vremenski resursi

C13: “Nice-to-have” funkcionalnosti – delighters (funkcionalnosti koje nisu nužne, ali bi


razdvojile softver od konkurenata i pridobile korisnike) koje bi softver mogao da ima
C21: Vreme koje jedan programer potroši za razvoj – koliko programerskih nedelja (en.
developer weeks) je potrebno za izradu funkcionalnosti
C22: Da li se funkcionalnost može razviti u toku jednog sprinta – može se definisati i kao C211
– koliko je sprintova i story poena dovoljno za razvoj funkcionalnosti

C3: ROI (Return Of Investment)

C31: Odnos vrednosti koje funkcionalnost donosi korisniku i resursa potrebnih za njen
razvoj – koji je odnos između vrednosti koju aplikacija donosi korisniku i developer weeks; što je
ova vrednost manja, to je funkcionalnost manje potrebna
C32: Prioritizacija funkcionalnosti sa istim ROI-em – šta kada više funkcionalnosti ima sličan
ROI

C4: Softverski zahtevi

C41: Alati potrebni za razvoj – da li je potreban neki dodatni alat za funkcionalnost koja se
razmatra
C42: Korišćeni programski jezici/biblioteke/skupovi podataka – postoje li neophodni resursi
koji se dodatno plaćaju ili su zahtevni za implementaciju
C5: Hardverski zahtevi

C51: Dodatni hardverski resursi koje je potrebno obezbediti – da li je potrebno imati dodatne
hardverske resurse i mogu li se oni na vreme obezbediti
C52: Pristupačnost potrebnih hardverskih resursa – koliko je novca potrebno uložiti u
eventualne hardverske komponente

C6: Ograničenja
C61: Pravna ograničenja – postoje li neke pravne regulative koje mogu uticati na funkcionalnost
koja se razmatra
C62: Ograničenja vezana za dizajn – da li je moguće dizajnerski implementirati funkcionalnost
C63: Eventualne poteškoće pri razvoju – nedovoljno iskustvo programera, što može da uzrokuje
neblagovremeni završetak razvoja funkcionalnosti; da li je nužno odraditi taj deo odmah ili se
može sačekati sledeća iteracija (posebno važi za manje firme sa nedovoljno ljudskih resursa)

You might also like