Let’s talk about continuous improvement…

December 1, 2020
Frank Paymans en Youri Thielen.
Frank Paymans en Youri Thielen.

Testersuite is continu in beweging. Iedere twee weken komt er een nieuwe release beschikbaar. Dit vergt een intrinsieke motivatie binnen het development-team om continu te willen verbeteren; continuous improvement! In deze bijzondere editie van Let’s Talk About Test geven Frank (product-owner) en Youri (lead-developer) een kijkje in de keuken van het development-team van Testersuite. Let’s talk about continuous improvement!

Het principe van continuous improvement lijkt me best lastig. Hoe faciliteer je dat binnen je team?

Frank: Het gaat om het algemene uitgangspunt en de wil om jezelf en het team continu te verbeteren. Dat begint met de cultuur binnen het team en het uitdragen en bewaken daarvan. Bijvoorbeeld fouten maken mag. Dit wordt niet afgestraft maar je moet er wel van leren. Als eindverantwoordelijke begint dat bij mij. Ik moet staan voor een klimaat van vertrouwen en respect naar elkaar.

Dit zorgt dat je ook kritisch kan zijn met elkaar op wat je doet. Als teamlid moet je daar wel open voor staan. Als mensen daar niet tegen kunnen wordt het lastig de cultuur te bewaken. Ik ben best kritisch en dat accepteert men. Omgekeerd worden teamleden ook kritisch en dat werkt goed.

Verder is een goede balans tussen de korte en lange termijn belangrijk. Te veel van het één gaat ten koste van het andere en andersom. Als je alleen op verbetering op de korte termijn focust, vergeet je te investeren om levensvatbaar te blijven. Het is een kwestie van balans vinden in het spanningsveld tussen commercie, de product-owner en de developers. Soms moet inderdaad iets ‘even snel’. Echter, development moet niet het gevoel hebben dat wanneer commercie iets snel wil dat er maar geleverd wordt.

Frank: “Het gaat om de padvindersmentaliteit…”

Youri: Het begint met de juiste mensen. Sommige mensen zoeken van nature naar verbetering en andere houden zich vast aan hoe het altijd gedaan is. Het is echt een mentaliteit, als het je niet interesseert dan wordt het moeilijk.

Binnen ons development-team hebben we een boekenclub waarin we boeken bespreken over werkwijzen en methodes. Hieruit halen we weer verbeteringen die we kunnen vertalen naar de werkwijze van ons team. Ons huidige team heeft die mentaliteit. Daar wordt ook op geselecteerd. Het moet van twee kanten komen. Het bedrijf faciliteert je maar je moet zelf ook willen. Continuous improvement is geen methodiek die je implementeert. Je kiest ervoor omdat je continu jezelf wilt verbeteren.

Als je het als systeem wilt neerzetten is PDCA (Plan, Do, Check, Act) daar het idee achter. We passen de scrum-methodiek toe en doen aan retrospective. Hoe is het gegaan en hoe kan het beter. Dit doen we iedere twee weken. Maar dat kan alleen met mensen met de juiste mindset.

Youri: “Het is continuous alles…”

Waarom is continuous improvement eigenlijk nodig? Kan het niet in één keer goed?

Frank: Nee, dat kan niet. Je acteert in een wereld en omgeving die constant verandert. Zaken die nu goed zijn, zijn over een maand niet meer goed genoeg. Je moet kritisch naar je zelf zijn en blijven. Even dat moment pakken en uit de operatie stappen. Zoals Youri al zei, kijken naar wat gaat goed en wat kan beter.

