COCO slaat weer toe
We zouden waarschijnlijk moeten stoppen met COCO ideeën te geven.
Het vorige experiment zou genoeg moeten zijn geweest.
Een echte applicatie.
Echte navigatie.
Gebruikers.
Rollen.
Databases.
Talen.
Bewijs.
Een respectabele case study.
Een nette conclusie.
Toen liet iemand het zien: Logistics in Motion.
Dat was waarschijnlijk de vergissing.
Het begon met drie magazijnen
Niets bijzonder opwindends.
Drie DEMO-magazijnen.
- Kalsdorf bei Graz.
- Wiener Neustadt.
- Klagenfurt.
Geen klantinformatie.
Geen productievoorraad.
Precies het soort omgeving waar niets belangrijks zou moeten gebeuren.
Toen werd het eerste magazijn geselecteerd.
En de applicatie kreeg context.
Vanaf dat moment had elk scherm nog een vraag eraan gekoppeld.
Hoort dit nog bij hetzelfde magazijn?
Verandert de taal alleen de interface?
Blijft het proces op dezelfde stap?
Klopt de voorraad nog?
Wijst de documentreferentie nog naar het juiste evenement?
Ziet de operator precies wat nodig is voor de volgende actie?
Plotseling was niet meer het scherm het interessante deel.
Het was de continuïteit tussen schermen.
COCO doet dat graag.
Logistiek is geen verzameling schermen
Van buitenaf kan magazijnsoftware bedrieglijk eenvoudig lijken.
Goederen komen aan.
Ze worden opgeslagen.
Iemand bestelt ze.
Ze worden gepickt.
Ze worden verzonden.
Klaar.
Behalve dat er een hele operationele wereld verborgen zit tussen aangekomen en verzonden.
Verwacht.
Ontvangen.
Gecontroleerd.
Beschikbaar.
Gereserveerd.
Verplaatst.
Gepickt.
Geblokkeerd.
Gecorrigeerd.
Verzonden.
Gecontroleerd (audit).
De fysieke beweging telt.
Maar het is de statusovergang die die beweging begrijpelijk maakt voor software.
En wanneer die twee realiteiten niet meer overeenkomen, heeft iemand uiteindelijk een slechte dag.
Een magazijn is makkelijker te begrijpen wanneer beweging zichtbaar is, niet slechts geregistreerd.
Daarom is ons logistieke werk nooit echt begonnen met menu's, dashboards, of technologie.
Het begint met de materiële Flow.
Waar komt informatie binnen?
Waar verandert ze?
Waar kan ze verloren gaan?
Waar wordt iemand gedwongen om een ander te vragen wat er is gebeurd?
Waar wordt een handmatige stap stilletjes het zwakste deel van een verder geautomatiseerd proces?
Soms is het antwoord een nieuwe interface.
Soms een integratie.
Soms een scanner.
Soms gewoon een beter statusmodel.
Meer software is niet automatisch betere software.
Het doel is niet automatisering omwille van zichzelf.
Het doel is een proces dat begrijpelijk blijft.
Control. Clarity. Flow.
Het proces begint vóór de eerste boeking.
Vóór de goederenontvangst.
Vóór het picken.
Vóór de voorraadbeweging.
Vóór de eerste transactie.
Flow stelt een heel basale vraag:
In welk magazijn werken we?
Het klinkt bijna triviaal.
Dat is het niet.
Magazijncontext hoort bij alles wat volgt.
Voorraad.
Documenten.
Locaties.
Picken.
Verplaatsingen.
Auditgeschiedenis.
Uitzonderingen.
Het proces kan er perfect gezond uitzien terwijl het in de verkeerde context werkt.
Dat is precies het soort probleem dat een screenshot zelden onthult.
En precies het soort grens die COCO graag bevraagt.
Taal is makkelijk tot het dat niet meer is
Duits.
Engels.
Kroatisch.
Noors.
En andere.
Een gebruikersprofiel definieert de beschikbare talen.
De operator wisselt van taal terwijl de applicatie actief is.
De interface verandert onmiddellijk.
Het bedrijfsproces mag dat niet doen.
Dat onderscheid is belangrijk.
Het magazijn verplaatst zich niet omdat het woord voor magazijn is veranderd.
De pickopdracht start niet opnieuw omdat de gebruiker een andere taal koos.
Een reservering verdwijnt niet.
Een uitzondering behoort niet plotseling tot een andere transactie.
Het proces blijft waar het is.
Alleen de weergave ervan verandert.
Dat klinkt vanzelfsprekend.
Totdat je beseft hoeveel applicaties een taalwissel bijna als een nieuwe sessie behandelen.
Een meertalige bedrijfsapplicatie zou dat niet moeten doen.
De presentatiestatus mag veranderen.
De bedrijfsstatus moet stabiel blijven.
Dat maakt taalwisseling een verrassend nuttige regressietest.
Een kleine functie.
Een heel goede breuklijn.
COCO houdt van breuklijnen.
Stap voor stap begint de applicatie geschiedenis op te bouwen
Goederen komen aan.
Het proces gaat verder.
De goederenontvangst wordt geboekt.
De voorraad verandert.
De magazijnstatus weerspiegelt de nieuwe realiteit.
Het picken begint.
Voorraad wordt gereserveerd.
De operator ontvangt een taak.
Een mobiele weergave reduceert het hele proces tot wat op dat exacte moment telt:
Positie.
Opslaglocatie.
Hoeveelheid.
SSCC.
Operator.
Niet meer.
Niet minder.
Dat is belangrijk.
De mobiele interface is geen tweede bedrijfsproces.
Het is een andere weergave van hetzelfde proces.
De magazijnapplicatie mag alles weten.
De picker hoeft dat niet.
Clarity betekent niet altijd meer informatie tonen.
Soms betekent clarity de discipline hebben om bijna alles te verbergen.
Dan scant iemand de verkeerde locatie
Hier wordt een logistieke workflow interessanter dan een functielijst.
De verwachte locatie is één ding.
De gescande locatie is iets anders.
Flow stopt.
Crasht niet.
Stopt.
Er is een verschil.
De processtatus blijft zichtbaar.
De betrokken voorraad blijft begrijpelijk.
De uitzondering wordt expliciet.
Contextuele hulp legt uit wat relevant is voor de huidige situatie.
De gebruiker lost de discrepantie op.
Het proces gaat verder.
Dit moment zegt meer over operationele software dan meerdere pagina's happy-path screenshots.
Echte logistiek is niet moeilijk wanneer alles klopt.
Echte logistiek wordt moeilijk wanneer iets bijna klopt.
Een nuttig systeem verbergt dat niet achter een groen dashboard.
Het geeft de uitzondering een status.
Een reden.
Een geschiedenis.
En een weg vooruit.
Documenten onthouden wat mensen vergeten
Naarmate de workflow vordert, beginnen referenties zich op te stapelen.
ASN.
Goederenontvangst.
Magazijnbeweging.
Picken.
Verzending.
Flow.
Het interessante deel is niet dat documenten bestaan.
Het interessante deel is dat ze hetzelfde verhaal vertellen als het proces.
Waarom is deze voorraad hier?
Welke ontvangst heeft het geïntroduceerd?
Welke operatie heeft het gereserveerd?
Welke picking heeft het verbruikt?
Welke zending heeft het eruit verplaatst?
Is een uitzondering opgelost vóór de volgende stap?
Wat was het actieve magazijn?
Wat gebeurde er vóór de huidige status?
Wanneer status en documentatie door hetzelfde proces worden geproduceerd, wordt traceerbaarheid gemakkelijker te vertrouwen.
Wanneer dat niet zo is, beginnen mensen uiteindelijk de geschiedenis te reconstrueren.
Meestal in Excel.
Meestal onder druk.
Meestal nadat er al iets misging.
COCO geeft de voorkeur aan bewijs vóór dat moment.
Blijkbaar reist COCO ook
Er was nog een kleine verandering tussen de runs.
Ubuntu had zijn run.
Red Hat Enterprise Linux 10 nam de volgende.
COCO ging door.
Geen ceremonie.
Geen speciale "Red Hat-modus".
Geen herschreven workflow.
Geen handig vereenvoudigde test.
Dezelfde Flow.
Andere ondergrond eronder.
Een eerdere COCO-run had de applicatie al getest op Ubuntu Linux.
De huidige verhuisde naar Red Hat Enterprise Linux 10.
Andere desktopomgeving.
Andere systeembibliotheken.
Andere verpakking.
Andere operationele omgeving.
Hetzelfde magazijn.
Dezelfde bedrijfsstatussen.
Dezelfde voorraadovergangen.
Dezelfde taalwisselingen.
Dezelfde uitzonderingslogica.
Hetzelfde bewijs.
Dat is een behoorlijk mooie manier om cross-platform software te testen.
Kondig niet aan dat het cross-platform is. Verplaats het. Kijk dan wat er breekt.
Taalstatus.
Magazijncontext.
Dialooggedrag.
Timing.
Thema's.
Procesovergangen.
Uitzonderingsafhandeling.
Bewijs.
Besturingssystemen hebben verrassend creatieve manieren om aannames bloot te leggen.
Ubuntu legde er sommige bloot.
Red Hat legt andere bloot.
Dat is nuttig.
Want multi-platform engineering is niet het vermogen om het uitvoerbare bestand tweemaal te starten.
Het is het vermogen om de omgeving te veranderen zonder de betekenis van het proces te veranderen.
Een magazijnoperator zou het niet moeten uitmaken of de applicatie op Ubuntu of Red Hat draait.
Een pickopdracht zou het ook niet moeten uitmaken.
Evenmin een auditspoor.
Als platformverschillen bedrijfsgedrag beginnen te veranderen, is de software niet echt cross-platform.
Het is slechts overdraagbaar.
COCO lijkt aanzienlijk meer geïnteresseerd te zijn in de eerste definitie.
Wij ook.
COCO beslist niet wat correcte logistiek betekent
Dit deel is belangrijk.
COCO wordt geen magazijnexpert alleen omdat het een magazijnworkflow kan volgen.
Mensen blijven correctheid definiëren.
Mensen beslissen wanneer voorraad beschikbaar wordt.
Mensen definiëren wat een geblokkeerde levering betekent.
Mensen beslissen wie een hoeveelheid mag corrigeren.
Mensen definiëren welke beweging een auditspoor vereist.
Mensen beslissen hoe een geldige uitzonderingsoplossing eruitziet.
Mensen beslissen wanneer een zending echt compleet is.
Het werk van COCO is anders.
Herhalen.
Observeren.
Vergelijken.
Onthouden.
Bewijs achterlaten.
Doe het dan opnieuw nadat de software verandert.
En opnieuw.
En opnieuw.
Zonder verveeld te raken.
Zonder te beslissen dat het resultaat van vorige week waarschijnlijk nog geldig is.
Zonder de vervelende uitzondering over te slaan omdat de lunch over twaalf minuten is.
De glamoureuze toekomst van AI-testen bevat een verrassende hoeveelheid herhaling.
Wij beschouwen dat als een functie.
Bewijs verandert het gesprek
Traditioneel testen eindigt vaak met een volkomen redelijke zin:
"Het werkte toen ik het testte."
COCO is geïnteresseerd in de volgende zin.
Wat werkte precies?
Welk magazijn?
Welke gebruiker?
Welke taal?
Welke processtatus?
Welke volgorde?
Welk document?
Welke voorraadwaarde?
Wat gebeurde er onmiddellijk vóór de teststap?
Wat veranderde onmiddellijk daarna?
Kan een andere engineer het resultaat begrijpen zonder de persoon te vragen die de test heeft uitgevoerd?
Dat is waar regressietesten meer wordt dan herhaald klikken.
Eén scherm kan correct zijn terwijl het proces fout is.
Een pickvenster kan er perfect uitzien terwijl de voorraad al is afgedreven.
Een document kan bestaan terwijl de status die het had moeten creëren nooit is opgetreden.
Een applicatie kan 100% weergeven terwijl een auditspoor stilletjes tegenspreekt.
COCO volgt de Flow omdat het in de Flow is dat deze tegenstrijdigheden zichtbaar worden.
Ergens tussen Control en Flow
Er is hier een interessante symmetrie.
Goede logistieke software probeert onzekerheid binnen een operatie te verminderen.
Goed testen probeert onzekerheid over de software die het uitvoert te verminderen.
De ene vraagt:
Waar is het artikel?
De andere vraagt:
Hoe weten we dat de software het nog weet?
De ene vraagt:
Is deze beweging voltooid?
De andere vraagt:
Welk bewijs toont aan dat de status correct is veranderd?
De ene vraagt:
Kan de volgende shift verdergaan?
De andere vraagt:
Kan de volgende engineer begrijpen wat er is gebeurd?
Verschillende vragen.
Hetzelfde instinct.
Maak de status zichtbaar.
Bewaar de redenering.
Verminder de hoeveelheid kennis die alleen in iemands hoofd bestaat.
Misschien is dat de connectie die we oorspronkelijk niet hadden gepland.
Engineering excellentie zonder het spandoek
Niemand klikt op een Engineering Excellence-knop.
Die is er niet.
En die zou er waarschijnlijk ook niet moeten zijn.
Engineering excellentie verschijnt indirect.
De magazijncontext overleeft een taalwissel.
Hetzelfde proces overleeft een ander Linux-platform.
Een voorraadbeweging blijft traceerbaar.
Een mobiele picker ziet precies wat nodig is en niets anders.
Een uitzondering onderbreekt het proces zonder de status ervan te vernietigen.
Het helpvenster legt de huidige context uit in plaats van generieke documentatie te tonen.
De documentketen komt overeen met de operationele volgorde.
De volgende engineer kan begrijpen wat er is gebeurd zonder de persoon te vragen die toevallig aanwezig was.
Er is genoeg theater beschikbaar in moderne software.
AI kan indrukwekkende demonstraties genereren.
Dashboards kunnen animeren.
Cijfers kunnen bewegen.
Video's kunnen er heel overtuigend uitzien.
Niets van dat alles bewijst dat twee voorraadoperaties niet stilletjes een onjuist resultaat kunnen produceren.
Niets van dat alles bewijst dat een uitzondering weken later nog kan worden gereconstrueerd.
Niets van dat alles bewijst dat de magazijnmedewerker, de dispatcher, en de ontwikkelaar naar dezelfde operationele waarheid kijken.
Engineering excellentie begint op een minder fotogenieke plek.
Met consistentie.
Met bewijs.
Met grenzen.
Met de bereidheid om de saaie delen saai te houden.
Onzichtbare betrouwbaarheid produceert zelden de meest dramatische screenshot.
Totdat je er bewust naar begint te zoeken.
Control. Clarity. Flow.
Control is weten welk magazijn, welk proces, en welke status actief zijn.
Clarity is begrijpen wat er veranderde, wanneer het veranderde, en waarom.
Flow is de operatie laten doorgaan zonder het verhaal erachter te verliezen.
Dat werkt voor logistiek.
Het werkt voor softwaretesten.
Het werkt verrassend goed voor engineering zelf.
Het eerste Flow-experiment gaf COCO de Administration.
Gebruikers.
Rollen.
Databases.
Talen.
Toen gaf iemand het een magazijn.
Toen meerdere talen.
Toen mobiel picken.
Toen voorraad.
Toen verplaatsingen.
Toen uitzonderingen.
Toen documenten.
Toen nog een besturingssysteem.
Op dit punt zouden we waarschijnlijk moeten stoppen met dingen toevoegen.
Waarschijnlijk zullen we dat niet doen.
Control. Clarity. Flow.
Ubuntu had zijn beurt.
Red Hat heeft de huidige.
De Flow blijft bewegen.
COCO blijft kijken.
En ergens in het midden van de laatste run werd het duidelijk dat er nog een vraag wacht achter deze.
Wij weten wat het is.
COCO weet wat het is.
Jij weet het niet.
Nog niet.
We zouden het je kunnen vertellen.
Maar dan zou je misschien stoppen met controleren of er een nieuw Insiders-artikel is verschenen.
En dat zou het experiment verpesten.
Gepubliceerd: 28.08.2026