Agile vs. vattenfall: Vilket tillvägagångssätt ska man använda vid webbutveckling?
Ett av de största problemen för alla företag som ska skapa en webbplats är att bestämma sig för vilken utvecklingsmetod som ska användas. Utvecklingsmetodik är ett sätt att organisera arbetet med programvaruutveckling. Å ena sidan kan du välja den traditionella vägen där allting är utformat för dig, eller så kan du välja den fria vägen där du använder den iterativa metoden, som är ett mer flexibelt sätt att arbeta med ett projekt. Den ena kallas vattenfallsmetoden och den andra är agil.
Vattenfallsmetoden
Vattenfallsmetoden har funnits under mycket lång tid och är därför den traditionella metoden för programvaruutveckling. Projektet delas upp i olika etapper och avslutas sedan i sekvenser. Det exakta antalet steg i en vattenfallsmetod kan variera från företag till företag och från projekt till projekt, men här är det allmänna tillvägagångssättet:
- Projektets utformning – Som namnet antyder är det här som projektets små steg börjar. Det är här som fröet till en idé gror och det är den första delen av livscykeln för mjukvaruutveckling (SDCL).
- Initiering – Att hitta rätt personer som kan göra jobbet och utvidga projektets omfattning, med mål, syfte och leveransdatum. Analys – Det kommer att finnas ett kravspecifikationsdokument och en genomförbarhetsanalys av projektet görs.
- Design – Projektet får en slutgiltig form genom mockups, wireframes och storyboards. Kodning – Efter den designplan (flödesscheman, mockups) som skapades i det föregående steget börjar teamet arbeta med själva appen.
- Testning – Ett kritiskt skede där alla insatser från de tidigare skedena testas.
- Produktion/implementering – När testfaserna är avslutade och godkända kommer produkten att släppas ut på marknaden.
- Underhåll – Utvecklingsteamet kommer att göra kontinuerliga uppgraderingar och felrättningar av produkten. Nya funktioner läggs också till för att säkerställa att produkten förblir konkurrenskraftig.
Agil
Den agila metoden, som bygger på Agile Manifesto, är en nyare form som används av utvecklare i deras programvaruutvecklingscykel. Den här metoden fokuserar på att vara smidig och utveckla MVP:er (Minimum Viable Products) under varje iteration i stället för att hantera all planering i förväg.
Den agila metoden följer det agila manifestet som fastställdes i februari 2017 och lägger stor vikt vid lagarbete, kontinuerlig iteration, förbättring, användarfeedback och anpassningsförmåga till kundens krav.
I Agile sker de olika faserna i projektutvecklingen parallellt, medan en backlog håller reda på vilka funktioner och förbättringar som har lagts till. Några av de mest populära agila metoderna är Scrum, Kanban, FDD (Feature Driven Development), ASD (Adaptive System Development) och XP (Extreme Programming).
Att välja en för ditt projekt
Både vattenfalls- och agila projektutvecklingsmetoder är användbara och hjälper dig att skapa högkvalitativa produkter. Båda är flexibla och stabila och hjälper dig att vara organiserad när du planerar ett projekt.
Du kan använda Waterfall när:
Det är inte troligt att kunden ändrar sina krav under projektets gång. Detta är alltså lämpligare för enkla projekt med förutsägbara resultat och för kunder som har definierade krav. Stabiliteten hos Waterfall och den linjära och strukturerade utvecklingsvägen gör det lättare för projektutvecklingsgrupper.
Agil utveckling följer en mer evolutionär utvecklingsstil.
Du kan använda Agile när:
När marknaden är lite osäker och du måste skapa en ny produkt snabbt är Agile en lämplig lösning.
Agilitet är också en bra lösning om du inte har råd att göra några kostsamma misstag i slutändan, och särskilt om du inte har så mycket information om projektet. Det är också bra om du inte har råd att ha strikta krav.
Om du inte vill göra några ändringar, särskilt när kraven ständigt förändras, om du vill minska kostnaderna, åtgärda fel när de uppstår och eliminera osäkerheten under projektets utvecklingscykel, är Agile ett bra val. Detta är förmodligen anledningen till att startupföretag är så positiva till Agile.
I agil utveckling arbetar testare och utvecklare tillsammans, och i slutet av varje plan levereras produkten till kunden. De funktioner som ändras och uppdateras är följande
börja fungera direkt.
Skillnaderna i en överblick:
Vattenfallprocesser testas efter att arbetet har utförts, och det är svårt att rätta till misstag.
Agilitet ger massor av flexibilitet, och de ständigt föränderliga kraven kräver ingen exakt bokföring.
Det är dock viktigt att gå vidare med försiktighet, eftersom sådana projekt sannolikt kommer att misslyckas. Den här metoden lämpar sig bäst för mycket erfarna utvecklare och en kund som har investerat tillräckligt mycket i projektet. Vattenfall tillåter inte några krusiduller, eftersom det rör sig i en klar och tydlig riktning med noggrann registrering. Utvecklarna kan lätt förutse hur slutprodukten kommer att se ut. När ett steg i projektet väl är färdigt är det inte lätt att återgå och göra ändringar. Alla delar av projektet finns på sin plats, från projektets storlek till dess tidslinje och
budget.
Agilitet innebär en inkrementell designprocess som ger gott om utrymme för förbättringar. Detta beror på att projektet är uppdelat i olika modeller som testas och utvärderas i stor omfattning.
Processen i Waterfalls linjära tillvägagångssätt:
- Samla in krav på dokumenten.
- Gör designen
- Kod och enhetstest
- Testning av systemet
- Utföra UAT testning av användaracceptans
- Rätta frågor
- Leverera den färdiga produkten till kunden.
- Perfekt för alla typer av projekt
Processen för Agiles sprintmetod
- Inkrementellt tillvägagångssätt för utformning av programvara
- Produkten testas i 2-4 veckors iteration
- Kunden får se produkten och föreslå ändringar.
- Idealisk för små projekt
Slutsats
När man går igenom både Agile och Waterfall blir det uppenbart att om man vill ha ett projekt med tydliga mål och en definitiv utveckling är Waterfall ett bra val. Välj den agila vägen om du vill att ditt projekt ska utvecklas under tiden som det rör sig mot sitt slutförande. Det kan till och med bli något mer än vad du hade planerat i det första skedet.
Flikr : //visualpun.ch, mandaruby, Lena Ellis
- Vattenfall vs. Agile: Vilken är rätt utvecklingsmetod för ditt projekt?
- Processer för webbutveckling: Vattenfall Vs. Agile
Om författaren: Reema arbetar som Thought Leader på PHPBabu.