softify.pro
Laster …
Tjenester Om oss COCO – vår AI-server Portefølje Insiders Case-studier Godt å vite Kontakt Logg inn

softify.pro - Insiders

Ett lager. Én sannhet.

Ett lager. Én sannhet.

Det finnes en enkel måte å få lagerprogramvare til å virke overbevisende på.
Åpne et dashbord.
Vis noen grønne tall.
Legg til et diagram.
Plasser noe lager på et lagerkart.
Avslutt med en rapport.
Alt ser bra ut.
Og likevel kan alt være feil.
For et lager bryr seg ikke om hvor bra dashbordet ser ut.
Det bryr seg om alle deler av systemet er enige om hva som faktisk skjedde.
Det ble den interessante delen av det nyeste softify.pro Flow-eksperimentet.
Ikke enda en skjerm.
Ikke enda en KPI.
Ikke enda en rapport.
Noe mye mindre synlig.
Konsistens.
Det begynte med et lager.
Den nåværende softify.pro Flow-demoen fungerer med flere syntetiske lagermiljøer.
Forskjellige lager-ID-er.
Forskjellige kapasiteter.
Forskjellige sonestrukturer.
Ingen produksjonsbeholdning.
Ingen kundedata.
Ingen ekte operativ informasjon.
Men prosesslogikken oppfører seg som om alt dette betydde noe.
For i virkelig logistikk gjør det det.
Når et lager er valgt, blir den konteksten en del av alt som følger.
Flows.
SSCC-er.
Bevegelser.
Operatører.
Analytics.
Rapporter.
Det høres selvsagt ut.
Det blir betydelig mindre selvsagt når samme prosess begynner å dukke opp i flere ulike deler av applikasjonen.
Så åpnet vi en annen visning.
Operational Analytics.
Plutselig så lageret helt annerledes ut.
Ingen lagringsposisjoner.
Ingen bevegelsespiler.
I stedet:

  • fullførte Flows,
  • aktive ordre,
  • lagerutnyttelse,
  • unntak,
  • inngående,
  • utgående,
  • behandlingstid.

Den visuelle fremstillingen hadde endret seg.
Lageret hadde ikke.
Det skillet ble viktig.
For under KPI-ene var det fortsatt individuelle poster.
Flow-ID-er.
SSCC-er.
Soner.
Statuser.
Operatører.
Behandlingstider.
Annen visning.
Samme operative virkelighet.
Så langt, så bra.

Operational Analytics — aggregert lagerstatus, med de underliggende Flow-postene fortsatt synlige.

Flow.

88 % er bare nyttig hvis systemet kan forklare det.
Anta at dashbordet sier:
Lagerutnyttelse: 88 %.
Nyttig.
Men ufullstendig.
Noen posisjoner er opptatt.
Noen er reservert.
Noen forblir ledige.
De statusene er ikke utskiftbare.
Tallet blir først pålitelig hvis systemet fortsatt kan forklare hvor det kommer fra.
Fem fullførte Flows?
Vis dem.
To aktive ordre?
Vis dem.
Ett unntak?
Hvilket?
88 % utnyttelse?
Hva er opptatt?
Hva er reservert?
Hva forblir ledig?
Et dashbord bør oppsummere virkeligheten.
Det bør ikke erstatte den.
Så endret vi språket.
Nederlandsk.
Lageret forble det samme.
Flow-ID-ene forble de samme.
SSCC-ene forble de samme.
Operatørene forble knyttet til sine poster.
Bare språket endret seg.
Senere dukket samme operative status opp på kroatisk.
Deretter på fransk.
Her blir flerspråklig programvare mye mer interessant enn oversatte knapper.
En dårlig oversettelse er lett å legge merke til.
En statusendring forårsaket av et språkbytte er mye farligere.
Tenk deg å bytte fra tysk til fransk og stille miste det valgte Flowet.
Eller å bygge om et filter mot feil lager.
Eller å vise riktig SSCC i feil prosesskontekst.
Grensesnittet kan fortsatt se perfekt ut.
Systemet ville ikke være det.
Flow følger derfor en enkel regel:
Språk kan endre ordene. Det kan ikke endre sannheten.
Så fikk Flowet en historikk.
Browse & Drill-down anstrenger seg ikke spesielt for å virke imponerende.
Kanskje er det nettopp derfor det er nyttig.
Velg et Flow.
Konteksten dukker opp.
Lager.
Sone.
Status.
Operatør.
SSCC.
Og deretter dokumentkjeden.
ASN.
Varemottak.
Lagerbevegelse.
Plukkordre.
Plukking.
Forsendelse.
FLOW.
Sju trinn.
Prosessen er ikke lenger bare en nåværende status.
Den har en fortid.
Og det endrer spørsmålet.
I stedet for:
Hva skjer?
kan vi spørre:
Hvordan endte vi opp her?
Det er et mye bedre spørsmål når noe til slutt går galt.

