Software: willen we kwaliteit, kwantiteit of continuïteit? De les van het hardlopen.

My-Goal

Regelmatig loop ik als een dolende rond tussen twee belevingswerelden. Aan de ene kant Agile teams die met ‘continuous everything’ een hoge ambitie hebben om flexibel en goed software te leveren. Aan de andere kant complexe organisatiestructuren die worstelen met hun applicatieportfolio en (jaar)budgetten. Er tussenin dolen product owners, projectmanagers en soortgelijke kompanen samen met mij rond; driftig op zoek naar resultaatafspraken en mijlpaalplanningen. We willen garanties dat het budget iets goeds oplevert en bij voorkeur steeds meer, beter en sneller. Het einddoel weten we vaak, maar is de weg ernaar toe ook bekend? Als hardloper leerde ik: geen resultaat zonder training. Ik werd verrast door lessen uit de sportpsychologie.

Zeven jaar geleden begon ik voorzichtig met hardlopen. Een paar minuten op en dan weer heel wat minuutjes af. Ik merkte dat het lijf er niet beter op was geworden na twee sportloze decennia. Tussenliggende pogingen waren al snel gestrand omdat de ervaren pijntjes een veel groter gewicht in de schaal legden dan mijn ambities.

Maar deze keer was er een cruciaal verschil. Een welhaast Confuciaanse wijsheid zette me op het juiste pad:

je belangrijkste training is de volgende training. Mijn enige doel was iedere week een keertje joggen. Geen gedoe over afstanden, snelle tijden of andere prestatiegerichte druk. Wel ging ik uit interesse en blessurepreventie wat lezen over hardloopschema’s. Ik keek naar de opbouw, maar volgde ze nooit letterlijk. Tijdens het lopen luisterde ik naar m’n lijf en langzaam begon ik te wennen aan de impact van het hardlopen.

Deze keer lukte het om vol te houden en zo kwam ik wel eens terecht in een recreantenwedstrijdje. De prestatiemomentjes slopen erin en de trainingsfrequentie werd geleidelijk opgehoogd naar een gemiddelde van 2x per week.

Toen kwam 2021. Na diverse ‘succesjes’ in mijn persoonlijke hardloopbubbel durfde ik me geen scherpere tijden meer voor te houden, zonder de realiteit van de voortschrijdende ouderdom uit het oog te verliezen. Maar ik wilde wel verder met hardlopen, omdat het in Corona-tijd een extra uitlaatklep is gebleken, die niemand je afneemt. Een nieuw soort doel kwam in beeld: maak dit jaar een totaal van 1000 hardloopkilometers. Met een frequentie van 3 trainingen per week zou dat een haalbaar richtpunt zijn.

Ik ontdekte dat mijn keuze voor het ophogen van de trainingsfrequentie in de sportpsychologie een ‘Procesdoel’ wordt genoemd. Het gaat over de kleine stapjes die je telkens zet, over het hoe van de trainingen. Het helpt bij je ontwikkeling als hardloper. Het continue proces van de herhaling in de trainingen, kilometer voor kilometer gaat sowieso wat met je doen.

Daarnaast is er het ‘Prestatiedoel’. De prestaties zijn jouw eigen motivaties tijdens de trainingen die helpen om te blijven ontwikkelen en groeien. Enkele voorbeelden zijn het verhogen van je trainingssnelheid, een stabiel tempo lopen of het vergroten van de afstand. Of je richt je op een totaal aantal trainingskilometers in een kalenderjaar.

Tenslotte is er ook het ‘Resultaatdoel’. Dit is het hogere ambitieuze doel waar je het uiteindelijk allemaal voor doet. Dat is voor sommigen een kampioenschap. Voor anderen meedoen aan de Olympische spelen. Voor mij is het bijvoorbeeld mijn eerste halve marathon geweest. Een moment waar je naar toe leeft, waar je wilt pieken en als het lukt doe je er een strikje om.

