Vandfaldsmetodologi vs Agile
Der er mange forskellige softwareudviklingsmetoder, der anvendes i softwarebranchen i dag. Vandfald-udviklingsmetode er en af de tidligste softwareudviklingsmetoder. Vandfalds softwareudviklingsmetodik er en sekventiel model, hvor hver fase afsluttes fuldt ud og følges i en fast rækkefølge. 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 vandfaldsmetodik?
Vandfaldsmetodik er en af de tidligste softwareudviklingsmodeller. Som navnet antyder er det en sekventiel proces, hvor fremskridt flyder gennem flere faser fra top til bund, analogt med et vandfald. Faserne i vandfaldsmodellen er kravanalyse, design, udvikling, test og implementering. Her er hver fase fuldstændig afsluttet, inden den går videre til den næste fase. Denne model var et direkte resultat af simpelthen tilpasning af hardwareorienteret udviklingsmetode (findes i fremstillings- og byggebranchen), på et tidspunkt var der ingen formel model for softwareudvikling.
Hvad er smidig?
Agile er en meget nyere softwareudviklingsmetodologi baseret på det agile manifest. Dette blev udviklet for at løse nogle mangler ved traditionelle 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ærdien af 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 vandfaldsmetodik og smidig?
Agile model leverer en fungerende version af produktet meget tidligt sammenlignet med vandfaldsmetodik. Efterhånden som flere funktioner leveres trinvist, kan kunden indse nogle af fordelene tidligt. Testcyklustiden for Agile er relativt kort sammenlignet med vandfaldsmetodik, fordi testningen udføres parallelt med udviklingen. Vandfaldsmodellen er meget stiv og relativt mindre fleksibel end Agile-modellen. På grund af alle disse fordele foretrækkes Agile frem for vandfaldsmetodikken i øjeblikket.