Ett Flow, én SSCC, én dokumentkjede — fra ASN til fullføring.

Flow.


SSCC blir den røde tråden.
Til å begynne med ser en SSCC ut som det den er.
En identifikator.
Et langt tall i en tabell.
Men på tvers av Flow blir den noe mer nyttig.
En rød tråd gjennom prosessen.
Følg den, og andre ting begynner å koble seg sammen.
Et lager.
Et Flow.
En sone.
En status.
En operatør.
En dokumentkjede.
Til slutt en rapport.
Det samme fysiske logistikkobjektet er nå synlig fra flere ulike deler av applikasjonen.
Nyttig.
Også farlig.
For hver ekstra visning skaper enda en mulighet for systemet til å fortelle en annen historie.
Og det er der ting blir interessante.
Anta at Analytics sier at Flowet er aktivt.
Drill-down sier at SSCC-en tilhører det Flowet.
Dokumentkjeden sier at operasjonen har kommet lenger.
Rapporten sier noe annet.
Hvilken stemmer?
Dette er ikke et Flow-spesifikt problem.
Det er ett av de eldste problemene i forretningsprogramvare.
Ulike deler av samme system utvikler gradvis sin egen versjon av virkeligheten.
Én skjerm leser den transaksjonelle statusen.
En annen leser et aggregat.
En annen stoler på bufrede data.
En rapport beregner noe litt annerledes.
Et unntak løses operativt, men forsvinner fra rapporteringen.
Hver komponent fungerer.
Hele systemet lyver.
Vanligvis høflig.
Så åpnet vi Report Center.
Daglig operativ oversikt.
Lager og belegg.
Flow-ytelse.
SSCC-sporbarhet.
Unntak og SLA.
Den samme operative historien dukket opp igjen.
Fullførte Flows.
Aktive ordre.
Lagerutnyttelse.
Unntak.
Inngående.
Utgående.
Behandlingstid.
Men denne gangen var spørsmålet ikke om rapporten så riktig ut.
Spørsmålet var:
Kan den forsvare seg selv?
En god rapport gir deg et tall.
Et bedre system kan forklare hvor tallet kommer fra.

Rapportering fra samme operative status — ikke en andre versjon av virkeligheten.

Flow.
Flow.
Flow.
Flow.


Unntaket var fortsatt der.
En av de stillere detaljene viste seg å være en av de viktigere.
Demodataene inneholder et unntak.
Det vises i Analytics.
Det vises i Drill-down.
Det vises i SSCC-sporbarheten.
Det vises i Report Center.
Og det forblir synlig i Exceptions & SLA.
Det er nøyaktig det som bør skje.
Å komme seg operativt etter et unntak betyr ikke at unntaket bør forsvinne fra historikken.
«Prosessen fortsatte» og «ingenting skjedde» er ikke det samme utsagnet.
I logistikk betyr den forskjellen noe.
På dette punktet hadde vi et testproblem.
Ikke et programvareproblem.
Et testproblem.
Vi hadde nå det samme lageret representert som:

  • analytics,
  • individuelle Flows,
  • SSCC-historikker,
  • dokumentkjeder,
  • rapporter,
  • og unntaksvisninger.

Hver enkelt kunne testes uavhengig.
Åpne.
Klikke.
Filtrere.
Verifisere.
Bestå.
Neste.

Det ville være enkelt.
Det ville også gå glipp av den interessante delen.
For seks grønne haker beviser ikke at seks visninger stemmer overens med hverandre.
Inn kommer COCO.
Igjen.
COCO hadde allerede hatt med Flow å gjøre før.
Autentisering.
Brukere.
Roller.
Databasemiljøer.
Språk.
Desktop-utførelse.
Så kom logistikken.
Lagre.
Beholdning.
Plukking.
Bevegelser.
Unntak.
Dokumenter.
Ubuntu.
Red Hat Enterprise Linux.
Denne gangen ga vi COCO noe litt annerledes.
Ikke en skjerm å verifisere.
En historie å følge.
Ta dette lageret.
Ta dette Flowet.
Ta denne SSCC-en.
Åpne Analytics.
Åpne Drill-down.
Endre språket.
Se igjen.
Åpne rapporten.
Finn samme Flow.
Finn samme SSCC.
Finn unntaket.
Sammenlign.
Sammenlign deretter igjen.

