Agile vs V Methodology (modelis)
Mūsdienās programmatūras nozarē tiek izmantotas dažādas programmatūras izstrādes metodoloģijas. V Methodologies (V-Model) ir ūdenskrituma izstrādes metodes (kas ir viena no agrākajām metodēm) paplašinājums. V-Model galvenā uzmanība tiek pievērsta vienlīdzīgai nozīmei kodēšanai un testēšanai. Agile modelis ir jaunāks programmatūras izstrādes modelis, kas ieviests, lai novērstu esošajos modeļos konstatētos trūkumus. Agile galvenā uzmanība tiek pievērsta pēc iespējas agrākai testēšanai un produkta darba versijas izlaišanai ļoti agrīnā stadijā, sadalot sistēmu ļoti mazās un pārvaldāmās apakšdaļās.
Kas ir V metodoloģijas (modelis)?
V Methodologies (V-modelis) ir programmatūras izstrādes modelis. Tas tiek uzskatīts par tipiskā Waterfall programmatūras izstrādes modeļa paplašinājumu. V-Model izmanto tās pašas attiecības starp ūdenskrituma modelī definētajām fāzēm. Bet tā vietā, lai lineāri lejup (kā ūdenskrituma modelim), V-modelis nokāpj pa diagonāli un pēc tam virzās atpakaļ uz augšu (pēc kodēšanas fāzes), veidojot burta V formu. Šī V forma ir izveidota, lai parādītu attiecības starp katru izstrādes/projektēšanas un atbilstošā testēšanas fāze. Abstrakcijas laiks un līmenis tiek attēlots attiecīgi ar horizontālo un vertikālo asi.
Pārbaude (augošais ceļš, V labā puse) tiek veikta pārbaudei, savukārt atbilstošās projektēšanas fāzes (dilstošais ceļš, V burta kreisā puse) tiek izmantotas validācijai. V-modelī kodēšanai un testēšanai ir piešķirta vienāda nozīme. V-Model iesaka izveidot testēšanas dokumentu līdzās projektēšanas dokumentiem/kodam. Piemēram, integrācijas testēšanas dokumenti jāraksta, kad tiek dokumentēts augsta līmeņa projekts, un vienību testi jādokumentē, kamēr tiek izstrādāts detalizēts projektēšanas plāns. Tas nozīmē, ka ieviešanas plāns katram testam ir jāizveido iepriekš, nevis jāgaida līdz izstrādes pabeigšanai, lai to varētu nodot testēšanas komandai.
Kas ir Agile?
Agile ir ļoti jauna programmatūras izstrādes metodoloģija, kuras pamatā ir Agile manifests. Tas tika izstrādāts, lai novērstu dažus trūkumus tradicionālajās V-Model un Waterfall programmatūras izstrādes metodoloģijās. Agile metodes ir balstītas uz augstas prioritātes piešķiršanu klientu līdzdalībai izstrādes cikla sākumā. Tā iesaka pēc iespējas agrāk un biežāk iekļaut klienta veikto testēšanu. Testēšana tiek veikta katrā punktā, kad kļūst pieejama stabila versija. Agile pamats ir balstīts uz testēšanas sākšanu no projekta sākuma un turpināšanu līdz projekta beigām. Galvenās Agile vērtības ir “kvalitāte ir komandas atbildība”, kas uzsver, ka par programmatūras kvalitāti ir atbildīga visa komanda (ne tikai testēšanas komanda). Vēl viens svarīgs Agile aspekts ir programmatūras sadalīšana mazākās pārvaldāmās daļās un ļoti ātra piegāde klientam. Darbīga produkta piegāde ir ārkārtīgi svarīga. Pēc tam komanda turpina uzlabot programmatūru un nodrošināt nepārtrauktu piegādi katrā galvenajā posmā. Tas tiek panākts, izmantojot ļoti īsus atbrīvošanas ciklus, ko sauc par sprintiem, un katra cikla beigās saņemot atsauksmes par uzlabojumiem. Līdzautori bez īpašas komandas mijiedarbības, piemēram, iepriekšējo metožu izstrādātāji un testētāji, tagad strādā kopā Agile modelī.
Kāda ir atšķirība starp Agile un V metodiku (modeli)?
Agile modelis nodrošina produkta darba versiju ļoti agri, salīdzinot ar V-Model. Tā kā arvien vairāk funkciju tiek piegādātas pakāpeniski, klients var agri apzināties dažas priekšrocības. Agile testēšanas cikla laiks ir salīdzinoši īss, salīdzinot ar V-Model, jo testēšana notiek paralēli izstrādei. Agile ir proaktīvs modelis (tā ļoti īso ciklu dēļ), salīdzinot ar daudz reaktīvāku V-modeli. V-Model ir ļoti stingrs un salīdzinoši mazāk elastīgs nekā Agile modelis. Visu šo priekšrocību dēļ Agile pašlaik tiek dota priekšroka salīdzinājumā ar V-modeli.