Agile proti metodologijam V (model)
Danes se v industriji programske opreme uporabljajo številne različne metodologije razvoja programske opreme. Metodologije V (V-model) so razširitev razvojne metode slapa (ki je ena najzgodnejših metod). Glavni poudarek V-modela je dajanje enake teže kodiranju in testiranju. Agilni model je novejši model razvoja programske opreme, uveden za odpravo pomanjkljivosti obstoječih modelov. Glavni poudarek Agile je vključitev testiranja čim prej in izdaja delujoče različice izdelka zelo zgodaj z razčlenitvijo sistema na zelo majhne in obvladljive poddele.
Kaj so V metodologije (model)?
V Methodologies (V-Model) je model razvoja programske opreme. Velja za razširitev tipičnega modela razvoja programske opreme Waterfall. V-Model uporablja enaka razmerja med fazami, definiranimi v modelu Slap. Toda namesto da bi se linearno spuščal (kot model slapa), se V-model spusti diagonalno navzdol in se nato pomakne nazaj navzgor (po fazi kodiranja) in oblikuje obliko črke V. Ta oblika V je oblikovana, da prikaže razmerje med vsako fazo razvoj/načrtovanje in ustrezna faza testiranja. Čas in raven abstrakcije sta predstavljena z vodoravno in navpično osjo.
Testiranje (naraščajoča pot, desna stran V) se izvaja za preverjanje, medtem ko se ustrezne faze načrtovanja (padajoča pot, leva stran V) uporabljajo za validacijo. V modelu V je enaka teža namenjena kodiranju in testiranju. V-Model priporoča ustvarjanje testnega dokumenta poleg projektnih dokumentov/kode. Na primer, dokumente o testiranju integracije je treba napisati, ko se dokumentira zasnova na visoki ravni, teste enot pa je treba dokumentirati, medtem ko se pripravlja podroben načrt zasnove. To pomeni, da je treba načrt izvajanja za vsak test izdelati vnaprej, ne pa čakati, da je razvoj končan, da ga je mogoče predati ekipi za testiranje.
Kaj je Agile?
Agile je najnovejša metodologija razvoja programske opreme, ki temelji na agilnem manifestu. To je bilo razvito za odpravo nekaterih pomanjkljivosti v tradicionalnih metodologijah razvoja programske opreme V-Model in Waterfall. Agilne metode temeljijo na dajanju visoke prioritete sodelovanju strank zgodaj v razvojnem ciklu. Priporoča, da se testiranje s strani stranke vključi zgodaj in čim pogosteje. Testiranje se izvede na vsaki točki, ko je na voljo stabilna različica. Osnova Agile temelji na začetku testiranja od začetka projekta in nadaljevanju do konca projekta. Ključna vrednota Agile je »kakovost je odgovornost ekipe«, ki poudarja, da je kakovost programske opreme odgovornost celotne ekipe (ne le ekipe za testiranje). Drug pomemben vidik Agile je razčlenitev programske opreme na manjše obvladljive dele in njihova zelo hitra dostava stranki. Dostava delujočega izdelka je izjemnega pomena. Nato ekipa nadaljuje z izboljševanjem programske opreme in neprekinjenim zagotavljanjem pri vsakem večjem koraku. To dosežemo z zelo kratkimi cikli sproščanja, imenovanimi sprinti, in pridobivanjem povratnih informacij za izboljšanje na koncu vsakega cikla. Sodelujoči brez veliko interakcij ekipe, kot so razvijalci in preizkuševalci v prejšnjih metodah, zdaj sodelujejo znotraj modela Agile.
Kakšna je razlika med metodologijama Agile in V (model)?
Agilni model zagotavlja delujočo različico izdelka zelo zgodaj v primerjavi z V-modelom. Ker je postopoma na voljo več funkcij, lahko stranke že zgodaj spoznajo nekatere prednosti. Čas preskusnega cikla Agile je relativno kratek v primerjavi z modelom V, ker testiranje poteka vzporedno z razvojem. Agile je proaktiven model (zaradi zelo kratkih ciklov) v primerjavi z veliko bolj reaktivnim V-modelom. V-model je zelo tog in relativno manj prilagodljiv kot Agile model. Zaradi vseh teh prednosti ima Agile trenutno prednost pred V-modelom.