Agile vs Waterval: Welke aanpak bij webontwikkeling?

Agile vs. Waterval: Welke aanpak bij webontwikkeling?

Een van de grootste zorgen van elk bedrijf op weg naar een website is de keuze van de te gebruiken ontwikkelingsmethode. Ontwikkelingsmethode is de manier om het werk van softwareontwikkeling te organiseren. Aan de ene kant ga je de traditionele weg waar alles voor je klaarligt, of je gaat de vrije weg, waar je de iteratieve aanpak kiest, een meer flexibele manier om aan een project te werken. De ene heet de Watervalmethode en de andere is Agile.

Watervalmethode

De watervalmethode bestaat al heel lang en is daarom de traditionele benadering van softwareontwikkeling. Het project wordt in verschillende fasen verdeeld en vervolgens achter elkaar voltooid. Het exacte aantal stadia in een Watervalmethode kan variëren van bedrijf tot bedrijf en van project tot project, maar hier is de algemene aanpak:

  • Opzet van het project – Zoals de naam al doet vermoeden, is dit waar het project in kleine stapjes begint. Het is waar het zaad van een idee wordt ontkiemd, en de eerste in de Software Development Life Cycle (SDCL).
  • Initiatie – Het vinden van de juiste mensen om het werk te doen en het uitbreiden van de projectomvang, compleet met doelstellingen, doel en opleverdatum. Analyse – Er wordt een eisenspecificatiedocument en een haalbaarheidsanalyse van het project gemaakt.
  • Ontwerp – Het project neemt een definitieve vorm aan door middel van mockups, wireframes en storyboards. Codering – Na het in de vorige stap gemaakte ontwerp (flowcharts, mockups) begint het team te werken aan de eigenlijke app.
  • Testen – Een kritieke fase waarin alle inspanningen van de vorige fasen worden getest.
  • Productie/implementatie – Zodra alle testfasen zijn afgerond en goedgekeurd, komt het product op de markt.
  • Onderhoud – Het ontwikkelingsteam zal voortdurend upgrades en bugfixes van het product uitvoeren. Er worden ook nieuwe functies toegevoegd om ervoor te zorgen dat het product concurrerend blijft.

Agile

De Agile methode, gebaseerd op het Agile Manifest, is een recentere vorm die door ontwikkelaars wordt gebruikt in hun softwareontwikkelingscyclus. Deze methode richt zich op lean zijn en MVP’s of Minimum Viable Products ontwikkelen in elke iteratie in plaats van alle planning vooraf te doen.

De Agile-methodologie houdt zich aan het Agile-manifest dat in februari 2017 werd opgesteld, en legt grote nadruk op teamwerk, voortdurende iteratie, verbetering, gebruikersfeedback en aanpassingsvermogen aan de eisen van de klant.

In Agile verlopen de verschillende fasen van de projectontwikkeling parallel, terwijl een backlog de toegevoegde functies en verbeteringen bijhoudt. Enkele van de populairste implementaties van Agile zijn Scrum, Kanban, FDD of Feature Driven Development, ASD of Adaptive System Development en XP of Extreme Programming.

Er een kiezen voor uw project

Zowel Waterval- als Agile-projectontwikkelingsmethoden zijn bruikbaar en helpen u producten van hoge kwaliteit te bouwen. Beide zijn flexibel en stabiel en helpen u om georganiseerd een project te plannen.

Je kunt Waterval gebruiken wanneer:

Het is niet waarschijnlijk dat de klant zijn eisen in de loop van het project zal wijzigen. Dit is dus meer geschikt voor eenvoudige projecten met voorspelbare resultaten, & voor klanten die met gedefinieerde eisen komen. De stabiliteit van Waterval en het lineaire en gestructureerde ontwikkelingstraject maakt het gemakkelijker voor projectontwikkelingsteams.

Agile ontwikkeling volgt een meer evolutionaire stijl van ontwikkelen.

Je kunt Agile gebruiken wanneer:

Wanneer de markt voor u een beetje onzeker is, en u moet snel een nieuw product maken, dan is Agile een haalbare oplossing.

Agile is ook een goede oplossing als u zich geen dure fouten kunt veroorloven, en vooral als u niet over veel informatie over het project beschikt. Het zou ook goed zijn als u zich geen strenge eisen kunt veroorloven.

Als u geen wijzigingen wilt aanbrengen, vooral wanneer de eisen steeds veranderen, de kosten wilt beperken, fouten wilt herstellen wanneer ze zich voordoen, en een einde wilt maken aan de onzekerheid tijdens de ontwikkelingscyclus van het project, dan is Agile een goede keuze. Dit zou waarschijnlijk de reden zijn waarom startups zo voorstander zijn van Agile.

Bij Agile ontwikkeling werken testers en ontwikkelaars samen, en aan het eind van elke opzet wordt het product verscheept en aan de klant geleverd. De gewijzigde en bijgewerkte functies zullen
meteen gaan functioneren.

De verschillen in één oogopslag:

Watervalprocessen worden getest nadat het werk is gedaan, fouten zullen moeilijk te corrigeren zijn.

Agile maakt tonnen flexibiliteit mogelijk, en de voortdurend veranderende eisen vereisen geen precisie in het bijhouden van gegevens.

Het is echter belangrijk om voorzichtig te werk te gaan, omdat dergelijke projecten waarschijnlijk zullen stranden. Deze methode is meer geschikt voor zeer ervaren ontwikkelaars en een klant die voldoende in het project heeft geïnvesteerd. Waterval laat geen gewiebel toe, omdat het een duidelijk afgebakend pad volgt met een nauwgezette registratie. De ontwikkelaars kunnen gemakkelijk voorspellen hoe het eindproduct eruit zal zien. Zodra een stap van het project is voltooid, is het niet gemakkelijk om terug te gaan en wijzigingen aan te brengen. Alle elementen van het project zijn op hun plaats, van de omvang van het project tot de tijdlijn en
budget.

Agile beweegt zich in een incrementeel ontwerpproces dat veel ruimte biedt voor verbetering. Het project is namelijk verdeeld in verschillende modellen die uitgebreid worden getest en geëvalueerd.

Het proces van Waterfall’s lineaire aanpak:

  • Verzamelen van documenteisen
  • Maak het ontwerp
  • Code & eenheidstest
  • Systeem testen
  • UAT Gebruikersacceptatietests uitvoeren
  • Problemen oplossen
  • Eindproduct afleveren aan de klant
  • Ideaal voor allerlei projecten

Het proces van de Agile sprint-aanpak

  • Incrementele aanpak van softwareontwerp
  • Product wordt getest in 2-4 weken iteratie
  • De klant krijgt het product te zien en stelt wijzigingen voor.
  • Ideaal voor kleine projecten

Conclusie

Als je zowel Agile als Waterfall doorneemt, is het duidelijk dat als je op zoek bent naar een project met duidelijke doelen en een definitief verloop, Waterfall een goede keuze zou zijn. Neem het Agile pad als u wilt dat uw project evolueert naarmate het vordert. Het kan zelfs uitdraaien op iets meer dan je in de beginfase had gepland.

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


Over de auteur: Reema werkt als Thought Leader bij PHPBabu.

Plaats een reactie