Je probeert het wel in één keer goed te doen. Zeker als je in het spanningsveld zit van het ‘moet even’ gedaan worden. Als je het daarna maar weer recht trekt en de balans in de gaten houdt. Daar ben je continu mee bezig. Het voelt ook als steeds weer een treetje hoger komen. Nog beter kunnen worden. Neem bijvoorbeeld het elftal van Barcelona van een aantal jaren geleden. Je ziet ze spelen en denkt beter dan dit kan niet. Echter, de volgende wedstrijd blijkt dat ze toch weer een stap beter zijn gaan spelen. Ze blijven zoeken naar verbetering want de concurrent kijkt mee en leert snel. Stilstand is achteruitgang. Als het om software-ontwikkeling gaat hebben veel mensen daar geen beeld bij. Die snappen niet waarom het alleen maar méér werk wordt.

Als je aan de kwaliteit blijft werken in technisch opzicht, kan je ook heel snel bouwen aan verbeteringen. Dat betekent dat het fundament goed doordacht moet zijn. Om dat goed te krijgen en goed te houden ben je kritisch op je keuzes in architectuur en techniek.  Dit reviewen we iedere keer in onze retrospective-sessies.

Youri: Zoals Frank al aangeeft kan niet alles in één keer goed. Het is een continu proces. Denken dat alles goed gaat in één keer betekent stilstand en dus achteruitgang. Met het gevaar dat je achter gaat lopen op de concurrentie, de continuïteit niet meer kan borgen en ontevreden gebruikers krijgt. De mensen binnen het Testersuite team moeten op verschillende niveaus meedenken hoe dingen beter kunnen. Dat geldt niet alleen voor het development-team maar ook voor bijvoorbeeld marketing en verkoop.

Heeft de Testersuite-fan ook een rol binnen het principe van continuous improvement?

Frank: Het is maar net hoe breed je het trekt. Hoe we zaken technisch oplossen merkt de Testersuite-fan als het goed is niks van. Maar als we het technisch niet goed opzetten kan dat zeker negatieve gevolgen hebben voor de Testersuite-gebruikers. Denk aan een vergrote kans op regressie problemen bij het doorvoeren van wijzigingen. Of aan een verslechtering van de performance van de applicatie. Of erger nog, securityproblemen.

Als we het niet goed doen gaat de Testersuite-fan het in negatieve zin merken. We houden dat continu in de gaten. Ook krijgen we input van onze gebruikers waarmee we aan de slag gaan. We vragen daar proactief naar via support, update Webinars en klantendagen.

"Een idee kan soms best goed zijn maar pas in later stadium interessant worden."

Continu reviewen binnen het team is dus belangrijk?

Youri: Ja, zeker. Wanneer je aan het bouwen bent raak je de helikopterview soms kwijt. Daar zijn de retrospecitves dan voor. Als lead-developer denk ik ook veel na over de grote lijnen. We moeten niet alle kanten uitschieten. Dat kan wel eens lastig zijn als een ontwikkelaar een idee heeft wat niet helemaal past binnen de visie en de richting die we uit willen. Daar is timing ook belangrijk bij. Een idee kan soms best goed zijn maar pas in later stadium interessant worden.

Code-reviews doen we ook. Het vierogen principe of ook wel ‘peer reviews’ genoemd. Voldoet de code aan de kwaliteitseisen die we stellen en aan de architectuur. Daarnaast wil je ook voorkomen dat je veel ‘technical debt’ opbouwt.

Frank: Ik onderschrijf wat Youri zegt. We hebben echt nog wel onderdelen die in het verleden zijn gebouwd en niet meer helemaal voldoen aan de maatstaven die we nu hanteren. Het kost natuurlijk tijd om die onderdelen om te bouwen en de gebruiker zal daar functioneel geen voordeel van hebben. Maar toch doen we dat en besteden we veel tijd aan het afbouwen van deze ‘technische schuld’. Ik noem het de padvindersmentaliteit, daar waar je geweest bent netjes achterlaten. Ruim de technical debt op.

Maar ook bij het bouwen van nieuwe functionaliteiten willen we zo min mogelijk technische-schuld opbouwen. Het lijkt soms aantrekkelijk om voor de snelle oplossing te gaan maar op de lange termijn schiet je jezelf in de voet omdat de kwaliteit minder wordt.

Gaat daar niet veel tijd inzitten?