COCO følger samme operative kontekst gjennom softify.pro Flow — analytics, sporbarhet, språkendringer og rapportering.

Det endrer testens natur.

Spørsmålet er ikke lenger:

  • Fungerer hver modul?

Det blir:

  • Tror alle modulene at det samme skjedde?

Et mye bedre spørsmål.
Mye mindre komfortabelt.
Et lagersystem bør ha ett minne.
Operatører ser kanskje posisjoner.
Lagersjefer ser kanskje KPI-er.
Support bruker kanskje drill-down.
Revisorer bruker kanskje rapporter.
COCO ser kanskje alle disse.
Men under disse perspektivene bør det finnes én historikk.
Ett Flow bør ikke få flere biografier avhengig av hvilken modul som er åpen.
Én SSCC bør ikke ha flere fortider.
Ett unntak bør ikke bare eksistere der det er praktisk.
Ett lager bør ikke bli et annet lager fordi grensesnittspråket ble endret.
Det er hva det nåværende Flow-eksperimentet egentlig handler om.
Ikke dashbord.
Ikke rapporter.
Ikke engang enkeltskjermer.
Én operativ sannhet, uttrykt på ulike måter.
Kontroll.
Kjenne lageret.
Kjenne statusen.
Vite hva som beveger seg.
Vite hvilken prosess som eier det.
Klarhet.
Gjøre KPI-er om til poster igjen.
Gjøre poster om til historikk.
Gjøre unntak om til bevis.
Gjøre en SSCC om til noe sporbart.
Flow.
Et lager velges.
Analytics begynner å beskrive det.
Et Flow går fremover.
SSCC-en forblir tilknyttet.
En dokumentkjede vokser.
Et unntak dukker opp.
Prosessen fortsetter.
Rapporten husker.
Så endres språket.
Lageret er fortsatt det samme.
Flowet er fortsatt det samme.
Historikken er fortsatt den samme.
Det var den forventede delen.
Det som skjedde etterpå var mer interessant.
COCO sluttet å teste visningene uavhengig.
Det begynte å sammenligne dem.
En stund skjedde det ingenting bemerkelsesverdig.
Samme lager.
Samme Flow.
Samme SSCC.
Samme historie.
Igjen.
Igjen.
Igjen.
Og så stoppet COCO.
Ikke fordi applikasjonen krasjet.
Det gjorde den ikke.
Ikke fordi en test feilet i vanlig forstand.
Det gjorde den ikke.
Den stoppet fordi to helt rimelige svar produserte et tredje spørsmål.

Vi vet hva spørsmålet er.
Flow vet hvorfor det finnes.
COCO vet hvor det skal se neste.

Resten kan vente.


Control. Clarity. Flow.

Publisert: 31.08.2026

Permalenke →

COCO slår til igjen

COCO slår til igjen

Vi bør nok slutte å gi COCO ideer.

Det forrige eksperimentet skulle være nok.

En ekte applikasjon.

Ekte navigasjon.

Brukere.

Roller.

Databaser.

Språk.

Bevis.

En respektabel casestudie.

En ren konklusjon.

Så viste noen det: Logistics in Motion.

Det var nok feilen.

Det begynte med tre lagre

Ingenting spesielt spennende.

…

Et brev fra COCO

Et brev fra COCO

Til ingeniøren som åpner dette repositoriet for første gang:

Velkommen.

Du har kanskje kommet hit fordi noe feilet.

En tjeneste sluttet å svare.

En utrulling oppførte seg uventet.

Et varsel vekket deg midt på natten.

Eller kanskje du bare er nysgjerrig på hvordan denne plattformen fungerer.

Uansett hva som førte deg hit, vit at dette prosjektet ble bygget for nettopp slike øyeblikk.

Ikke for å fjerne vanskelige problemer.

Men for å gjøre vanskelige problemer forståelige.

Du vil finne kode.

Du vil finne dokumentasjon.

Du vil finne spesifikasjoner.

Men enda viktigere,

håper jeg du vil finne resonnement.

…