Agile vs V Methodologies (Model)
Det finns ett antal olika mjukvaruutvecklingsmetoder som används i programvaruindustrin idag. V Metodik (V-modell) är en förlängning av vattenfallets utvecklingsmetod (som är en av de tidigaste metoderna). Huvudfokuset på V-Model ger lika stor vikt vid kodning och testning. Agile modell är en nyare mjukvaruutvecklingsmodell som introduceras för att åtgärda bristerna i befintliga modeller. Huvudfokus hos Agile är att integrera testningen så tidigt som möjligt och släppa en fungerande version av produkten mycket tidigt genom att bryta ner systemet till mycket små och hanterbara delar.
Vad är V Methodologies (Model)?
V Methodologies (V-Model) är en mjukvaruutvecklingsmodell. Det betraktas som en förlängning av den typiska vattenfallsmjukvaruutvecklingsmodellen. V-modellen använder samma förhållanden mellan de faser som definieras i vattenfallsmodellen. Men istället för att falla linjärt (som vattenfallsmodellen) går V-modellen nedåt diagonalt och flyttar sedan tillbaka (efter kodningsfasen), som bildar formen på bokstaven V. Denna V-form bildas för att visa förhållandet mellan varje fas av utveckling / design och motsvarande testfas. Tid och nivå för abstraktion representeras av respektive horisontell och vertikal axel.
Testningen (den stigande vägen, höger sida av V) görs för verifikation, medan motsvarande designfaser (den nedåtgående vägen, vänstra sidan av V) används för validering. I V-modellen ges lika vikt vid kodning och testning. V-Model rekommenderar att du skapar testdokument tillsammans med designdokumenten / koden. Exempelvis ska integrationsprovningsdokument skrivas när högkonstruktionen dokumenteras och enhetstester ska dokumenteras medan den detaljerade designplanen görs. Det innebär att en genomförandeplan för varje test ska skapas på förhand, inte vänta tills utvecklingen är klar så att den kan lämnas till testteamet.
Vad är Agile?
Agile är en mycket nyutvecklad mjukvaruutvecklingsmetod baserat på det smidiga manifestet. Detta utvecklades för att lösa lite brist i de traditionella metoderna för utveckling av V-modell och vattenfall. Agila metoder bygger på hög prioritet på kunddeltagandet tidigt i utvecklingscykeln. Det rekommenderas att inkorporera testning av kunden tidigt och ofta som möjligt. Testning görs vid varje punkt när en stabil version blir tillgänglig. Grunden för Agile bygger på starttestning från början av projektet och fortsätter hela tiden fram till projektets slut. Viktiga värden för Agile är "kvalitet är lagets ansvar", vilket betonar att programvarans kvalitet är ansvaret för hela laget (inte bara testteamet). En annan viktig aspekt av Agile är att bryta ner programvaran i mindre hanterbara delar och leverera dem till kunden mycket snabbt. Att leverera en arbetsprodukt är av största vikt. Då fortsätter teamet att förbättra mjukvaran och leverera kontinuerligt vid varje större steg. Detta uppnås genom att man har mycket korta frisättningscykler som kallas sprints och får feedback för förbättring i slutet av varje cykel. Bidragsgivare utan stora interaktioner av laget, som utvecklare och testare i de tidigare metoderna, arbetar nu tillsammans inom Agile-modellen.
Vad är skillnaden mellan Agile och V Methodologies (Model)?
Agile 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-modellen, eftersom testningen görs parallellt med utvecklingen. Agile är en proaktiv modell (på grund av dess mycket korta cykler) jämfört med den mycket mer reaktiva V-modellen. V-modellen är väldigt stel och relativt mindre flexibel än Agile-modellen. På grund av alla dessa fördelar är Agile föredragen över V-modellen för tillfället.