Youri: Dat valt op zich mee. We proberen dit kort te houden door maximaal 15 minuten te checken. Je biedt iets aan voor review waar maximaal 2 dagen werk in zit. Dat houdt in dat je door jou geschreven code in brokjes oplevert.

Code-review kost altijd tijd maar je moet ook kijken naar wat het oplevert. Per saldo levert het meer op namelijk. Daarnaast doen we ook unittests, GAT-tests en FAT-tests om bugs te vinden. Maar het leren van elkaar is misschien wel de belangrijkste reden dat we dit doen. Iedereen reviewt elkaar. Een junior kan ook de code van een senior reviewen. Daar leer je van. Al met al kost het me twee uur in de week.

Het development-team van Testersuite is dit jaar verdubbeld. Wat betekent dat voor je continuous improvement filosofie?

Frank: Je hebt te maken met een andere dynamiek en dat is even wennen. Dat moet je niet onderschatten. Je gaat meer werkafspraken formaliseren en vastleggen. Hier en daar piept en kraakt het wel even. Het kost tijd en energie om de nieuwe balans te vinden. Dit is uiteindelijk goed gelukt. Vooral ook omdat we aan onze cultuur vasthouden. Dus sta open voor kritiek, heb respect voor elkaar en afspraak is afspraak.

Youri: Met de retrospective hebben we wel even gezocht naar een soort van werkwijze en cadans met zijn allen. Iedere keer als er een nieuw iemand bij komt dan verandert de dynamiek volledig. Dat geldt ook wanneer iemand weggaat. Een mutatie in je team betekent dat je een compleet nieuw team hebt. Het team is recent weer uitgebreid dus dat betekent dat je als team je even opnieuw moet uitvinden. Het karakter van de persoon speelt hierin ook een rol. Wat zijn iemands karaktertrekken en welke kennis brengt hij/zij mee.

Het is al eerder gezegd dat constante verbetering een kwestie van mentaliteit is, zeker voor een klein bedrijf.  Daar wordt meer op alle niveaus nagedacht. Bij een grote organisatie kan je soms jezelf even verstoppen. Dat kan bij Testersuite niet, we hebben veel met Frank als business-owner te maken.

Mensen die hier nieuw zijn schrikken soms van het hoge niveau en dat je continu in de spotlights staat. We hebben nog niet voor alles procedures en richtlijnen dus je moet zelf aan de bak. Behoefte aan structuur ontstaat als je groeit. Daar past continuous improvement heel goed in.

En nu werkt iedereen ineens vanuit huis. Is dat slecht voor continuous improvement?

Frank: Gedeelde smart is halve smart zullen we maar zeggen. Deels waren we al gewend om thuis te werken dus het was niet helemaal nieuw. We hebben wel wat zaken strakker moeten trekken. Het is belangrijker geworden om de tools die we gebruiken nog beter in te zetten. Dat ondersteunt je ook. Je wilt niet iedere keer via Teams elkaar bellen over kleine dingen. Alhoewel Teams ook wel weer een aantal dingen efficiënter maakt. Het delen van je scherm in Teams is zelfs een verbetering.

De chemie van het persoonlijk contact is wel minder natuurlijk. Alhoewel de vrijmibo beter gaat nu we online de week afsluiten. Iedereen is er nu wel bij! Op kantoor lukte dat nooit. Daarnaast adviseer ik ook iedereen om af en toe een rondje te gaan lopen. Dat houdt je hoofd fris. Dat past ook in onze cultuur van vertrouwen.

Youri: Het gaat ook om je mindset. Dit staat los van je werklocatie. Er zijn geen barrières meer in dat opzicht. Op kantoor kan je alleen sneller schakelen bij de koffieautomaat en het sociale aspect is op kantoor wat groter. De Teams-calls zijn soms wat zakelijker, maar in principe kan je overal software bouwen. Er zijn genoeg remote-only bedrijven. Dit vergt wel de juiste mensen, mentaliteit en werkstructuur. Er zijn softwarebedrijven die nooit anders gewerkt hebben.

