Vai esat nesaprašanā par programmatūras izstrādes modeļa izvēli lietojumprogrammu izstrādei? Vai jums ir grūti izvēlēties starp ūdenskritumu un veiklo? Ja jā, tad šis emuārs vietnē Waterfall vs Agile novērsīs jūsu neskaidrības. Šeit mēs apspriedīsim visas ūdenskrituma un veiklās atšķirības. Pēc atšķirību izpratnes būtu lietderīgāk uzzināt par tām .
Tēmas, kuras mēs aplūkosim šajā emuārā vietnē Waterfall vs Agile, ir šādas -
- Kas ir ūdenskritums?
- Plusi un mīnusi ūdenskritumam
- Kas ir veikls?
- Agile plusi un mīnusi
- Ūdenskrituma un veiklā salīdzinājums
Kas ir ūdenskritums?
Ūdenskrituma modelis ir programmatūras izstrādes modelis, kas ir diezgan taisns un lineārs. Šis modelis ir balstīts uz augšupēju pieeju. Šim modelim ir dažādas iespējas, sākot ar prasību apkopošanu un analīzi. Šajā posmā jūs saņemat klienta prasības lietojumprogrammas izstrādei. Pēc tam jūs mēģināt analizēt šīs prasības.
Nākamais ir projektēšanas posms, kurā jūs sagatavojat programmatūras plānu. Šajā posmā jūs domājat par to, kā programmatūra patiesībā izskatīsies. Kad dizains ir gatavs, jūs turpināt darbu ar ieviešanas fāzi, kur sākat ar lietojumprogrammas kodēšanu. Izstrādātāju komanda strādā kopā ar dažādiem lietojumprogrammas komponentiem.
Kad lietojumprogramma ir izstrādāta, tā tiek pārbaudīta verifikācijas posmā. Lietojumprogrammā tiek veikti dažādi testi, piemēram, vienības testēšana, integrācijas testēšana, veiktspējas pārbaude utt. Pēc visu lietojumprogrammas testu veikšanas tā tiek izvietota ražošanas serveros. Beidzot pienāk tehniskās apkopes posms.Šajā posmā tiek uzraudzīta lietojumprogrammas veiktspēja. Šajā posmā tiek atrisināti visi ar lietojumprogrammas darbību saistītie jautājumi.
Plusi un mīnusi ūdenskritumam
Plusi
- Ar skaidriem mērķiem un virzieniem plānošana un projektēšana kļūst vienkāršāka un vienkāršāka. Ideālā gadījumā visa komanda ideālā gadījumā paliek vienā lappusē katrā posmā.
- Jūs varat viegli izmērīt progresu un zināt, kad pāriet uz nākamo soli. Ir skaidri pagrieziena punkti, un posmi norāda, cik labi kopumā notiek projekts.
- Šī metodika ietaupa laiku un naudu. Izmantojot skaidru dokumentāciju un plānošanu, visa jūsu komanda ir vairāk sagatavota un netērē laiku nākotnē.
Cons
- Savu prasību apkopošana un dokumentēšana katrā darbības posmā var būt laikietilpīga, nemaz nerunājot par grūtu. Projekta sākumposmā ir grūti pieņemt lietas par savu produktu. Tā rezultātā jūsu pieņēmumi var būt kļūdaini un atšķirīgi no tā, ko klients sagaida.
- Ja iepriekš minētais patiešām notiek un jūsu klienti nav apmierināti ar jūsu piegādāto produktu, izmaiņu pievienošana produktam var būt dārga, dārga un galvenokārt - grūti īstenojama.
- Kopumā ūdenskrituma pieejas risks ir lielāks, jo arī kļūdu iespējas ir augstas. Ja kaut kas noiet greizi, to labošana var būt sarežģīta, jo jums jāiet pāris soļus atpakaļ.
Kas ir veikls?
Agile ir iteratīva programmatūras izstrādes pieeja, kurā programmatūras projekts tiek sadalīts dažādās iterācijās vai sprintos. Katrā atkārtojumā ir tādas fāzes kā ūdenskrituma modelis, piemēram, prasību apkopošana, projektēšana, izstrāde, testēšana un uzturēšana. Katras iterācijas ilgums parasti ir 2-8 nedēļas.
Tātad, Agile, jūs atlaidat lietojumprogrammu ar dažām augstas prioritātes funkcijām pirmajā atkārtojumā. Pēc tās izlaišanas tiešie lietotāji vai klienti sniedz jums atsauksmes par lietojumprogrammas veiktspēju.Nepieciešamās izmaiņas lietojumprogrammā tiek veiktas kopā ar dažām jaunām funkcijām, un programma tiek atkal izlaista, kas ir otrā atkārtošana. Šo procedūru atkārto, līdz tiek sasniegta vēlamā programmatūras kvalitāte.
Agile plusi un mīnusi
Plusi
- Tā kā klienti ir ļoti iesaistīti, jūs ātri saņemat atsauksmes un pieņemat lēmumus. Šeit notiek biežāka saziņa, vairāk atsauksmju un ciešākas attiecības ar klientiem.
- Ir mazāks risks, jo jūsu darba rezultāti tiek pārskatīti katrā posmā. Jūs arī ietaupāt naudu un laiku no nevajadzīgiem tēriņiem, jo par prioritāti izvirzīsit vērtību lietotājiem.
- Katrā ciklā jūs uzlabosiet izvades kvalitāti. Sadalot savu projektu koduma lieluma gabalos, jūs mācāties no katras atkārtojuma. Ir daudz izmēģinājumu un kļūdu, taču lielākoties jūs joprojām koncentrējaties uz augstas kvalitātes attīstību, testēšanu un sadarbību.
Cons
- Lai pieeja darbam, visiem komandas locekļiem jābūt pilnībā veltītiem projektam. Visiem jābūt iesaistītiem vienādi, ja vēlaties, lai visa komanda mācītos un nākamajā braucienā veiktos labāk. Tā kā Agile koncentrējas uz ātru piegādi, iespējams, ir problēma ar termiņu ievērošanu.
- Šī pieeja var šķist vienkārša, taču to ir grūti izpildīt. Tas prasa apņemšanos un visiem atrasties vienā lappusē, ideālā gadījumā vienā fiziskajā telpā.
- Dokumentāciju var ignorēt. Tā kā Agile metodoloģijā galvenā uzmanība tiek pievērsta programmatūras darbam, nevis visaptverošai dokumentācijai, katrā posmā un atkārtojumā lietas var pazust. Tā rezultātā gala produkts var justies atšķirīgs no tā, kas sākotnēji tika plānots.
Salīdzinājums - Ūdenskritums Vs Veikls
Parametrs | Ūdenskritums | Veikls | Komentāri |
Darbības joma | Darbojas labi, ja darbības joma ir definēta. Neatbalsta izmaiņas. | Piemērots projektiem ar nezināmu darbības jomu. Aizstāv un veicina pārmaiņas. | Pārmaiņas ir labvēlīgas, jo tās ir neizbēgamas. Bet pārmaiņas notiek uz izmaksu, pūļu un laika rēķina. |
Klienta ievade | Atbalsta klientu mijiedarbību tikai galvenajos posmos. | Veicina klientu atsauksmes visos produktu izstrādes posmos. | Klientu iesaistīšanās ir izdevīga abiem modeļiem. |
Komanda | Neprasa nepārtrauktu komandas sadarbību, vairāk tiek uzsvērta neatkarīga darbība. | Veicina sinhronizētu komandas darbu visos produktu izstrādes posmos, prasa komandām prasmes. | Sadarbības rezultātā tiek panākta lielāka produktivitāte, dažāda rakstura līgumi, kas piešķirti dažādiem piegādātājiem, nedarbojas labi, ja notiek augsta komandas sinhronizācija. |
Izmaksas | Budžets ir noteikts sākumā, tajā ietilpst rezerves plāni identificētiem riskiem. | Budžets nav definēts tāpat kā darbības joma, kas, iespējams, kļūs dārga, ja notiks neparedzētas izmaiņas un riski . | Fiksētais budžets ir labs mazajiem uzņēmumiem, fiksētais budžets var arī radīt traucējumus, ja kādā brīdī rodas nepieciešamās izmaiņas. html tags līnijas pārtraukumam |
Kad jums vajadzētu izmantot ūdenskritumu un kad izmantot veiklu
Izmantot Ūdenskritums ja:
- Jūs zināt, ka darbības joma nemainīsies, un jūsu darbs ir saistīts ar fiksētas cenas līgumiem
- Projekts ir ļoti vienkāršs vai esat to darījis daudzas reizes iepriekš
- Jūs labi zināt, ka prasības ir noteiktas.
- Klienti iepriekš precīzi zina, ko viņi vēlas
- Jūs strādājat ar kārtīgiem un paredzamiem projektiem
Un izmantot Veikls ja:
- Nav skaidras galaprodukta definīcijas.
- Klienti / ieinteresētās personas ir pietiekami spējīgas mainīt darbības jomu
- Jūs paredzat jebkādas izmaiņas projekta laikā
- Mērķis ir ātra izvietošana
Kurš ir labāks? Veikls vs ūdenskritums
Šeit nav skaidra uzvarētāja. Jūs nevarat teikt, ka veikls ir labāks par ūdenskritumu vai otrādi. Tas patiešām ir atkarīgs no projekta un skaidrības līmeņa, kas ieskauj prasību.
Jūs varat teikt, ka ūdenskritums ir labāks modelis, ja jums ir skaidrs priekšstats par gala produktu. Turklāt, ja jūs zināt, ka prasība nemainīsies un projekts ir salīdzinoši vienkāršs, ūdenskritums ir domāts jums. Šis modelis ir vienkāršs, efektīvs process, ja jūs nedomājat tikt galā ar izmaiņām.
Izveicīgs ir pārāks, ja jums nav skaidra priekšstata par galaproduktu, kad paredzat izmaiņas jebkurā projekta posmā un kad projekts ir diezgan sarežģīts. Veikls var izpildīt jaunas, mainīgas prasības jebkurā projekta laikā, turpretim ūdenskritumam nav iespējams atgriezties pabeigtajā posmā un veikt izmaiņas.
Tas ir tas, tas mūs noved pie šī emuāra ‘Waterfall vs Agile’ beigām.
Tagad, kad esat sapratis atšķirību starp ūdenskritumu un veiklo, pārbaudiet to Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka DevOps sertifikācijas apmācības kurss palīdz izglītojamajiem saprast, kas ir DevOps, un iegūt zināšanas dažādos DevOps procesos un rīkos, piemēram, Leļļu, Jenkins, Nagios, Ansible, Chef, Saltstack un GIT, lai automatizētu vairākus SDLC soļus.
Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā, un mēs ar jums sazināsimies.