Ūdenskrituma metodoloģija pret veiklību
Mūsdienās programmatūras nozarē tiek izmantotas dažādas programmatūras izstrādes metodoloģijas. Ūdenskrituma izstrādes metode ir viena no senākajām programmatūras izstrādes metodēm. Waterfall programmatūras izstrādes metodoloģija ir secīgs modelis, kurā katra fāze tiek pabeigta pilnībā un seko noteiktā secībā. 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 ūdenskrituma metodoloģija?
Waterfall metodoloģija ir viens no agrākajiem programmatūras izstrādes modeļiem. Kā norāda nosaukums, tas ir secīgs process, kurā progress plūst cauri vairākām fāzēm no augšas uz leju, līdzīgi kā ūdenskritums. Ūdenskrituma modeļa fāzes ir prasību analīze, projektēšana, izstrāde, testēšana un ieviešana. Šeit katra fāze ir pilnībā pabeigta, pirms pāriet uz nākamo posmu. Šis modelis bija tiešs rezultāts, vienkārši pielāgojot uz aparatūru orientētu izstrādes metodi (kas atrodama ražošanas un būvniecības nozarēs), tajā laikā nebija oficiāla programmatūras izstrādes modeļa.
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 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.
Agile galvenā vērtība 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 Waterfall Methodology un Agile?
Agile modelis nodrošina produkta darba versiju ļoti agri, salīdzinot ar Waterfall metodoloģiju. 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 Waterfall metodoloģiju, jo testēšana notiek paralēli izstrādei. Ūdenskrituma modelis ir ļoti stingrs un salīdzinoši mazāk elastīgs nekā Agile modelis. Visu šo priekšrocību dēļ šobrīd priekšroka tiek dota Agile, nevis Waterfall metodoloģijai.