grondoorzaak

Methode 01 · Afbakenen

Is / Is-niet

Bij een Is/Is-niet-analyse leg je naast elkaar waar een probleem wel optreedt en waar het net zo goed had kunnen optreden maar niet gebeurde. Het verschil tussen die twee kolommen beperkt de mogelijke oorzaken sterk en wijst de richting aan.

De methode komt uit het werk van Charles Kepner en Benjamin Tregoe uit de jaren zestig. Hij is minder bekend dan de visgraat of 5x Waarom. Dat is jammer, want hij lost een probleem op dat die twee niet oplossen: je hebt tien plausibele verklaringen en geen enkele manier om er negen af te strepen.

Het idee is eenvoudig en streng. Een bruikbare hypothese verklaart twee dingen. Niet alleen waarom het misging waar het misging, maar ook waarom het niet misging op alle plekken waar je dat net zo goed had verwacht. Een verklaring die alleen het eerste doet, past bij de feiten; een verklaring die allebei doet, blijft meestal ook overeind als je hem toetst.

Kepner en Tregoe zeggen het voorzichtiger dan de meeste samenvattingen: verschillen suggereren mogelijke oorzaken. De methode wijst er geen aan, hij streept ze weg. Wat je overhoudt is een korte lijst die je kunt gaan controleren.

Wanneer wel en wanneer niet

Goede keuze alsSlechte keuze als
Iets deed het eerst wel en nu niet meer, of doet het hier wel en daar niet. Het heeft nog nooit gewerkt. Dan is er geen goede situatie om tegen af te zetten.
Je hebt meerdere verdachten en geen manier om te kiezen. De oorzaak is al bekend en je zoekt alleen nog een oplossing.
Er zijn feiten beschikbaar: logs, tellingen, tijdstippen, locaties. Je hebt alleen indrukken en meningen. Verzamel dan eerst.
Het probleem is scherp genoeg om in een zin te zetten. Je hebt drie problemen tegelijk. Splits ze en doe er een.

Wat je nodig hebt

Het stappenplan

  1. Zet de afwijking in een zin

    Een object en een afwijking: “uploads groter dan 8 MB mislukken met een 502”. Niet twee afwijkingen, niet een gevolg en geen vermoeden.

  2. Vul de is-kolom in over vier dimensies

    Wat, waar, wanneer en omvang. Schrijf alleen op wat je kunt aanwijzen. Een lege regel is beter dan een aanname die er later uitziet als een feit.

  3. Vul de is-niet-kolom in

    Hier zit de hele methode in. De vraag is niet “wat is er nog meer?” maar: waar had ik dit met goede reden ook verwacht en waarom bleef het daar uit? Zie de val hieronder.

  4. Bepaal per regel het onderscheid

    Wat is er anders aan de is-kant dan aan de is-niet-kant? Niet alles, maar het ding dat de twee scheidt.

  5. Zoek bij elk onderscheid de wijziging

    Wat is er in of rond dat verschil veranderd en wanneer? Een onderscheid dat er al jaren is, verklaart zelden iets dat vorige week begon. Zelden is niet nooit: een oude conditie kan ineens gaan tellen doordat er iets ánders veranderde. Die combinatie noteer je dan als de wijziging.

  6. Toets elke hypothese tegen beide kolommen

    Als deze oorzaak waar is, verklaart hij dan ook waarom het niet gebeurde bij alles in de is-niet-kolom? Nee? Dan is hij hoogstens een deel van het verhaal.

De val waar bijna iedereen in stapt

De is-niet-kolom is geen restcategorie. Bij “waar treedt het niet op” is de kantine ook een goed antwoord. En de maan. En de boekhouding. Dat levert niets op.

Wat je zoekt is de bijna-treffer: de situatie die zo veel op de probleemsituatie lijkt dat je het probleem er redelijkerwijs ook had verwacht en waar het toch uitbleef. Draait lijn 4 hetzelfde product met dezelfde grondstof, dan hoort lijn 4 in de is-niet-kolom en is dat waardevolle informatie. Draait lijn 4 iets heel anders, dan zegt hij niets en laat je hem weg.

Lukt het je bij een regel niet om een goede is-niet te bedenken, dan is dat op zichzelf een bevinding: je weet nog te weinig van het gebied om te kunnen zeggen wat er had moeten meegaan.

Een uitgewerkt voorbeeld

Afwijking: sinds dinsdagochtend mislukken uploads van bestanden groter dan ongeveer 8 MB in het klantportaal met een 502.

DimensieIsIs nietOnderscheid
Welk object Het uploadscherm van het klantportaal Hetzelfde uploadscherm in de beheeromgeving, met dezelfde code De route ernaartoe, niet de code
Welke afwijking Een 502 na ongeveer dertig seconden Geen nette foutmelding, geen time-out bij de gebruiker Iets tussen client en applicatie hakt de verbinding af
Waar op het object Alleen bij bestanden boven ongeveer 8 MB Niet bij kleinere bestanden Er ligt een grens rond 8 MB
Waar geografisch Klanten die via het nieuwe cluster binnenkomen Kantoorgebruikers, die er rechtstreeks langs gaan Het nieuwe cluster
Wanneer voor het eerst Dinsdag rond 07:40 Niet maandag, terwijl er toen ook grote bestanden zijn geupload Er is dinsdagochtend iets gewijzigd
Omvang Elke poging van elke klant op dat cluster Geen enkele poging op het oude cluster Het verschil zit in het cluster, niet in de klant

Wijziging: het nieuwe cluster is dinsdag om 07:30 in gebruik genomen, met een verse configuratie.

Hypothese: de limiet op de grootte van een verzoek staat op het nieuwe cluster lager dan op het oude.

Toets: verklaart de is (grote bestanden falen, vanaf dinsdag, op dat cluster) en verklaart de is-niet (kantoorgebruikers gaan er niet langs, kleine bestanden blijven onder de limiet, maandag bestond het cluster nog niet). Dat is een hypothese die de moeite van het controleren waard is.

Merk op dat “de applicatie is traag” ook bij de is-kolom past, maar niet verklaart waarom kantoorgebruikers geen last hebben. Dat is precies het soort verklaring dat de is-niet-kolom afserveert.

Veelgemaakte fouten

Combineren met de andere methoden

Veelgestelde vragen

Moet ik alle regels invullen?

Nee. Vul in wat je weet. Een lege regel is eerlijk; een verzonnen regel kost je later een halve dag.

Wat als ik bij een regel geen is-niet kan bedenken?

Dan laat je hem leeg en noteer je dat als open punt. Vaak betekent het dat je iemand mist die het gebied goed genoeg kent.

Lijkt dit op een differentiaaldiagnose?

Ja en dat is geen toeval. Een arts vraagt ook waarom de klachten er wel zijn en waarom de bijbehorende andere verschijnselen ontbreken. Het afstrepen doet het werk, niet het bedenken.

Wat als geen enkele hypothese alles verklaart?

Dan zijn er waarschijnlijk twee oorzaken die samen optreden, of je specificatie klopt niet. Controleer eerst de feiten in de is-kolom voordat je gaat zoeken naar een ingewikkelder verklaring.

Hoe lang duurt zo’n analyse?

Veertig minuten tot anderhalf uur. Kost het meer, dan is het probleem waarschijnlijk te breed genomen.

Aan de slag

Maak een casus aan, beschrijf het probleem en loop de methode stap voor stap door. Je invoer blijft in je eigen browser.

Naar mijn casussen