Agile vs V-metoder (model)
Der er mange forskellige softwareudviklingsmetoder, der anvendes i softwarebranchen i dag. V-metodologier (V-model) er en udvidelse til vandfaldets udviklingsmetode (som er en af de tidligste metoder). Hovedfokus for V-Model er at give en lige vægt til kodning og test. Agile model er en nyere softwareudviklingsmodel, der blev introduceret for at imødegå de mangler, der findes i eksisterende modeller. Agile's hovedfokus er at indarbejde test så tidligt som muligt og frigive en fungerende version af produktet meget tidligt ved at nedbryde systemet til meget små og håndterbare underdele.
Hvad er V-metoder (model)?
V Methodology (V-Model) er en softwareudviklingsmodel. Det betragtes som en udvidelse af den typiske Waterfall-softwareudviklingsmodel. V-Model bruger de samme forhold mellem de faser, der er defineret i Vandfaldsmodellen. Men i stedet for at falde lineært (som vandfaldsmodellen) trækker V-modellen diagonalt ned og bevæger sig derefter op igen (efter kodningsfasen) og danner formen på bogstavet V. Denne V-form er dannet for at vise forholdet mellem hver fase af udvikling / design og den tilsvarende testfase. Tid og niveau for abstraktion er repræsenteret ved henholdsvis vandret og lodret akse.
Testningen (den stigende sti, højre side af V) udføres til verifikation, mens de tilsvarende designfaser (den faldende sti, venstre side af V) bruges til validering. I V-modellen tildeles ens vægt til kodning og test. V-Model anbefaler, at der oprettes testdokument sammen med designdokumenterne / koden. For eksempel skal integrationstestdokumenter skrives, når design på højt niveau dokumenteres, og enhedsprøver skal dokumenteres, mens den detaljerede designplan udarbejdes. Dette betyder, at en implementeringsplan for hver test skal oprettes på forhånd og ikke vente til udviklingen er afsluttet, så den kan overleveres til testteamet.
Hvad er smidig?
Agile er en meget nyere softwareudviklingsmetodologi baseret på det agile manifest. Dette blev udviklet for at løse nogle mangler i de traditionelle V-Model og Waterfall softwareudviklingsmetoder. Agile metoder er baseret på at prioritere kundens deltagelse højt tidligt i udviklingscyklussen. Det anbefales at inkorporere test af kunden tidligt og ofte som muligt. Testning udføres på hvert punkt, når en stabil version bliver tilgængelig. Grundlaget for Agile er baseret på at starte test fra projektets begyndelse og fortsætte til slutningen af projektet. Nøgleværdier for Agile er "kvalitet er teamets ansvar", som understreger, at kvaliteten af softwaren er ansvaret for hele teamet (ikke kun testteamet). Et andet vigtigt aspekt af Agile er at nedbryde softwaren i mindre håndterbare dele og levere dem til kunden meget hurtigt. Det er yderst vigtigt at levere et arbejdsprodukt. Derefter fortsætter teamet med at forbedre softwaren og leverer kontinuerligt på hvert større trin. Dette opnås ved at have meget korte frigivelsescyklusser kaldet sprints og få feedback til forbedring i slutningen af hver cyklus. Bidragsydere uden meget interaktion fra teamet, som f.eks. Udviklere og testere i de tidligere metoder, arbejder nu sammen inden for Agile-modellen.
Hvad er forskellen mellem Agile og V-metodologier (model)?
Agile model leverer en fungerende version af produktet meget tidligt sammenlignet med V-Model. Efterhånden som flere funktioner leveres trinvist, kan kunden indse nogle af fordelene tidligt. Testcyklustiden for Agile er relativt kort sammenlignet med V-Model, fordi testen udføres parallelt med udviklingen. Agile er en proaktiv model (på grund af dens meget korte cyklusser) sammenlignet med den meget mere reaktive V-model. V-model er meget stiv og relativt mindre fleksibel end Agile-modellen. På grund af alle disse fordele foretrækkes Agile frem for V-modellen i øjeblikket.