Het testproces continu verbeteren met Lean Six Sigma
Dat verhoogt de voorspelbaarheid van de kwaliteit
Vanuit mijn rol als testmanager heb ik de afgelopen jaren veel test verbetertrajecten gecoördineerd. Hierbij gebruikten we vaak de geijkte traditionele verbetermethoden. Maar de laatste jaren zijn we naast deze methoden ook Lean Six Sigma gaan toepassen.
We richten ons bij het verbeteren van het testproces niet meer alleen op methoden als Test Maturity Model (TMM) en Test Process Improvement (TPI), maar ook op Lean Six Sigma. Hierdoor konden we de zwakkere punten in het proces optimaliseren. In deze blog wil ik mijn ervaring hiermee delen.
De methode Lean Six Sigma
Lean Six Sigma is een verbetermethode waarbij de focus ligt op het systematisch elimineren van variaties en verspillingen in een proces. Dit moet uiteindelijk resulteren in het verbeteren van de prestaties en het verhogen van de voorspelbaarheid van de resultaten van het proces. De methode combineert de best practices van Lean en Six Sigma.
De laatste jaren wordt Lean vaak toegepast in de IT-wereld en maakt het onderdeel uit van de Agile-familie. Maar Six Sigma wordt vaak onterecht overgeslagen, terwijl de twee methoden elkaar versterken. Lean Six Sigma is als verbetermethode prima toepasbaar op IT-processen in het algemeen en testprocessen in het bijzonder.
Verspillingen elimineren
In een proces kunnen drie type activiteiten worden onderkend:
1.Activiteiten die direct waarde toevoegen aan het proces waar ze onderdeel van uitmaken. Dit is volgens Lean ongeveer 5 procent van het totaal aan activiteiten.
2.Activiteiten die geen waarde toevoegen aan het proces.
3.Activiteiten die geen waarde toevoegen aan het proces, maar wel essentieel zijn. Dit is een variant op de tweede categorie. Het gaat hier om activiteiten die moeten worden uitgevoerd om te voldoen aan de standaarden, richtlijnen of wetgeving. Denk bijvoorbeeld aan het vastleggen van bewijslast rondom uitgevoerde testen of traceerbaarheid tussen requirements en testgevallen.
Traditionele verbetermethoden focussen zich op het optimaliseren van de activiteiten die waarde toevoegen. Lean Six Sigma focust zich juist op het elimineren van de activiteiten die geen waarde toevoegen... de verspillingen.
Verspillingen in het testproces
Als we het heel zwart-wit bekijken is de primaire meerwaarde van testen het vroegtijdig detecteren van fouten en het mitigeren van productrisico's. De overige testactiviteiten kunnen vanuit dat perspectief als niet waarde toevoegend worden beschouwd en in categorie 2 en 3 worden geplaatst.
Door deze benadering heb ik veel verspillingen in testprocessen kunnen elimineren. Denk hierbij aan arbeidsintensieve activiteiten zoals het inrichten van testomgevingen, het uitschrijven van testgevallen, omvangrijke testdocumenten waarbij het 'copy and paste'-gehalte hoog is en het uitvoeren van tests die nauwelijks toegevoegde waarde leveren.
Variaties minimaliseren
Lean Six sigma heeft ook als doel om variaties in processen te minimaliseren. Dit om te komen tot een proces, waarbij de resultaten (de producten) zoveel mogelijk identiek zijn en voldoen aan de gestelde kwaliteitscriteria. Het proces wordt daarmee ook voorspelbaar.
Voorspelbaarheid van kwaliteit
Als we er weer van uitgaan dat het testproces meerwaarde levert door fouten zo vroeg mogelijk te detecteren, dan moet het doel zijn om variaties in het procentueel aantal gevonden fouten te minimaliseren.
Als je als testteam in staat bent om te voorspellen hoeveel procent van de fouten minimaal gevonden gaan worden, dan lever je in mijn ogen een grote meerwaarde aan de business. De business kan in dat geval ook aangeven of dit percentage acceptabel is ... of beter gezegd of het accepteert dat een bepaald percentage niet gevonden wordt. Hiermee kun je als testteam dus een kwaliteitsgarantie gaan afgeven.
Nog meer meerwaarde kun je volgens mij aan de business leveren als je op voorhand een keuzemenu rondom kwaliteit kunt voorschotelen. De business kan dan zelf een keuze maken welk minimale kwaliteitsniveau ze willen. Hiervoor zal naast de bevindingen ook de inspanning rondom testen moeten worden bijgehouden.
Meten om te kunnen verbeteren
In Lean Six sigma staat meten centraal. Zonder meten, kun je niet voorspellen en ook niet verbeteren. Om te voorspellen hoeveel fouten gevonden gaan worden, moeten metrieken worden bijgehouden rondom fouten. Het gaat hierbij om het aantal fouten dat binnen het proces door een team gedetecteerd wordt in relatie tot het totaal aantal fouten. Dit totaal aantal fouten bevat ook de fouten die niet door het team zijn gevonden. In de wereld van softwaretesten bestaat hier een veelgebruikte metriek voor, genaamd Defect Detection Percentage (DDP). DDP geeft aan hoeveel procent van de fouten gedetecteerd zijn tot aan een bepaalde fase.
Een voorbeeld: Tijdens de systeemtest worden 50 ernstige software fouten gevonden. Vervolgens worden 25 ernstige softwarefouten tijdens de gebruikers acceptatie-test gevonden. Daarnaast zijn er 5 unieke incidenten in productie geweest, die gerelateerd zijn aan de release van de betreffende software.
In totaal zijn dus 80 ernstige fouten gevonden, die gerelateerd zijn aan de software. De DDP van de systeemtest is in dit geval 50 : 80 = 62,5 procent.
Als je in dit geval de DDP van de systeemtest vergelijkt met de DDP van andere systeemtesten, dan kan de variatie worden bepaald. Bij een test verbetertraject volgens Lean Six Sigma ligt de focus op het minimaliseren van deze variatie (en natuurlijk het verhogen van de DDP).
Krachtige methode
Al met al is volgens mij Lean Six Sigma heel goed te gebruiken bij test verbetertrajecten. De methode is krachtig, doordat op een relatief snelle manier inzicht verkregen worden en verbeteringen kunnen worden doorgevoerd. Het continu meten van DDP is daarbij essentieel om het proces continu te kunnen verbeteren.




Reply With Quote