Eno skladišče. Ena resnica.
Obstaja preprost način, kako narediti programsko opremo za skladišče prepričljivo.
Odpri nadzorno ploščo.
Prikaži nekaj zelenih številk.
Dodaj grafikon.
Postavi nekaj zaloge na zemljevid skladišča.
Zaključi s poročilom.
Vse izgleda v redu.
In vendar je lahko vse narobe.
Kajti skladišču ni mar, kako lepo izgleda nadzorna plošča.
Njemu je mar, ali se vsak del sistema strinja o tem, kaj se je dejansko zgodilo.
To je postalo zanimiv del najnovejšega eksperimenta softify.pro Flow.
Ne še en zaslon.
Ne še en KPI.
Ne še eno poročilo.
Nekaj veliko manj vidnega.
Doslednost.
Začelo se je s skladiščem.
Trenutna predstavitev softify.pro Flow deluje z več sintetičnimi skladiščnimi okolji.
Različni ID-ji skladišč.
Različne zmogljivosti.
Različne strukture con.
Brez proizvodne zaloge.
Brez podatkov o strankah.
Brez resničnih operativnih informacij.
Toda procesna logika se obnaša, kot da je vse to pomembno.
Ker je v resnični logistiki.
Ko je skladišče enkrat izbrano, ta kontekst postane del vsega, kar sledi.
Flowi.
SSCC-ji.
Premiki.
Operaterji.
Analitika.
Poročila.
To zveni samoumevno.
Postane precej manj samoumevno, ko se isti proces začne pojavljati v več različnih delih aplikacije.
Nato smo odprli drug pogled.
Operational Analytics.
Nenadoma je skladišče izgledalo popolnoma drugače.
Brez skladiščnih pozicij.
Brez puščic premikov.
Namesto tega:
- zaključeni Flowi,
- aktivna naročila,
- zasedenost skladišča,
- izjeme,
- vhod,
- izhod,
- čas obdelave.
Vizualni prikaz se je spremenil.
Skladišče ne.
To razlikovanje je postalo pomembno.
Kajti pod KPI-ji so bili še vedno posamezni zapisi.
ID-ji Flow.
SSCC-ji.
Cone.
Statusi.
Operaterji.
Časi obdelave.
Drugačen pogled.
Ista operativna resničnost.
Doslej dobro.
Operational Analytics — agregirano stanje skladišča, pri čemer so osnovni zapisi Flow še vedno vidni.
88 % je koristnih le, če sistem to zna pojasniti.
Recimo, da nadzorna plošča pravi:
Zasedenost skladišča: 88 %.
Koristno.
A nepopolno.
Nekatere pozicije so zasedene.
Nekatere so rezervirane.
Nekatere ostajajo proste.
Ta stanja niso zamenljiva.
Številka postane zaupanja vredna šele, ko sistem še vedno zna pojasniti, od kod izhaja.
Pet zaključenih Flowov?
Pokaži jih.
Dve aktivni naročili?
Pokaži ju.
Ena izjema?
Katera?
88 % zasedenosti?
Kaj je zasedeno?
Kaj je rezervirano?
Kaj ostaja prosto?
Nadzorna plošča naj bi povzemala resničnost.
Ne bi je smela nadomeščati.
Nato smo spremenili jezik.
Nizozemščina.
Skladišče je ostalo enako.
ID-ji Flow so ostali enaki.
SSCC-ji so ostali enaki.
Operaterji so ostali povezani s svojimi zapisi.
Spremenil se je le jezik.
Pozneje se je isto operativno stanje pojavilo v hrvaščini.
Nato v francoščini.
Tu postane večjezična programska oprema veliko bolj zanimiva od prevedenih gumbov.
Slab prevod je enostavno opaziti.
Sprememba stanja, ki jo povzroči sprememba jezika, je veliko nevarnejša.
Predstavljajte si preklop iz nemščine v francoščino in tiho izgubo izbranega Flowa.
Ali ponovno gradnjo filtra proti napačnemu skladišču.
Ali prikaz pravilnega SSCC znotraj napačnega procesnega konteksta.
Vmesnik bi lahko še vedno izgledal popolno.
Sistem to ne bi bil.
Flow zato sledi preprostemu pravilu:
Jezik lahko spremeni besede. Ne sme spremeniti resnice.
Nato je Flow pridobil zgodovino.
Browse & Drill-down se posebej ne trudi izgledati impresivno.
Morda je prav zato koristen.
Izberi Flow.
Pojavi se njegov kontekst.
Skladišče.
Cona.
Status.
Operater.
SSCC.
In nato veriga dokumentov.
ASN.
Prevzem blaga.
Skladiščni premik.
Nalog za komisioniranje.
Komisioniranje.
Odprema.
FLOW.
Sedem korakov.
Proces ni več le trenutno stanje.
Ima preteklost.
In to spremeni vprašanje.
Namesto:
Kaj se dogaja?
lahko vprašamo:
Kako smo prišli sem?
To je veliko boljše vprašanje, ko na koncu nekaj gre narobe.
En Flow, en SSCC, ena veriga dokumentov — od ASN do zaključka.
SSCC postane rdeča nit.
Sprva SSCC izgleda tako, kot je.
Identifikator.
Dolga številka v tabeli.
A skozi Flow postane nekaj bolj koristnega.
Rdeča nit skozi proces.
Sledite ji in druge stvari se začnejo povezovati.
Skladišče.
Flow.
Cona.
Status.
Operater.
Veriga dokumentov.
Sčasoma poročilo.
Isti fizični logistični predmet je zdaj viden iz več različnih delov aplikacije.
Koristno.
Tudi nevarno.
Kajti vsak dodatni pogled ustvari novo priložnost za sistem, da pove drugačno zgodbo.
In prav tam postane zanimivo.
Recimo, da Analytics pravi, da je Flow aktiven.
Drill-down pravi, da SSCC pripada temu Flowu.
Veriga dokumentov pravi, da je operacija napredovala dlje.
Poročilo pravi nekaj drugega.
Kateri je pravilen?
To ni težava, specifična za Flow.
Gre za eno najstarejših težav v poslovni programski opremi.
Različni deli istega sistema postopoma razvijejo svojo lastno različico resničnosti.
En zaslon bere transakcijsko stanje.
Drug bere agregat.
Tretji se zanaša na predpomnjene podatke.
Poročilo izračuna nekaj nekoliko drugače.
Izjema se operativno reši, a izgine iz poročanja.
Vsaka komponenta deluje.
Celoten sistem laže.
Običajno vljudno.
Zato smo odprli Report Center.
Dnevni operativni pregled.
Zaloga in zasedenost.
Zmogljivost Flowa.
Sledljivost SSCC.
Izjeme in SLA.
Ista operativna zgodba se je pojavila znova.
Zaključeni Flowi.
Aktivna naročila.
Zasedenost skladišča.
Izjeme.
Vhod.
Izhod.
Čas obdelave.
Tokrat pa vprašanje ni bilo, ali poročilo izgleda pravilno.
Vprašanje je bilo:
Ali se zna zagovarjati samo?
Dobro poročilo vam da številko.
Boljši sistem zna pojasniti, od kod ta številka izvira.
Poročanje iz istega operativnega stanja — ne druga različica resničnosti.



