Share the post "Agile / scrum vs waterval wat zijn de verschillen voor de tester"
Wat is het verschil tussen Waterval en Agile/scrum
Testen binnen waterval (V-model)
In de linkerkant van het V-model staan de fasen waarin het systeem wordt gebouwd/verbouwd van requirement t/m coding. Aan de rechterkant van het model staan de verschillende testsoorten. deze testsoorten worden niet allemaal uitgevoerd door de tester, hier zitten ook testen tussen die door bijv de ontwikkelaar (unit testing) of klant/accepterende partij (User acceptance testing) worden uitgevoerd.Het idee van het V-model is om voor elke fase in ontwikkeling een bijpassende testmethode te hebben. de verkregen informatie in de ontwikkelfase is dan ook de input voor het opstellen van testgevallen.
Wat zijn de voordelen en nadelen van waterval (V-model)
Voordelen van waterval (V-model)
- Elke fase van integratie wordt getest, dus er wordt op alle verschillende niveaus getest.
- Eventuele fouten die zich voordoen in een bepaalde fase worden ook in die fase opgelost.
- De nadruk ligt op de proces doorstroming wat het goed mogelijk maakt een kwalitatief goed product te maken.
Nadelen van waterval (V-model)
- Waterval gaat er vanuit dat tijdens de bouw de requirments niet veranderen, iets wat in de praktijk regelmatig wel voor komt.
- Het ontwerp wordt niet tussentijds geverifieerd.
- De vereisten worden niet geverifieerd.
- Het testen van een fase wordt pas gedaan als deze fase ook echt klaar is. dit zorgt ervoor dat fouten soms ‘laat’ gevonden worden. Bij agile/scrum projecten vindt het testen al plaats tijdens het ontwikkelen hierdoor kom je potentiele problemen eerder tegen. Hoe eerder je fouten in je proces kunt herstellen des te goedkoper het is.
Wat is de Agile/scrum methode
Agile/scrum is ontwikkeld als antwoord op de negatieve eigenschappen van de waterval methodiek. Binnen waterval is 1 van de grootste problemen dat requirements vaak veranderen, dit is iets waar de waterval methode niet goed mee om kan gaan. Binnen agile/scrum wordt hier wel erg goed mee om gegaan.Het gehele team is verantwoordelijk voor de kwaliteit van het op te leveren product. Er wordt strak samen gewerkt tussen de verschillende disciplines. Het is niet zo dat de tester als enige testen uitvoert/opstelt dit kan ook door andere teamleden opgepakt worden. Eveneens kan de tester ook bezig gaan met analyse, ontwikkelwerk of documentatie. Binnen de waterval methodiek zie je vaak dat de testers alleen verantwoordelijk voor worden gehouden voor de kwaliteit van het op te leveren product.
Om deze methodiek goed toe te kunnen passen moeten bedrijven hun manier van denken ten opzichte van ‘levering naar een klant’ en ‘werken met lose ontwikkel, analyse en test teams’ veranderen. Als dit niet gebeurd is het eigenlijk onmogelijk om een goed agile/scrum project uit te voeren.Er zijn vele variaties op agile/scrum, ieder bedrijf past dit op een manier toe die voor hun het beste werkt. De hierboven genoemde informatie is de basis en deze zal in grote lijnen binnen alle varianten hetzelfde werken.
Testen binnen Agile/scrum
Enkele uitdagingen die je als tester binnen een agile/scrum team kunt verwachten zijn:
- Als tester heb je niet de beschikking over een document waar alle requirements (bijvoorbeeld een functioneel ontwerp (FO)) staan. Wel heb je beschikking over kleinere documentatie in de vorm van Story’s hierin zijn de requirements vaak veel minder ver gespecificeerd als in een Functioneel Ontwerp.
- Doordat je zo snel mogelijk start met testen test je vaak op code die nog niet af is, dus er kan niet vanuit gegaan worden dat de hele aanpassing in 1 keer goed werkt.
- Er zullen meer release momenten zijn hierdoor wordt de regressietest van veel groter belang.
Wat zijn de voordelen en nadelen van agile/scrum
Voordelen:
- Verkort de test cyclus binnen een project doordat testen plaats vindt parallel aan de ontwikkel activiteiten.
- Doordat testen parallel loopt aan de ontwikkeling van het product, zorgt dit ervoor dat er eerder bij kan worden gestuurd indien zich kwaliteitsproblemen voordoen.
- Doordat stukjes die klaar zijn opgeleverd worden aan de product owner (vaak de klant), kan er nog bijgestuurd worden mochten de requirements van de klant veranderen.
Nadelen:
- De requirements zijn laat in het proces duidelijk en over het algemeen in minder details beschreven dit kan doordat er veel communicatie onderling is. dit is met name een nadeel als er een nieuw iemand binnen het team komt te werken omdat hij niet bij alle communicatie aanwezig is geweest. Tevens kan het in minder details beschrijven van de requirements ook negatieve gevolgen hebben wanneer de teamwork of communicatie niet goed is. In dit geval zullen er sneller misverstanden ontstaan.
- Doordat requirements veranderen wanneer het project al in ontwikkeling is kan dit er voor zorgen dat de scope niet duidelijk is en deze continue verschoven wordt. Dit kan lijden tot projecten die nooit klaar zijn. Tevens wordt een project veel minder voorspelbaar doordat er nog veel kan veranderen. Dit maakt het moeilijk om een goede business case op te stellen en maakt het eigenlijk onmogelijk een vaste prijs afspraak te maken.