Agile vs V-methodologieën (model)
Er zijn tegenwoordig een aantal verschillende softwareontwikkelingsmethodologieën die in de software-industrie worden gebruikt. V Methodologies (V-Model) is een uitbreiding op de Waterfall-ontwikkelmethode (een van de vroegste methoden). De belangrijkste focus van V-Model is het geven van een gelijk gewicht aan coderen en testen. Agile-model is een recenter model voor softwareontwikkeling dat is geïntroduceerd om de tekortkomingen in bestaande modellen aan te pakken. De belangrijkste focus van Agile is het zo vroeg mogelijk opnemen van testen en het zeer vroeg vrijgeven van een werkende versie van het product door het systeem op te splitsen in zeer kleine en beheersbare subonderdelen.
Wat is V-methodologieën (model)?
V Methodologies (V-Model) is een softwareontwikkelingsmodel. Het wordt beschouwd als een uitbreiding van het typische Waterfall-softwareontwikkelingsmodel. V-Model gebruikt dezelfde relaties tussen de fasen die zijn gedefinieerd in het Waterfall-model. Maar in plaats van lineair af te dalen (zoals het Waterfall-model), stapt het V-Model diagonaal naar beneden en gaat dan weer omhoog (na de coderingsfase), waardoor de vorm van de letter V ontstaat. Deze V-vorm is gevormd om de relatie tussen elke fase van de ontwikkeling/ontwerp en de daarbij behorende testfase. Tijd en abstractieniveau worden respectievelijk weergegeven door de horizontale en verticale as.
Het testen (het stijgende pad, rechterkant van de V) wordt gedaan voor verificatie, terwijl de bijbehorende ontwerpfasen (het dalende pad, linkerkant van de V) worden gebruikt voor validatie. In het V-Model wordt een gelijk gewicht toegekend aan coderen en testen. V-Model raadt aan om naast de ontwerpdocumenten/code een testdocument te maken. Integratietestdocumenten moeten bijvoorbeeld worden geschreven wanneer het ontwerp op hoog niveau wordt gedocumenteerd en eenheidstests moeten worden gedocumenteerd terwijl het gedetailleerde ontwerpplan wordt gemaakt. Dit betekent dat er vooraf een implementatieplan voor elke test moet worden gemaakt, niet wachten tot de ontwikkeling is voltooid, zodat het aan het testteam kan worden overgedragen.
Wat is Agile?
Agile is een zeer recente methode voor softwareontwikkeling, gebaseerd op het agile manifest. Dit is ontwikkeld om een tekortkoming in de traditionele V-Model- en Waterfall-softwareontwikkelingsmethodologieën op te lossen. Agile-methoden zijn gebaseerd op het vroeg in de ontwikkelingscyclus hoge prioriteit geven aan de participatie van de klant. Het raadt aan om het testen door de klant zo vroeg en zo vaak mogelijk op te nemen. Elke keer dat er een stabiele versie beschikbaar komt, wordt er getest. De basis van Agile is gebaseerd op het starten met testen vanaf het begin van het project en doorgaan tot het einde van het project. Kernwaarden van Agile zijn "kwaliteit is de verantwoordelijkheid van het team", wat benadrukt dat de kwaliteit van de software de verantwoordelijkheid is van het hele team (niet alleen het testteam). Een ander belangrijk aspect van Agile is het opsplitsen van de software in kleinere beheersbare delen en deze zeer snel aan de klant te leveren. Het leveren van een werkend product is van het grootste belang. Daarna blijft het team de software verbeteren en continu leveren bij elke belangrijke stap. Dit wordt bereikt door zeer korte releasecycli, sprints genaamd, te hebben en aan het einde van elke cyclus feedback te krijgen voor verbetering. Bijdragers zonder veel interactie van het team, zoals ontwikkelaars en testers in de eerdere methoden, werken nu samen binnen het Agile-model.
Wat is het verschil tussen Agile- en V-methodologieën (model)?
Agile-model levert zeer vroeg een werkende versie van het product in vergelijking met V-Model. Naarmate meer functies stapsgewijs worden geleverd, kan de klant al vroeg profiteren van een aantal voordelen. De testcyclustijd van Agile is relatief kort in vergelijking met V-Model, omdat het testen parallel aan de ontwikkeling gebeurt. Agile is een proactief model (vanwege de zeer korte cycli) in vergelijking met het veel reactievere V-Model. Het V-Model is erg rigide en relatief minder flexibel dan het Agile-model. Vanwege al deze voordelen heeft Agile op dit moment de voorkeur boven het V-model.