Agile vs V Methodologies (modell)
Det finns många olika metoder för mjukvaruutveckling som används i mjukvaruindustrin idag. V Methodologies (V-Model) är en förlängning av vattenfallsutvecklingsmetoden (som är en av de tidigaste metoderna). Huvudfokus för V-Model är att ge lika vikt åt kodning och testning. Agile modell är en nyare mjukvaruutvecklingsmodell som introducerats för att åtgärda de brister som finns i befintliga modeller. Huvudfokus för Agile är att införliva testning så tidigt som möjligt och att släppa en fungerande version av produkten mycket tidigt genom att bryta ner systemet i mycket små och hanterbara underdelar.
Vad är V Methodologies (modell)?
V Methodologies (V-Model) är en modell för mjukvaruutveckling. Det anses vara en förlängning av den typiska mjukvaruutvecklingsmodellen för Waterfall. V-Model använder samma relationer mellan faserna som definieras i vattenfallsmodellen. Men istället för att sjunka linjärt (som Waterfall-modellen) stegar V-Model ned diagon alt och flyttar sig sedan tillbaka upp (efter kodningsfasen), och bildar formen av bokstaven V. Denna V-form är utformad för att visa förhållandet mellan varje fas av utvecklingen/designen och motsvarande testfas. Tid och abstraktionsnivå representeras av horisontella respektive vertikala axlar.
Testningen (den stigande banan, höger sida av V:et) görs för verifiering, medan motsvarande designfaser (den fallande banan, vänster sida av V:et) används för validering. I V-modellen läggs lika vikt vid kodning och testning. V-Model rekommenderar att du skapar testdokument tillsammans med designdokumenten/koden. Till exempel bör integreringstestdokument skrivas när högnivåkonstruktionen dokumenteras och enhetstester bör dokumenteras medan den detaljerade designplanen görs. Detta innebär att en implementeringsplan för varje test bör skapas i förväg, inte vänta tills utvecklingen är klar så att den kan lämnas över till testteamet.
Vad är Agile?
Agile är en mycket ny metod för mjukvaruutveckling baserad på det agila manifestet. Detta utvecklades för att lösa vissa brister i de traditionella V-Model och Waterfall mjukvaruutvecklingsmetoderna. Agila metoder bygger på att ge hög prioritet åt kundmedverkan tidigt i utvecklingscykeln. Den rekommenderar att testa av kunden tidigt och ofta som möjligt. Testning görs vid varje tillfälle när en stabil version blir tillgänglig. Grunden för Agile bygger på att börja testa från början av projektet och fortsätta till slutet av projektet. Nyckelvärden för Agile är "kvalitet är teamets ansvar", vilket betonar att kvaliteten på programvaran är hela teamets ansvar (inte bara testteamet). En annan viktig aspekt av Agile är att bryta ner mjukvaran i mindre hanterbara delar och leverera dem till kunden mycket snabbt. Att leverera en fungerande produkt är av yttersta vikt. Sedan fortsätter teamet att förbättra mjukvaran och leverera kontinuerligt vid varje större steg. Detta uppnås genom att ha mycket korta släppcykler som kallas sprints och få feedback för förbättring i slutet av varje cykel. Bidragsgivare utan mycket interaktion från teamet, såsom utvecklare och testare i de tidigare metoderna, arbetar nu tillsammans inom den agila modellen.
Vad är skillnaden mellan Agile och V-metoder (modell)?
Agil modell levererar en fungerande version av produkten mycket tidigt jämfört med V-Model. Eftersom fler funktioner levereras stegvis kan kunden inse några av fördelarna tidigt. Testcykeltiden för Agile är relativt kort jämfört med V-Model, eftersom testning görs parallellt med utveckling. Agile är en proaktiv modell (på grund av dess mycket korta cykler) jämfört med den mycket mer reaktiva V-modellen. V-Model är mycket styv och relativt mindre flexibel än Agile-modellen. På grund av alla dessa fördelar är Agile att föredra framför V-modellen för tillfället.