Hoe zit dat dan met softwareontwikkeling? Van oudsher waren we goed in het Resultaatdoel. Althans, in het vooraf definiëren. De daarop volgende strijd tussen haalbare planningen, te leveren kwaliteit en binnen het budget blijven leidde tot menig IT-fiasco. Het was nooit genoeg en ook nooit goed.

Maar het moge duidelijk zijn. Een resultaatdoel zonder prestatiedoelen en procesdoelen is gedoemd te mislukken. Dat is als een stip op de horizon, zonder een begaanbare weg er naar toe. Met iteratief werken komen prestatiedoelen steeds vaker in beeld. Je krijgt tussentijdse releases, nog niet altijd compleet, maar de feedbackcyclus gaat draaien en het product wordt beter. De stip op de horizon mag zelfs gaan schuiven, want je kunt relatief snel bijsturen en de impact is minder groot.

Willen we echt gaan voor kwaliteit dan leren we dat de procesdoelen onmisbaar zijn. Dat zien we heel mooi terug in de DevOps aanpak die het ‘continuous’-gedachtegoed een stap verder brengt met volwassen CI/CD-pijplijnen. Kwantiteit en kwaliteit zijn dan echter geen concurrerende factoren meer, maar ze ondersteunen elkaar steeds meer. Een soepel lopende ontwikkelstraat met frequente oplevering kan enkel bestaan bij de gratie van het leveren van maximale waarde met (impliciet) de gewenste kwaliteit.

Even stokte het in mijn hoofd. De hardloper in mij dacht: ik mis een resultaatgerichte ambitie; mijn persoonlijke records op de verschillende afstanden gaan op deze manier nooit aangescherpt worden. Als IT-er bekruipt me dezelfde gedachte: processen en continuïteit; het zijn termen van decennia geleden die meestal leidden tot starheid en traagheid. Zal dit nog tot vernieuwende resultaten leiden? Krijgen we waar voor ons geld?

De term continuïteit staat vanouds ook nog haaks op vernieuwing. Continuïteit kreeg het accent van stabiliseren met de procesneuzelaars als belangrijkste verdedigingslinie. Alles draaiend houden, maar wel op een defensieve manier, zonder verandering of groei. En dat bijt in de IT, want “alles verandert”.

Hoe hoort continuïteit dan wel te verlopen? We leveren, iedere keer weer, juist heel frequent en net genoeg, maar wel goed. Dat gaat niet vanzelf; het vraagt een investering, in technologie en in mensen. Het zijn procesdoelen, je softwareontwikkelstraat of fabriek komt op orde; zelfs als je het resultaatdoel nog geen eens helder kunt omschrijven. Continuïteit met procesdoelen is in de sport dus niet stabiliseren, maar langzaam groeien en steeds beter worden. Niet door elke training de grens te verleggen, maar door gestaag (bijna ongemerkt) te werken aan conditie, spierkracht, lenigheid, kortom het hele gestel, inclusief je mindset. Procesdoelen zorgen voor een geoliede machine die je in staat stelt om te presteren.

In de praktijk zie ik regelmatig ‘agile wannabe’ organisaties met resultaatdoelen en prestatiedoelen, maar met te weinig aandacht voor de procesdoelen. Het stokt ergens bij de aansturing en volwassenheid van de DevOps teams. De CI/CD pijplijn is geen geoliede machine, of anders hooguit van een halffabricaat. Dus herken of ben jij zo’n dolende product owner of projectmanager? Laten we samen gaan hardlopen. En streef niet direct naar het hoogste eindresultaat, maar zorg voor frequentie en continuïteit. Dan ontdekken we samen dat met continuïteit ook kwantiteit en kwaliteit meekomen. Het is geen of-of maar en-en. Het is geen eens een keuze, het is onlosmakelijk verbonden, niet te vermijden.

Waarom ik dat denk? Deze week vinkte ik mijn 1000e km af en en-passant zijn dit kalenderjaar al mijn persoonlijke records óók verbeterd. Het ging bijna als vanzelf.

Nieuwsgierig geworden en wil je meer weten over testen? Neem dan contact op met Praegus – 085-1305977 / info@praegus.nl of kijk op www.praegus.nl

Vond je dit artikel interessant? Deel het op social media!