Agilne vs V metodologije (model)
Postoji veliki broj različitih metodologija razvoja softvera koje se danas koriste u softverskoj industriji. V metodologije (V-model) proširenje su metode razvoja vodopada (koja je jedna od najranijih metoda). Glavni fokus V-Modela je davanje jednake težine kodiranju i testiranju. Agilni model noviji je model razvoja softvera uveden kako bi se riješili nedostaci postojećih modela. Glavni fokus Agilea je uključivanje testiranja što je ranije moguće i objavljivanje radne verzije proizvoda vrlo rano rastavljanjem sustava na vrlo male poddijelove kojima se može upravljati.
Što je V metodologija (model)?
V Methodologies (V-Model) je model razvoja softvera. Smatra se proširenjem tipičnog modela razvoja softvera Waterfall. V-model koristi iste odnose između faza definiranih u modelu vodopada. Ali umjesto linearnog spuštanja (poput modela vodopada), V-model se spušta dijagonalno i zatim se pomiče prema gore (nakon faze kodiranja), formirajući oblik slova V. Ovaj V oblik je formiran da pokaže odnos između svake faze razvoj/dizajn i odgovarajuća faza testiranja. Vrijeme i razina apstrakcije predstavljeni su vodoravnom i okomitom osi.
Testiranje (uzlazna putanja, desna strana slova V) vrši se za verifikaciju, dok se odgovarajuće faze dizajna (silazni put, lijeva strana slova V) koriste za validaciju. U V-modelu jednaka je važnost dana kodiranju i testiranju. V-Model preporučuje izradu dokumenta za testiranje uz dokumente dizajna/kod. Na primjer, dokumenti o integracijskom testiranju trebaju biti napisani kada se dokumentira dizajn visoke razine, a jedinični testovi trebaju biti dokumentirani dok se izrađuje detaljni plan dizajna. To znači da plan implementacije za svaki test treba izraditi unaprijed, a ne čekati da se razvoj završi kako bi se mogao predati timu za testiranje.
Što je Agile?
Agile je najnovija metodologija razvoja softvera temeljena na agilnom manifestu. Ovo je razvijeno kako bi se riješili neki nedostaci u tradicionalnim metodologijama razvoja softvera V-Model i Waterfall. Agilne metode temelje se na davanju visokog prioriteta sudjelovanju korisnika u ranoj fazi razvojnog ciklusa. Preporuča uključivanje testiranja od strane korisnika ranije i što je češće moguće. Testiranje se provodi u svakoj točki kada stabilna verzija postane dostupna. Temelj Agilea temelji se na započinjanju testiranja od početka projekta i nastavljanju do kraja projekta. Ključne vrijednosti Agilea su "kvaliteta je odgovornost tima", što naglašava da je kvaliteta softvera odgovornost cijelog tima (a ne samo tima za testiranje). Još jedan važan aspekt Agilea je rastavljanje softvera na manje upravljive dijelove i njihova vrlo brza isporuka korisniku. Isporuka proizvoda koji radi je od najveće važnosti. Zatim tim nastavlja poboljšavati softver i kontinuirano isporučivati na svakom većem koraku. To se postiže vrlo kratkim ciklusima otpuštanja koji se nazivaju sprintevi i dobivanjem povratnih informacija za poboljšanje na kraju svakog ciklusa. Suradnici bez mnogo interakcije tima, poput programera i testera u ranijim metodama, sada rade zajedno unutar Agile modela.
Koja je razlika između Agile i V metodologija (model)?
Agilni model isporučuje radnu verziju proizvoda vrlo rano u usporedbi s V-modelom. Kako se sve više značajki isporučuje postupno, kupac može rano shvatiti neke prednosti. Vrijeme ciklusa testiranja Agilea je relativno kratko u usporedbi s V-modelom, jer se testiranje provodi paralelno s razvojem. Agile je proaktivan model (zbog vrlo kratkih ciklusa) u usporedbi s mnogo reaktivnijim V-modelom. V-model je vrlo krut i relativno manje fleksibilan od Agile modela. Zbog svih ovih prednosti, Agile se trenutno preferira u odnosu na V-model.