Forskel mellem vandfaldsmetodologi og Agile
Vandfaldsmetodik vs Agile
Der findes mange forskellige softwareudviklingsmetoder, der anvendes i softwareindustrien i dag. Vandfald udviklingsmetode er en af de tidligste softwareudviklingsmetoder. Vandfaldsmodeludviklingsmetode er en sekventiel model, hvor hver fase er fuldført og fulgt i en fast rækkefølge. Agile model er en nyere softwareudviklingsmodel, der introduceres for at afhjælpe manglerne i eksisterende modeller. Agile's hovedfokus integrerer testningen så tidligt som muligt og frigiver en fungerende version af produktet meget tidligt ved at nedbryde systemet til meget små og håndterbare underdele.
Hvad er vandfaldsmetodologi?
Vandfaldsmetodologi er en af de tidligste softwareudviklingsmodeller. Som navnet antyder, er det en sekventiel proces, hvor fremskridt strømmer gennem flere faser top til bund, analog med et vandfald. Vandfaldsmodellens faser er kravanalyse, design, udvikling, test og implementering. Her er hver fase fuldført, inden vi går videre til næste fase. Denne model var et direkte resultat af simpelthen at tilpasse hardwareorienteret udviklingsmetode (fundet i fremstillings- og byggebranchen), der var ikke en formel model til softwareudvikling.
Hvad er Agile?
Agile er en meget ny softwareudviklingsmetode baseret på det agile manifest. Dette blev udviklet til at løse nogle mangler i traditionelle softwareudviklingsmetoder. Agile metoder er baseret på at prioritere kundens deltagelse tidligt i udviklingscyklusen. Det anbefales at inkorporere test af kunden tidligt og ofte som muligt. Testning udføres på hvert tidspunkt, når en stabil version bliver tilgængelig. Grundlaget for Agile er baseret på start test fra begyndelsen af projektet og fortsætter hele tiden til projektets afslutning.
Agile er den vigtigste værdi, "kvalitet er holdets ansvar", hvilket understreger, at softwarekvaliteten er ansvaret for hele holdet (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. At levere et arbejdsprodukt er af største vigtighed. Så fortsætter teamet med at forbedre softwaren og levere kontinuerligt ved hvert stort trin. Dette opnås ved at have meget korte udløsningscykler kaldet sprints og få feedback til forbedring i slutningen af hver cyklus. Bidragydere uden mange interaktioner af holdet, såsom udviklere og testere i de tidligere metoder, arbejder nu sammen inden for Agile-modellen.
Hvad er forskellen mellem vandfaldsmetodologi og Agile?
Agile model leverer en fungerende version af produktet meget tidligt i forhold til vandfaldsmetoden. Da flere funktioner leveres trinvis, kan kunden indse nogle af fordelene tidligt. Testcyklustiden for Agile er relativt kort sammenlignet med vandfaldsmetoden, fordi testen er lavet parallelt med udviklingen. Vandfaldsmodel er meget stiv og relativt mindre fleksibel end Agile-modellen. På grund af alle disse fordele er Agile foretrukket i forhold til vandfaldsmetoden.