Diagnose, Ontwerp en Verandering

Poka-yoke!

Een belangrijk element in het ontwerpproces is het voorkomen van fouten. Fouten in een ontwerpproces zijn duur. Heel duur. Realisatie fouten zijn vervelend, maar vaak herstelbaar, echter ontwerpfouten (denkfouten) dienen voorkomen te worden. Voor het voorkomen van fouten ofwel het ontwerpen van een foutvrij proces bestaat gelukkig al lang een zeer goede methode: Poka-yoke.

Poka-yoke is Japans voor het voorkomen van fouten. Dit kan door processen, handelingen of IT zo slim te ontwerpen dat het foutvrij wordt. Zeker bij menselijke handelingen is het een sport om een ontwerp bestand te maken tegen iedere vorm van menselijke fouten. Zo kan bijvoorbeeld een SIM kaart maar op een manier in een toestel worden geplaatst. IT systemen zijn helaas nog niet altijd foutvrij. Bij veel ontwerpprocessen zijn de essentiële principes voor foutvrij ontwerpen dan ook niet toegepast. Door bijvoorbeeld bijzondere karakters en tekens in webbased invoerscherm in te voeren zijn helaas nog vele systemen op hol te brengen.

De belangrijkste principes om te hanteren in een ontwerp dat bestand moet zijn tegen fouten zijn:

  • Eliminatie. Door ontwerp of herontwerp met als doel fouten te elimineren wordt de kans dat een fout nog voorkomt natuurlijk vermeden. Vanuit IT perspectief betekent dit het minimaliseren van de kans dat verkeerde invoer wordt aangeboden, bijvoorbeeld door het elimineren van menselijke handelingen waar mogelijk.
  • Vervanging. Vervang een foutgevoelige stap door een of meerdere minder foutgevoelige processtappen. Vervanging van foutgevoelige processtappen kan natuurlijk vanuit een IT en vanuit een business perspectief worden doorgevoerd. Bijvoorbeeld door foutgevoelige software- of hardware componenten te vervangen.
  • Versimpeling. Door het werk simpeler te maken wordt de kans op fouten verkleind. Ook dit ontwerpprincipe geldt voor IT voorzieningen en processtappen zonder IT ondersteuning. Versimpeling van IT is helaas een lastig traject door de almaar toenemende complexiteit die nodig is om IT simpel te laten werken. Zo is de bediening van een tekstverwerker wel simpeler geworden, maar het aantal regels code in een tekstverwerker is ondenkbaar groot geworden.
  • Detectie. Als een fout gedetecteerd kan worden in een (geautomatiseerde)processtap dient verdere verwerking afgebroken te worden. Helaas zijn veel IT projecten al blij met succesvolle goed paden en ligt in IT ontwerp vaak niet de nadruk op het ontwerpen van alle mogelijke foutpaden.
  • Mitigatie. Vermindering van het effect van een fout kan een handige strategie zijn om een systeem robuuster te maken voor onvoorziene fouten. Zo zijn er vele algoritmes mogelijk om via een statistische methode een schatting te maken van een ontbrekend dataveld wat nodig is voor verdere verwerking. Mitigatie van fouten kan op veel manieren, maar vanuit een ontwerpperspectief wordt hier bewust aandacht aan besteed. Zo kan het meer dan wenselijk zijn om veilige situatie te definiëren voor het geval dat er toch een onvoorziene fout optreed. Bijvoorbeeld een auto die bestuurbaar blijft als de stroom weg valt!

Meer aandacht vanuit architectuur en binnen ontwerp voor de poka-yoke principes kan veel ergernissen, tijd en geld schelen.

fout