Iedereen die iets weet van software, weet ook: foutloos werken is ongelooflijk moeilijk. De meeste mensen hebben testers nodig om de fouten te vinden. Natuurlijk hebben we ook mensen die heel erg weinig fouten produceren, maar vind maar eens iemand die ook nog kan uitleggen hoe hij dat doet. Een van hen, laten we hem Martin noemen, heb ik vandaag gevraagd naar zijn geheim. En tot mijn stomme verbazing kon hij het nog uitleggen ook. De truc? Drie dingen die iedereen kan nadoen.
1. Schizofreen
Het eerste principe dat Martin toepast, is schizofrenie. Martin heeft stemmen in zijn hoofd. Niet als een rare afwijking. Nee; hij heeft het zichzelf aangeleerd. Hij ziet zichzelf als een radertje in een grote machine, die bestaat uit partijen en belangen. Geen feiten, maar meningen. Al die meningen praten tegen hem. Als hij een user interface bouwt, zegt er een eindgebruikersstem in zijn hoofd: ‘Hee Martin, denk je eraan dat ik dit scherm straks voor me krijg? Ga ik begrijpen wat jij nu bouwt?’ Als hij een exportbestand moet bouwen, zegt een andere stem: ‘Kan ik wel iets met de data die jij in dat bestand stopt?’ Als developer probeert hij alle stemmen tevreden te stellen.
2. Explosies
Martins tweede principe is data-explosie. Als Martin een invoerveld moet programmeren, ziet hij in zijn hoofd meteen een aantal mogelijkheden: het veld kan leeg blijven, het kan worden ingevuld en daarna gewist en er kunnen rare dingen worden ingetikt. Laten we het voor het gemak houden op tien verschillende situaties. Hij ziet ze allemaal tegelijk voor zijn geestesoog, als een kleurige mindmap.
Daarna moet hij een routine schrijven die iets doet met de ingevoerde waarde, zoals opslaan. Hij ziet het meteen weer voor zich: het opslaan kan misgaan, het veld kan na opslag worden aangepast, de informatie moet kunnen worden teruggevonden, enzovoort. Laten we het hier ook houden op tien mogelijkheden. Met de situaties die hij al in de gaten moest houden, explodeert het aantal onmiddellijk tot honderd (niet twintig, want alle eerdere situaties kunnen worden gecombineerd met de nieuwe).
Stel dat er in de stap daarna weer tien mogelijke situaties ontstaan. De structuur die hij voor zich ziet, groeit dan naar duizend gevallen. Na een uur heeft hij vele duizenden situaties in zijn hoofd en alles wat hij niet in één keer kan onthouden, legt hij vast in aantekeningen om zich niet te laten afleiden. Want hij weet dat alles wat hij kan verzinnen, in de praktijk gaat voorkomen en dat alle situaties relevant zijn.
3. Nieuwsgierig
Het derde principe is nieuwsgierigheid. Als hij een fout maakt, of een situatie over het hoofd ziet, is zijn eerste gedachte: ‘Hee, da’s interessant.’ Martin lachte zelfs toen hij het me vertelde: ‘Fouten bestaan niet! Wel situaties die de moeite waard zijn om verder te onderzoeken.’ Hij staat zichzelf alleen nieuwsgierigheid toe, niets anders. Hij raakt dus nooit gefrustreerd, alleen maar nog nieuwsgieriger. En fanatieker. En dus nog foutlozer.
Iedereen kan het
Toen Martin begon in dit vak was hij een heel normale, sociale en sympathieke vent. Ondanks dat hij in de loop der tijd bovenstaande afwijkingen heeft gekregen, is hij nog steeds heel normaal en bijzonder sympathiek. Daar maak ik uit op dat iedereen zich deze werkwijze kan aanleren en zodoende een stuk foutlozer kan worden. Hij heeft het zichzelf immers ook geleerd.
Je bent het op een aardige manier maar vind de titel wel erg “click-bait” overkomen. Zeker als de inhoud wat triviaal blijkt te zijn.
Schizofreen… je zou het ook inlevingsvermogen kunnen noemen. Martin stelt zich voor dat Angelique dit scherm ziet, ze heeft MBO niveau en weinig ervaring met computers.
En “hij maakt aantekeningen om zich niet af te laten leiden”… Right. Daarvan ga je foutloos werken.
Nieuwsgierig? Hmm je kan ook zeggen dat Martin heel goed is in het doorvragen. Maar ga ja daarvan minder fouten maken? Hooguit is de kans wat groter dat je oplevert wat een gebruiker echt wil.
Dus snel en foutloos? Zeker niet (nieuwsgierig leidt alleen maar tot trager werken en meer afleiding). Leveren de stappen wel wat op? Zeker, namelijk de grotere kans dat je maakt waaraan behoefte is. Heel belangrijk (het belangrijkste), maar dat is wel dissonant met de titel….
Lean has been ?
Het derde principe is nieuwsgierigheid. Als hij een fout maakt …..
wacht even, deze persoon kon toch foutloos werken ?
Ik heb vroeger ook een Martin gekend die zo nieuwsgierig was dat hij met opzet fouten maakte om te kijken wat het precieze resultaat zou zijn.
…en zo ben ik er ooit utgegooid.
Wel nog even de Efteling, ’t Dolfinarium, Expert en Scheer & Foppen binnen gehaald – …ik zal ze krijgen’ dacht ik Toen.
Werken ZUL je – maar dan wel zonder mij.
Emotioneel werd ik er wel van toen (1 jaar na mijn vertrek / ontslag) de tent failliet ging.
Ik was/ben een enorme egocentrische eikel!
Ik heb er eigenlijk nog steeds spijt van…
Gelukkig zijn alle werknemers goed terecht gekomen, de rest werkt bij ons of bij onze concurrent, dus die gaan ook goed.
Maar ik ken ze allemaal nog…
…Nu, een paar uur later na de voorgaande post.
Wat was ik een enorme eikel om hen op te schepen met de opdrachten welke ik wist dat ze deze niet aankonden… en erger nog, ik wist dat het bedrijf ten onder zou gaan!
Wat een NUL ben je dan?
Nogmaals, iedereen (70%) is bij ons goed terecht gekomen (20% bij onze concurrent), de overige werken nu zelfstandig of zijn huis-man-vrouw, maar hoe zou ik me NU voelen als dat niet zo was geweest?
Hoe zei je dat ook alweer Ron?
In drie stappen snel en foutloos werken?