In de competitieve wereld van nu is een korte time-to-market van applicaties cruciaal om je concurrenten voor te zijn. Veel organisaties investeren in agile applicatieontwikkeling vanwege tijds- en geldbesparing. Naast snelle applicatieontwikkeling wil je dat de applicatie ook goed en veilig is; kwaliteit staat voorop. Dit brengt grote uitdagingen met zich mee.
Er moet niet alleen agile gebouwd, maar ook agile getest worden. Door applicaties uitvoerig te testen, zijn bugs in een vroeg stadium te ontdekken en is een hoge kwaliteit te garanderen. Het is niet de vraag óf er bugs in een applicatie zitten, maar wanneer deze ontdekt worden. De enige code die geen bugs bevat, is de code die nog niet is geschreven.
Door risico’s en incidentele bugs snel op te sporen, liggen de kosten van het oplossen lager. Neem het voorbeeld van de Samsung Note 7. Deze smartphone was al in productie toen er een bug werd ontdekt. Omdat dit pas in een laat stadium aan het licht kwam, liep de schade voor Samsung op tot bijna zeventien miljad dollar. In deze blog komen drie zaken aan de orde die voor kwalitatief betere applicaties zorgen, zonder de time-to-market te verlengen.
Fail fast, fail often
De focus ligt dus op het snel detecteren van bugs. Dit concept wordt ook fail fast genoemd. Dit houdt in dat je in het ontwikkelproces de fouten zo snel mogelijk wilt detecteren én herstellen. Hoe langer het duurt voordat een probleem aan de oppervlakte verschijnt, hoe moeilijker het is en hoe langer het duurt om dat probleem op te lossen en hoe hoger de kosten zijn – zie het voorbeeld van Samsung. Dit is ook zichtbaar in de Boehm-curve: de kosten van het herstellen van een fout tijdens de productie zijn exponentieel hoger dan de oplossing van deze fout in de ontwerpfase.
Applicaties goed en efficiënt testen, is een expertise. Aangezien de projectdoelen één voor één in korte tijdsperiodes behaald moeten worden, is er geen tijd om alle testen uit te voeren. Daarom wordt er gefocust op de kenmerken en functies van de softwareapplicatie die meer impact en mogelijk meer defecten hebben. Deze aanpak wordt risk-based-testen genoemd. Hierdoor wordt in de beschikbare tijd de best mogelijke kwaliteit van de software ontwikkeld. Snel bouwen mag immers niet ten koste gaan van de kwaliteit, met een slecht eindresultaat en ontevreden klanten tot gevolg.
Applicaties testen is een specialisme
Het is niet alleen belangrijk om risk-based agile te testen, maar ook om testspecialisten aan te haken. Ontwikkelaars zijn gefocust op het maken van applicaties en richten zich op het eindresultaat en gebruik. Daarom is het belangrijk gebruik te maken van een kwaliteitsmanagementteam en deze meteen bij de ontwikkeling te betrekken. Dit team zorgt voor de beste kwaliteit van de applicatie door transparantie, effectiviteit en het uitvoeren van testen, zowel functioneel als niet-functioneel. Denk aan testen met betrekking tot functionaliteit, beveiliging, prestaties, bruikbaarheid en toegankelijkheid. Op deze manier zijn diverse onvolkomenheden te ontdekken die in de toekomst problemen kunnen opleveren, zoals het lekken van vertrouwelijke informatie, het niet beschikbaar zijn van het systeem of onverwachte foutmeldingen aan de kant van de eindgebruiker. De impact hiervan kan namelijk vele malen erger zijn dan een systeemstoring of een softwarecrash. Bovendien is het essentieel om te controleren of alle functies daadwerkelijk correct werken op verschillende devices, om een perfecte ervaring voor de eindgebruiker te creëren.
Korte time-to-market met agile ontwikkelen en -testen
Er valt niet te ontkennen dat fouten na implementatie een aanzienlijke impact kunnen hebben op applicaties. Kwaliteitsmanagementteams zorgen ervoor dat onnodige kosten en vertraging van de time-to-market voorkomen worden en dat bugs snel ontdekt worden als er gewerkt wordt volgens het fail fast-principe. Agile applicaties bouwen én testen is hierbij cruciaal. Kwaliteitsmanagers zorgen ervoor dat digitale transformatie soepeler verloopt door verschillende soorten testen te gebruiken voor de definitieve release. Foutloze applicaties bestaan niet, maar door agile applicatieontwikkeling en -testen zij aan zij in te zetten, zijn applicaties met een korte time-to-market én met goede kwaliteit te lanceren.
Auteur: Ruud Hochstenbach, business development Benelux, Truewind
Misschien bestaan foutloze applicaties niet maar er zijn applicaties die een zekere mate van ‘volwassenheid’ hebben verkregen doordat de meeste fouten eruit zijn.