Misschien heb je binnen je bedrijf al de nodige besparingen binnen het testproces bereikt. Van ad hoc en ongestructureerd testen heb je de overstap gemaakt naar gestructureerd testen en het gebruik van een testmethode. Om het hele proces nog efficiënter te maken is er ook geïnvesteerd in het verbeteren van het testmanagement proces. Je hebt veel bereikt en toch komt de vraag weer: kunnen we het nog beter doen, kunnen we nog meer besparen?
Na alle verbeteringen met hulpmiddelen vanuit 'testland' is het nu misschien tijd verder te kijken en te leren van anderen. In dit opiniestuk draag ik de Lean methodologie en (Lean) Six Sigma voor als potentiële kandidaten.
Lean methodologie behelst het creëren van een betere workflow en het elimineren van overbodige activiteiten. De Lean methodologie is een methode voor het verbeteren van de processen binnen een organisatie. Van oorsprong komt de methode uit de logistiek en deze is vooral bekend geworden door het succes bij Toyota (Toyota Production System (TPS)). Bij deze methode gaat het om het elimineren van elke activiteit binnen een proces die geen toegevoegde waarde heeft voor de klant.
De basis van Lean ligt bij het elimineren van de zogenaamde 'seven wastes'. Deze kunnen allemaal ook gerelateerd worden aan testen:
• Overproductie ( te veel testgevallen die uiteindelijk niet uitgevoerd kunnen worden door gebrek aan tijd)
• Wachten (op documentatie of een testomgeving)
• Transport (bevindingen die meerdere keren heen en weer gaan tussen testers en ontwikkelaars)
• Verkeerde bewerkingen (het testen van de verkeerde versie van de software)
• Onnodige voorraad (het onderhouden van teveel testgevallen)
• Onnodige/te veel bewegingen (te veel testcycles)
• Bevindingen (te veel bevindingen in productie)
Bij (Lean) Six Sigma gaat het om het verbeteren van processen en het verbeteren van de voorspelbaarheid van de uitkomsten van een proces. Six Sigma is een kwaliteitsmanagement methode dat een raamwerk neerzet om zo de kwaliteit beter te kunnen beheersen. Meten is de basis van Six Sigma: meten is weten! Processen kunnen alleen beheerst worden als precies duidelijk is hoe elk proces verloopt en om dat te weten moet er gemeten worden. Sigma (?) is de standaardafwijking van het gemiddelde; een term uit de statistiek die meet hoeveel een bepaald proces afwijkt van perfectie. Six Sigma is ontwikkeld bij Motorola, maar vooral bekend geworden door General Electric.
(Lean) Six Sigma bestaat uit vier basiselementen; ook deze kunnen aan testen gerelateerd worden:
• De klant is het startpunt (het gebruiken van een product risico analyse om de belangrijkste onderwerpen van de verschillende stakeholders (interne & externe klanten) duidelijk te krijgen)
• Het verbeteren van processen (het gebruiken van TMMi of TPI)
• Teamwork (het verbeteren van de samenwerking tussen testers en ontwikkelaars)
• Data en feiten (het gebruiken van de Goal Question Metric methode voor het verzamelen van metrieken of het Defect Detection Percentage)
Lean Test Management is het beheersen van het testproces om zo de kwaliteit van het testobject te verbeteren binnen de gestelde tijd en budget. Binnen Lean Test Management wordt het beste vanuit de Lean methodologie en (Lean) Six Sigma gecombineerd met testen. Ook al is Lean ontstaan binnen productiebedrijven en is Six Sigma niet specifiek ontwikkeld voor testen, toch kunnen deze principes en de bestaande technieken daarbinnen prima gebruikt worden binnen testprocessen.
Een roadmap
Om de testprocessen te verbeteren kan DMAIC gebruikt worden; een methode die komt vanuit Six Sigma. DMAIC lijkt op de bekende Deming cycle (plan, do, check, act) met meer nadruk op meten en beheersen. DMAIC bestaat uit de volgende fasen:
• Define, overeenstemming bereiken over het (verbeter)project;
• Measure, evalueer het bestaande meetsysteem, observeer het proces, verzamel data en beschrijf het proces in meer detail;
• Analyze, gebruik de verzamelde data om de oorzaak van vertragingen, waste en slechte kwaliteit te achterhalen;
• Improve, het proces verbeteren zodat fouten, waste en kosten, etc. verminderd worden gerelateerd aan de wensen van de klant die vastgelegd zijn in de Define fase;
• Control, zorgen dat de doorgevoerde wijzingen ook nageleefd worden.
Voor elk van deze fasen bestaan verschillende technieken die kunnen helpen bij het inrichten, uitvoeren en verbeteren van het testproces. Voorbeelden zijn:
• Het SIPOC-diagram en de value stream map binnen de Define fase;
• Het Pareto-schema binnen de Measure fase;
• Het visgraat-diagraam binnen de Analyze fase;
• Het pick-schema binnen Improve en
• Control charts binnen de Control fase.
Conclusie
Vanuit ervaring heb je wellicht ook al verschillende verbetermethodes langs zien komen; en waarschijnlijk waren ze ook niet allemaal even succesvol. Waarom zou het dan met Lean Test Management wel lukken. Vanuit zowel de Lean methodologie als vanuit Six Sigma zijn er verschillende technieken voorhanden die ook direct binnen testen gebruikt kunnen worden. Deze technieken concentreren zich allemaal op het verbeteren van binnen uit de organisatie, terwijl veel bestaande test(proces) verbetermethoden bestaan uit een benchmark waartegen je de organisatie kunt afzetten. Ook is de focus van veel van de bestaande technieken vooral op het testproces zelf. Veel meer voordeel kan bereikt worden als het totale proces, waar het testen onderdeel van uitmaakt, bekeken wordt.
Door het toepassen van Lean Test Management,
• wordt het testproces efficiënter. Alle activiteiten die niet direct toegevoegde waarde hebben voor de klant worden geëlimineerd.
• verbetert de kwaliteit van producten door slimmer te werken.
• begint het verbeteren van het testproces van binnen uit de organisatie en de bestaande processen; op deze manier wordt het beste resultaat behaald.
• wordt inzicht verkregen in de processen rondom testen die ook verbeterd moeten worden om uiteindelijk het testproces efficiënter te maken.
Beste Iris,
goed stuk, maar wat ik me nu afvraag, heb je ook praktijkvoorbeelden van testen die nu gedaan worden volgens de Lean methoologie, of moeten deze nog toegepast worden?
Een methode op papier uitschrijven is een ding, het uitvoeren ervan is een geheel andere zaak.
Beste Iris,
Inderdaad een mooi stuk. Ik ben er als aanhanger van de Lean filisofie, van overtuigd dat Lean op alle processen in het leven toepasbaar is. Dus ook de processen waaraan het testen van hard- en software onderhevig is. Toch kan ik maar niet vaak genoeg zeggen “goed beginnen, draagt bij aan goed eindigen”. Ook voor jouw vakgebied is het creeren van draagvlak onder de testers, van cruciaal belang, wil het implementeren van de Lean methodiek kans van slagen hebben. Nieuwsgierig hoe je dit kunt bereiken? Bel me op 06 220208863 en we hebben het erover.
Een mooie samenvatting van Lean (Six Sigma), de Deming cirkel en een aantal concrete technieken om deze binnen de context van testen te gebruiken.
Een aantal praktijkvoorbeelden m.b.t. het elimineren van verspilling maken dit theoretische kader wellicht wat concreter:
Overproductie
Het aantal testgevallen dat wordt voorbereid, wordt afgestemd op de beschikbare netto testtijd (tijd die overblijft als besprekingen, testomgevingsproblemen en impact van blokkerende defects van de beschikbare doorlooptijd voor het testen worden afgetrokken).
Wachten
Tijdige beschikbaarheid van de testomgeving wordt in zeer nauwe samenwerking en afstemming met het daarvoor verantwoordelijke team geborgd.
Het proces van analyseren en oplossen van defects en deployen van de fixes wordt zodanig ingericht dat testblokkerende defects er met de hoogste prioriteit doorheen gaan. Zodat het team zo snel mogelijk door kan met testen (let op! Dit lijkt een open deur / vanzelfsprekendheid, maar is dat in de praktijk allerminst! Het is vaak ook verre van eenvoudig om dit te realiseren)
Onnodige voorraad
Zorg dat defects die zijn opgelost zo snel mogelijk worden hertest. Ik ken situaties waarin hele bergen fixes wekenlang klaar staan om getest te worden (= voorraad). In het ergste geval moet de in productiename van een systeem worden uitgesteld of het risico voor lief worden genomen dat de resultaten van bepaalde fixes nog niet bekend zijn.
Onnodige/te veel bewegingen
Zorg dat defects zo precies mogelijk zijn beschreven. Dit voorkomt het heen en weer stuiteren van de bevinding tussen diverse teams (BO, DO, bouw, technisch team, test). Stem bij twijfel over de duidelijkheid van de defect op het moment van opvoeren van de defect rechtstreeks (face-to-face of telefonisch) met de betreffende persoon (ontwerper of bouwer) af of deze duidelijk genoeg is beschreven.
Bevindingen (te veel bevindingen in productie)
Analyseer incidenten en problems in productie en stel vast of deze in het testproces gevonden hadden moeten worden. Is het antwoord nee, dan is de vraag: was de teststrategie (dekkingsgraad) goed (gezien het risico en de impact)? Is het antwoord ja, dan zijn de vragen: in welke testsoort had deze fout gevonden moeten worden en wat is de oorzaak van het feit dat deze in de test niet gevonden is? Op deze manier worden teststrategie en testaanpak afgestemd op basis van de feedback uit productie.
Hoewel het vanuit theoretische modellen vaak rocket science lijkt, zijn testprocessen vaak te verbeteren door:
– slim na te denken over eliminieren van verspilling
– voor elke activiteit na te denken over de toegevoegde waarde vanuit het perspectief van het bedrijfsproces en de daaraan gerelateerde risico’s
Dank voor alle reacties.
Zoals in het stuk aangegeven werd ik gevraagd om nog een keer naar het testproces te kijken en te zien of er nog besparingen te bereiken waren. Dat heeft mij ertoe gebracht om nog een keer rond te kijken en op die manier kwam ik uit bij Lean en Six Sigma. Naar mijn mening was op dat moment binnen het project waar ik werkte het bevindingenproces een quick win. Hier heb ik toen SIPOC gebruikt: het maken van het schema alleen al gaf toegevoegde waarde. Niet alle partijen waren het eens over het proces dat op dat moment aanwezig was. Op zo’n praktische wijze ben ik begonnen met Lean Test Management. Vanuit dat oogpunt heb ik in het artikel een aantal technieken gebruikt.
Los van de technieken is denk ik één van de belangrijkste zaken uit het artikel het Lean gedachtengoed. Laten we vanaf nu bij elke stap/activiteit die we uitvoeren in het testproces kijken of we niet met waste te maken hebben (dank je wel Pepijn van de Vorst voor de genoemde voorbeelden). Door dit onderdeel van ons testdenken te maken kunnen we ook binnen het testen nog aardig wat winnen aan efficiency.
“Van ad hoc en ongestructureerd testen heb je de overstap gemaakt naar gestructureerd testen en het gebruik van een testmethode. Om het hele proces nog efficiënter te maken is er ook geïnvesteerd in het verbeteren van het testmanagement proces.”
je geeft het goed aan: er moet EERST een volwassenheid in systeemontwikkeling bereikt worden, voor je je kan optimaliseren. Het pad van adhoc naar beheerst en gecontroleerd testproces is een traject van jaren. Het denkbeeld aanhouden dat je ‘even’ lean gaat testen, is een weg van vele valkuilen en waanbeelden. Ofwel: eerst de basis en ervaring opdoen, daarna optimaliseren richting /naar lean/agile testen. Zonder gedegen fundering, zal ook lean testmanagement geen stand kunnen houden.
Iris, je kent mijn standpunt: door lean in ketens toe te passen (bijv het softwareontwikkelproces) haal je veel meer rendement dan wanneer je je uitsluitend richt op het testproces. Dus heel fijn als je 10-30% winst maakt op je testproces, maar als je dezelfde soort verbeteringen had weten te realiseren op het ontwikkelproces dan had je veel meer kosten bespaart.
Aardig verhaal en de moeite waard voor bedrijven die ervaring hebben met testen en nog een verbeterslag willen maken. Niet proberen bij onervaren bedrijven, die worden overspoeld met adviseurs. Begin simpel en klein.
“All models are wrong, some are useful”(George E.P. Box). Waarmee vooral wordt bedoeld dat sommige modellen en methodieken goed te gebruiken zijn in bepaalde (klant)situaties. Het is de kunst de omgeving en cultuur bij de klant zodanig te (her)kennen dat het juiste model of de juiste techniek gekozen en toegepast wordt. In een aantal gevallen zal dat Lean six sigma zijn. Sommige methodieken hebben de lean aanpak al in zich. Wie gestructureerd test, bijvoorbeeld met T-map, gebruikt een methodiek die automatisch overbodige testsituaties elimineert en daardoor tijd- en kostenbesparend werkt. Als het geheel van processen waarvan het testproces deel uitmaakt wordt teruggebracht naar de basis (wat is er minimaal nodig voor een maximaal resultaat) en de omgeving is procesvolwassen (waarbij zij vanzelf de overbodige stappen/activiteiten elimineert en de resterende stappen/activiteiten continu verbetert) dan ben je op de goede weg.