Agile vs V Methodologies (modell)
Det finnes en rekke forskjellige programvareutviklingsmetoder som brukes i programvareindustrien i dag. V Methodologies (V-Model) er en utvidelse av Waterfall-utviklingsmetoden (som er en av de tidligste metodene). Hovedfokuset til V-Model er å gi like stor vekt til koding og testing. Agile modell er en nyere programvareutviklingsmodell introdusert for å adressere manglene som finnes i eksisterende modeller. Hovedfokuset til Agile er å inkorporere testing så tidlig som mulig og å gi ut en fungerende versjon av produktet veldig tidlig ved å bryte ned systemet i svært små og håndterbare underdeler.
Hva er V Methodologies (modell)?
V Methodologies (V-Model) er en programvareutviklingsmodell. Det betraktes som en utvidelse av den typiske Waterfall-programvareutviklingsmodellen. V-Model bruker de samme relasjonene mellom fasene definert i Waterfall-modellen. Men i stedet for å synke lineært (som Waterfall-modellen) trapper V-modellen ned diagon alt og beveger seg deretter opp igjen (etter kodingsfasen), og danner formen til bokstaven V. Denne V-formen er dannet for å vise forholdet mellom hver fase av utviklingen/designet og den tilsvarende testfasen. Tid og abstraksjonsnivå er representert med henholdsvis horisontal og vertikal akse.
Testingen (den stigende banen, høyre side av V-en) gjøres for verifisering, mens de tilsvarende designfasene (den synkende banen, venstre side av V-en) brukes for validering. I V-modellen er det lagt like stor vekt på koding og testing. V-Model anbefaler å lage testdokumenter ved siden av designdokumentene/koden. For eksempel bør integrasjonstestdokumenter skrives når høynivådesignet skal dokumenteres og enhetstester bør dokumenteres mens den detaljerte designplanen lages. Dette betyr at en implementeringsplan for hver test bør opprettes på forhånd, og ikke vente til utviklingen er fullført, slik at den kan overleveres til testteamet.
Hva er Agile?
Agile er en helt fersk programvareutviklingsmetodikk basert på det smidige manifestet. Dette ble utviklet for å løse noen mangler i de tradisjonelle V-Model og Waterfall programvareutviklingsmetodikkene. Agile metoder er basert på å gi høy prioritet til kundemedvirkning tidlig i utviklingssyklusen. Det anbefaler å inkludere testing av kunden tidlig og ofte som mulig. Testing utføres på hvert punkt når en stabil versjon blir tilgjengelig. Grunnlaget for Agile er basert på å starte testing fra begynnelsen av prosjektet og fortsette til slutten av prosjektet. Nøkkelverdiene til Agile er "kvalitet er teamets ansvar", som understreker at kvaliteten på programvaren er ansvaret til hele teamet (ikke bare testteamet). Et annet viktig aspekt ved Agile er å bryte ned programvaren i mindre håndterbare deler og levere dem til kunden veldig raskt. Det er ytterst viktig å levere et fungerende produkt. Deretter fortsetter teamet å forbedre programvaren og levere kontinuerlig ved hvert større trinn. Dette oppnås ved å ha veldig korte utgivelsessykluser k alt sprints og få tilbakemelding for forbedring på slutten av hver syklus. Bidragsytere uten mye interaksjon fra teamet, som utviklere og testere i de tidligere metodene, jobber nå sammen innenfor den smidige modellen.
Hva er forskjellen mellom Agile- og V-metoder (modell)?
Smidig modell leverer en fungerende versjon av produktet veldig tidlig sammenlignet med V-Model. Ettersom flere funksjoner leveres trinnvis, kan kunden innse noen av fordelene tidlig. Testsyklustiden til Agile er relativt kort sammenlignet med V-Model, fordi testing gjøres parallelt med utvikling. Agile er en proaktiv modell (på grunn av dens svært korte sykluser) sammenlignet med den mye mer reaktive V-modellen. V-Model er veldig stiv og relativt mindre fleksibel enn Agile-modellen. På grunn av alle disse fordelene foretrekkes Agile fremfor V-modellen for øyeblikket.