Agile vs. vandfald: Hvilken tilgang skal man vælge i webudvikling?

Agile vs. vandfald: Hvilken tilgang til webudvikling skal man vælge?

En af de største bekymringer for enhver virksomhed, der er på vej til at lave et websted, er at beslutte, hvilken udviklingsmetode der skal anvendes. Udviklingsmetodologi er den måde, hvorpå arbejdet med softwareudvikling organiseres. På den ene side kan du vælge den traditionelle vej, hvor alt er lagt ud for dig, eller du kan vælge den frie vej, hvor du vælger den iterative tilgang, en mere fleksibel måde at arbejde på et projekt på. Den ene kaldes vandfaldsmetoden og den anden er agil.

Vandfaldsmetoden

Vandfaldsmetoden har eksisteret i meget lang tid og er derfor den traditionelle tilgang til softwareudvikling. Projektet er opdelt i forskellige faser og gennemføres derefter i sekvenser. Det nøjagtige antal faser i en vandfaldsmetode kan variere fra virksomhed til virksomhed og fra projekt til projekt, men her er den generelle fremgangsmåde:

  • Udformning af projektet – Som navnet antyder, er det her, hvor projektets små skridt starter. Det er her frøet til en idé spirer, og det er den første del af Software Development Life Cycle (SDCL).
  • Indledning – Find de rette personer til at udføre arbejdet og udvide projektets omfang med mål, formål og leveringsdato. Analyse – Der vil være et kravspecifikationsdokument, og der foretages en gennemførlighedsanalyse af projektet.
  • Design – Projektet får en endelig form gennem mockups, wireframes og storyboards. Kodning – Efter designdiagrammet (flowcharts, designmockups), der blev oprettet i det foregående trin, begynder teamet at arbejde på den egentlige app.
  • Testning – En kritisk fase, hvor alle de foregående fasers indsats testes.
  • Produktion/implementering – Når alle testfaserne er afsluttet og godkendt, kommer produktet på markedet.
  • Vedligeholdelse – Udviklingsholdet foretager løbende opgraderinger og fejlrettelser af produktet. Der tilføjes også nye funktioner for at sikre, at produktet forbliver konkurrencedygtigt.

Agil

Den agile metode, der er baseret på Agile Manifesto, er en nyere form, som udviklere anvender i deres softwareudviklingscyklus. Denne metode fokuserer på at være lean og udvikle MVP’er eller Minimum Viable Products i løbet af hver iteration i stedet for at håndtere al planlægningen på forhånd.

Den agile metodologi overholder det agile manifest, der blev fastlagt i februar 2017, og lægger stor vægt på teamwork, kontinuerlig iteration, forbedringer, brugerfeedback og tilpasningsevne til kundens krav.

I Agile er de forskellige faser af projektudviklingen parallelle, mens en backlog holder styr på de funktioner og forbedringer, der er blevet tilføjet. Nogle af de mest populære implementeringer af Agile omfatter Scrum, Kanban, FDD eller Feature Driven Development, ASD eller Adaptive System Development og XP eller Extreme Programming.

Valg af en til dit projekt

Både vandfalds- og agile projektudviklingsmetoder er brugbare og vil hjælpe dig med at skabe produkter af høj kvalitet. Begge er fleksible og stabile og hjælper dig med at være organiseret, når du planlægger et projekt.

Du kan bruge Waterfall når:

Det er ikke sandsynligt, at kunden ændrer sine krav i løbet af projektet. Dette er således mere velegnet til enkle projekter med forudsigelige resultater og til kunder, der kommer med definerede krav. Stabiliteten i Waterfall og den lineære og strukturerede udviklingsvej gør det lettere for projektudviklingsteams.

Agil udvikling følger en mere evolutionær udviklingsstil.

Du kan bruge Agile, når:

Når markedet er lidt usikkert, og du skal skabe et nyt produkt hurtigt, kan Agile være en god løsning.

Agile løsninger er også en god løsning, hvis du ikke har råd til at begå dyre fejl i sidste ende, og især hvis du ikke har mange oplysninger om projektet. Det ville også være godt, hvis du ikke har råd til at have strenge krav.

Hvis du ikke ønsker at foretage ændringer, især når kravene ændrer sig hele tiden, hvis du gerne vil reducere omkostningerne, rette fejl, når de opstår, og fjerne usikkerheden i projektudviklingscyklussen, så er Agile et godt valg. Dette er sandsynligvis grunden til, at startups er så glade for Agile.

I agil udvikling arbejder testere og udviklere sammen, og ved slutningen af hver hensigt bliver produktet sendt og leveret til kunden. De ændrede og opdaterede funktioner vil
begynde at fungere med det samme.

Forskellene på et øjeblik:

Vandfaldsprocesser testes, efter at arbejdet er udført, og fejl er vanskelige at rette op på.

Agilitet giver mulighed for masser af fleksibilitet, og de konstant skiftende krav kræver ikke præcision i bogføringen.

Det er dog vigtigt at gå forsigtigt fremad, da sådanne projekter sandsynligvis vil gå i vasken. Denne metode er mere velegnet til meget erfarne udviklere og en kunde, der har investeret nok i projektet. Vandfald tillader ikke nogen slinger i valsen, fordi det bevæger sig i en klar og tydelig retning med omhyggelig registrering. Udviklerne kan nemt forudsige, hvordan slutproduktet vil se ud. Når et trin af projektet er afsluttet, er det ikke let at vende tilbage og foretage ændringer. Alle projektets elementer er på plads, lige fra projektets størrelse til dets tidslinje og
budget.

Agile arbejder med en inkrementel designproces, der giver masser af plads til forbedringer. Det skyldes, at projektet er opdelt i forskellige modeller, som testes og evalueres grundigt.

Processen i Waterfalls lineære tilgang:

  • Indsamling af dokumentkrav
  • Lav designet
  • Kode og enhedstest
  • Systemafprøvning
  • Udfør UAT brugeracceptanceprøvning
  • Løs problemer
  • Levere det færdige produkt til kunden
  • Ideel til alle slags projekter

Processen i Agile’s sprint-tilgang

  • Trinvis tilgang til softwaredesign
  • Produktet testes i 2-4 ugers iteration
  • Kunden får mulighed for at se produktet og foreslå ændringer
  • Ideel til små projekter

Konklusion

Når man gennemgår både Agile og Waterfall, er det tydeligt, at hvis man leder efter et projekt med klare mål og en definitiv udvikling, er Waterfall et godt valg. Vælg den agile metode, hvis du ønsker, at dit projekt skal udvikle sig, mens det bevæger sig hen imod færdiggørelse. Måske bliver det endda til noget mere, end du havde planlagt i den indledende fase.

Flikr : //visualpun.ch, mandaruby, Lena Ellis


Om forfatteren: Reema arbejder som Thought Leader hos PHPBabu.

Skriv en kommentar