Van Quality Assurance naar Quality Assistance

Kwaliteit als core van het ontwikkelproces

Quality Assurance - hoe het vaak ingestoken wordt

Door de introductie van Agile en DevOps wordt de time-to-market steeds korter. Teams willen de release cycles optimaliseren om de klant te laten zien hoe efficiënt het ontwikkelproces verloopt. Een worsteling waar veel bedrijven mee zitten, is de vraag hoe je de kwaliteit waarborgt in dit proces. Vaak wordt er een quality engineer ingezet om de ontwikkelde features, voordat ze naar productie gaan, te testen. Het gevolg hiervan is dat tekortkomingen pas op een laat moment worden geconstateerd en er in het ergste geval - de feature voldoet niet aan de gestelde requirements - veel werk voor niets gedaan is. Wij vinden dat dit anders moet en kan. 

Quality Assistance - hoe wij vinden dat het moet

Kwaliteit moet wat ons betreft bovenaan de agenda staan bij het ontwikkelen van software. Kwaliteit maakt of breekt de naam van jouw organisatie en/of team. We vinden dat kwaliteit in het hele ontwikkelproces moet worden ingebed. De quality engineer zou niet zozeer bezig moeten zijn met het controleren van de kwaliteit achteraf, maar met het scheppen van randvoorwaarden vooraf en gedurende het ontwikkelproces. Dit begint bij het analyseren van de kwaliteit van vooropgestelde requirements en eindigt bij het end-to-end testen. Meer over onze deze ontwikkeling binnen het testvlak lees je in onze blog.

Hoe kunnen wij jou helpen kwaliteit tot core van jouw ontwikkelproces te maken?

Om Quality Assistance optimaal te kunnen inzetten, is het belangrijk dat de drie-eenheid Mindset, Skillset en Toolset op hetzelfde niveau is. Om dit te bereiken doorlopen we 4 stappen:

steps

Stap 1 - Requirements analyseren & Metrics bepalen

Om te bepalen wat het gewenste niveau is qua Mindset, Skillset en Toolset, gaan we met behulp van een serious game, gebaseerd op het GQM-model, met de stakeholders (development, Operations, Quality Assistance en business) helder krijgen wat het doel is op het gebied van kwaliteit: naar welk niveau willen jullie toegroeien? Dit is afhankelijk van verschillende factoren, waaronder het type software dat je oplevert, de omvang van de projecten, bedrijfskritische software of niet, en het beschikbare budget. 

Als de requirements op het gebied van kwaliteit bekend zijn, helpen we met het opstellen van metrics om de kwaliteit te meten. Dit is belangrijk om in een later stadium verbeteringen te kunnen toepassen. Bij deze metrics kun je denken aan:

  • Hoe vaak zijn requirements aangepast gedurende sprints
  • Hoeveel bevindingen zijn er in een sprint bevonden / opgelost / heropend
  • Wat is de kwaliteitsbeleving van de business / klant

Stap 2 - Processen optimaliseren

We hebben met elkaar bepaald waar we naartoe willen en op welke punten we de kwaliteit gaan monitoren. De kans is groot dat de bestaande processen niet voldoen om de gewenste kwaliteit te bereiken. Samen analyseren we de huidige processen en mappen deze op best-practices, om zo voor jouw organisatie tot optimale processen te komen. Eén van de processen waar je aan kunt denken is het requirements analyse proces. Naast een product owner en developers is het belangrijk dat een quality engineer betrokken is bij het opstellen van requirements, zodat de testgevallen goed gemapt kunnen worden tegen de requirements.

Stap 3 - Tool keuze en implementatie

Het is belangrijk dat de toolset die je kiest om jouw kwaliteitsprocessen ondersteunen, aansluit op de gedefinieerde processen. Niet alle tools zijn in staat Agile testing en behaviour driven development (BDD) juist te ondersteunen. Niet voor niets stelt 'State of Testing’: "Getting good tools is one of the key challenges for the upcoming years."

De toolset die je kiest is afhankelijk van de opgestelde requirements en de diepte die je in wil gaan op het gebied van Quality Assistance. Is tooling op het gebied van testmanagement voldoende? Of is het geautomatiseerd testen (functioneel, performance, security) ook een vereiste? De requirements zetten we af tegen een kosten-baten-analyse en samen met jou stellen we vast wat voor jouw situatie de ideale toolset is. 

Stap 4 - Trainen stakeholders

Mindset - toolset - skillset. De eerste twee van deze pijlers hebben we nu op het niveau waar we met elkaar naar toe willen. Nu is het zaak de skillset van de stakeholders op het gewenste niveau te brengen. Het mag duidelijk zijn dat het noodzakelijk is dat quality engineers voldoende kennis in huis hebben om de geïmplementeerde tooling juist in te zetten. Waar vaak aan voorbij gegaan wordt, is dat het volledige agile team getraind moet worden in het herkennen en erkennen van risico’s op het gebied van kwaliteit en het tijdig inschakelen van quality engineers. 

mindset-toolset-skillset

Mindset - Toolset - Skillset = Kwaliteit

Het succesvol doorlopen van de bovenstaande stappen zal er voor zorgen dat de kwaliteit van de ontwikkelde software verbetert. De mindset van alle stakeholders is gericht op het leveren van kwaliteit, hierbij zijn processen gedefinieerd die passen bij jouw organisatie. De tooling ondersteunt deze processen en is ingericht zodat quality engineers het ontwikkelproces optimaal kunnen ondersteunen. Tot slot is iedereen getraind om kwaliteit te herkennen, erkennen en verbeteren.

Wat zijn jouw uitdagingen op het gebied van kwaliteit?

Elke organisatie kent zijn eigen uitdagingen. We gaan graag met je in gesprek om te kijken hoe we samen met jou Quality Assistance kunnen introduceren / optimaliseren binnen jouw organisatie. Vul het onderstaande contactformulier in. Wij nemen binnen een dag contact met je op om jouw uitdagingen te bespreken.

Wil je meer informatie?

Laat je gegevens achter en wij nemen contact met je op

We bieden ook ondersteuning op het gebied van Agile, Atlassian en DevOps!