Izjema je bila še vedno tam.
Ena od tišjih podrobnosti se je izkazala za eno pomembnejših.
Predstavitveni podatki vsebujejo izjemo.
Pojavi se v Analytics.
Pojavi se v Drill-down.
Pojavi se v sledljivosti SSCC.
Pojavi se v Report Centru.
In ostane vidna v Exceptions & SLA.
Prav to bi se moralo zgoditi.
Operativno okrevanje po izjemi ne pomeni, da bi morala izjema izginiti iz zgodovine.
„Proces se je nadaljeval" in „nič se ni zgodilo" nista ista izjava.
V logistiki je ta razlika pomembna.
Na tej točki smo imeli testni problem.
Ne problem s programsko opremo.
Testni problem.
Zdaj smo imeli isto skladišče prikazano kot:
- analitika,
- posamezni Flowi,
- zgodovine SSCC,
- verige dokumentov,
- poročila,
- in pogledi na izjeme.
Vsakega je bilo mogoče testirati neodvisno.
Odpri.
Klikni.
Filtriraj.
Preveri.
Uspej.
Naprej.
To bi bilo preprosto.
Prav tako bi zgrešilo zanimiv del.
Kajti šest zelenih kljukic ne dokazuje, da se šest pogledov medsebojno ujema.
Vstopi COCO.
Znova.
COCO je imel opravka s Flowom že prej.
Avtentikacija.
Uporabniki.
Vloge.
Okolja podatkovnih baz.
Jeziki.
Izvajanje na namizju.
Nato je prišla logistika.
Skladišča.
Zaloga.
Komisioniranje.
Premiki.
Izjeme.
Dokumenti.
Ubuntu.
Red Hat Enterprise Linux.
Tokrat smo COCO-ju dali nekaj nekoliko drugačnega.
Ne zaslon za preverjanje.
Zgodbo, ki naj jo sledi.
Vzemi to skladišče.
Vzemi ta Flow.
Vzemi ta SSCC.
Odpri Analytics.
Odpri Drill-down.
Spremeni jezik.
Poglej znova.
Odpri poročilo.
Najdi isti Flow.
Najdi isti SSCC.
Najdi izjemo.
Primerjaj.
Nato primerjaj znova.
COCO sledi istemu operativnemu kontekstu skozi softify.pro Flow — analitiki, sledljivosti, spremembam jezika in poročanju.
To spremeni naravo testa.
Vprašanje ni več:
- Ali vsak modul deluje?
Postane:
- Ali vsi moduli verjamejo, da se je zgodila ista stvar?
Veliko boljše vprašanje.
Veliko manj udobno.
Skladiščni sistem naj bi imel en spomin.
Operaterji morda vidijo pozicije.
Vodje skladišč morda vidijo KPI-je.
Podpora morda uporablja drill-down.
Revizorji morda uporabljajo poročila.
COCO morda vidi vse to.
A pod temi perspektivami naj bi obstajala ena zgodovina.
En Flow naj ne bi pridobil več biografij, odvisno od tega, kateri modul je odprt.
En SSCC naj ne bi imel več preteklosti.
Ena izjema naj ne bi obstajala samo tam, kjer je priročno.
Eno skladišče naj ne bi postalo drugo skladišče, ker se je spremenil jezik vmesnika.
Za to dejansko gre pri trenutnem eksperimentu Flow.
Ne za nadzorne plošče.
Ne za poročila.
Niti za posamezne zaslone.
Za eno operativno resnico, izraženo na različne načine.
Nadzor.
Poznati skladišče.
Poznati stanje.
Vedeti, kaj se premika.
Vedeti, kateremu procesu pripada.
Jasnost.
Spremeniti KPI-je nazaj v zapise.
Spremeniti zapise v zgodovino.
Spremeniti izjeme v dokaze.
Spremeniti SSCC v nekaj sledljivega.
Flow.
Skladišče je izbrano.
Analytics ga začne opisovati.
Flow napreduje.
SSCC ostane pripet.
Veriga dokumentov raste.
Izjema se pojavi.
Proces se nadaljuje.
Poročilo si zapomni.
Nato se jezik spremeni.
Skladišče je še vedno enako.
Flow je še vedno enak.
Zgodovina je še vedno enaka.
To je bil pričakovan del.
Kar se je zgodilo potem, je bilo bolj zanimivo.
COCO je prenehal neodvisno testirati poglede.
Začel jih je primerjati.
Nekaj časa se ni zgodilo nič posebnega.
Isto skladišče.
Isti Flow.
Isti SSCC.
Ista zgodba.
Znova.
Znova.
Znova.
In nato se je COCO ustavil.
Ne zato, ker se je aplikacija sesula.
Se ni.
Ne zato, ker je test spodletel v običajnem pomenu.
Ni spodletel.
Ustavil se je, ker sta dva popolnoma smiselna odgovora ustvarila tretje vprašanje.
Vemo, kakšno je vprašanje.
Flow ve, zakaj obstaja.
COCO ve, kam pogledati naslednjič.
Ostalo lahko počaka.
Control. Clarity. Flow.