"We gaan werken volgens het API-first principe"

Wat voor technische verbeteringen mogen we in de Testersuite-applicatie verwachten de komende tijd?

Youri: Technisch komt er een enorme uitbreiding van de API, daar gaan we echt op doorbouwen. We gaan werken volgens het API-first principe. De huidige API kwam pas nadat TS gebouwd was. Nu gaan we het omdraaien en alles bouwen op de API. Dat is een heftige verbetering. Dit maakt dat het koppelen aan tal van andere tools straks meer regel dan uitzondering wordt. Het is wel iets voor de lange termijn.

De mogelijkheid om in Testersuite met meerdere Testersuite omgevingen te werken komt er ook aan voor volgend jaar. Dit heeft een technisch grote impact gehad omdat je meerdere databases per klant gaat aanbieden.

Welke ‘milestones’ heeft het development-team van Testersuite tot op heden bereikt met continuous improvement?

Frank: De Implementatie van het information security management system (ISMS) volgens ISO 27001/NEN7510 en de uiteindelijke certificeringen zijn een milestone. Dit hebben we uiteraard met het hele Testersuite-team bereikt. Daarnaast hebben we nu een goed op elkaar ingespeeld ontwikkelteam wat elkaar scherp houdt en elkaar goed kan vervangen door spreiding van kennis. We leggen ook vast wie welke kennisgebieden heeft. Je kunt daardoor zaken bij een collega neerleggen die minder kennis van een deelgebied heeft en deze helpen. Daardoor spreid je kennis en zorg je voor continuïteit.

De ingevoerde boekbespreking vind ik fantastisch. De een was dat niet gewend en de ander wel. Daardoor neemt kennis toe want je moet toch weten in de volgende boekbespreking waar het over gaat. Zo hou je elkaar scherp. Dat we met het ontwikkelteam een hele goede cadans te pakken hebben met de tweewekelijkse update-cyclus, de standaard geautomatiseerde unit-tests, de code-reviews en retrospective-meetings zijn ook mooie verbeteringen.

Youri: Ik sluit me daarbij aan. En dat we in staat zijn iedere twee weken op een stabiele wijze nieuwe functionaliteit te kunnen opleveren voor onze Testersuite-fans.

Wat zijn op dit moment de grootste uitdaging van het development-team van Testersuite?

Frank: Voor mij is dat het onderlinge contact. Het face-to-face contact waardoor je elkaar wat anders leert kennen. We zijn goed bezig en staan er goed voor. Natuurlijk zijn er uitdagingen. De spirit is ‘up’ maar hoe hou je dit goed? Maar dat geldt voor iedereen op dit moment in deze rare tijden.

Youri: Het samensmeden van het team is volop in gang. Daarnaast kijken we naar schaalbaarheid en performance. Er komen steeds meer klanten bij wat betekent dat we daar hard aan werken.  Daarnaast werken we hard aan het uitbreiden van onze geautomatiseerde technische testen.

"Het is een mooie reis!"

Is er nog iets wat je kwijt wilt?

Frank: Ik vind het gaaf dat we met elkaar continu de uitdaging aan gaan om ons zelf te verbeteren. Dat zie ik in het hele bedrijf terug. Het is een mooie reis!

Youri: Het is continuous alles. Zo zie ik het. Of het nu gaat om continuous integration, delivery of deployment. Het is een totaalpakket en dat moet je zien na te leven.

Let’s talk?

Heb jij ook interessante ervaringen in het testvak die je wilt delen? Let’s talk!

Meer nieuws?

Meld je hier aan voor het laatste Testersuite-nieuws.


Wil jij ook beter en slimmer testen?

Ontdek onze gebruiksvriendelijke cloud producten

Testersuite maakt gebruik van cookies. Geef aan welke cookies je accepteert. Bekijk onze Privacyverklaring voor meer informatie.