Egy raktár. Egy igazság.
Van egy egyszerű módja annak, hogy egy raktári szoftver meggyőzőnek tűnjön.
Nyiss meg egy irányítópultot.
Mutass néhány zöld számot.
Adj hozzá egy diagramot.
Tegyél némi készletet egy raktártérképre.
Zárd egy jelentéssel.
Minden rendben néz ki.
És mégis minden lehet rossz.
Mert egy raktárnak nem számít, milyen szépen néz ki az irányítópult.
Az számít, hogy a rendszer minden része egyetért-e abban, mi történt valójában.
Ez lett a legújabb softify.pro Flow kísérlet érdekes része.
Nem egy újabb képernyő.
Nem egy újabb KPI.
Nem egy újabb jelentés.
Valami sokkal kevésbé látható.
Konzisztencia.
Egy raktárral kezdődött.
A jelenlegi softify.pro Flow demó több szintetikus raktárkörnyezettel dolgozik.
Különböző raktár-azonosítók.
Különböző kapacitások.
Különböző zónastruktúrák.
Nincs termelési készlet.
Nincs ügyféladat.
Nincs valódi üzemi információ.
De a folyamatlogika úgy viselkedik, mintha mindez számítana.
Mert a valódi logisztikában számít.
Amint egy raktár ki van választva, ez a kontextus mindennek a részévé válik, ami ezután következik.
Flow-k.
SSCC-k.
Mozgások.
Kezelők.
Analitika.
Jelentések.
Ez magától értetődőnek hangzik.
Jelentősen kevésbé lesz az, amint ugyanaz a folyamat az alkalmazás több különböző részén kezd megjelenni.
Aztán kinyitottunk egy másik nézetet.
Operational Analytics.
Hirtelen a raktár teljesen másképp nézett ki.
Nincsenek tárolási pozíciók.
Nincsenek mozgásnyilak.
Ehelyett:
- befejezett Flow-k,
- aktív rendelések,
- raktárkihasználtság,
- kivételek,
- bejövő,
- kimenő,
- feldolgozási idő.
A vizuális megjelenítés megváltozott.
A raktár nem.
Ez a megkülönböztetés fontossá vált.
Mert a KPI-k alatt még mindig egyedi rekordok voltak.
Flow-azonosítók.
SSCC-k.
Zónák.
Állapotok.
Kezelők.
Feldolgozási idők.
Más nézet.
Ugyanaz az üzemi valóság.
Eddig rendben.
Operational Analytics — összesített raktárállapot, az alapul szolgáló Flow-rekordokkal, amelyek továbbra is láthatók.
A 88% csak akkor hasznos, ha a rendszer meg tudja magyarázni.
Tegyük fel, hogy az irányítópult ezt mondja:
Raktárkihasználtság: 88%.
Hasznos.
De hiányos.
Néhány pozíció foglalt.
Néhány fenntartott.
Néhány szabad marad.
Ezek az állapotok nem felcserélhetők.
A szám csak akkor lesz megbízható, ha a rendszer még mindig meg tudja magyarázni, honnan származik.
Öt befejezett Flow?
Mutasd meg őket.
Két aktív rendelés?
Mutasd meg őket.
Egy kivétel?
Melyik?
88%-os kihasználtság?
Mi foglalt?
Mi fenntartott?
Mi marad szabad?
Egy irányítópultnak össze kellene foglalnia a valóságot.
Nem kellene helyettesítenie azt.
Aztán megváltoztattuk a nyelvet.
Holland.
A raktár ugyanaz maradt.
A Flow-azonosítók ugyanazok maradtak.
Az SSCC-k ugyanazok maradtak.
A kezelők a rekordjaikhoz kapcsolva maradtak.
Csak a nyelv változott.
Később ugyanaz az üzemi állapot megjelent horvátul.
Aztán franciául.
Itt válik a többnyelvű szoftver sokkal érdekesebbé, mint a lefordított gombok.
Egy rossz fordítást könnyű észrevenni.
A nyelvváltás által okozott állapotváltozás sokkal veszélyesebb.
Képzeld el, hogy átváltasz németről franciára, és csendben elveszíted a kiválasztott Flow-t.
Vagy újraépítesz egy szűrőt a rossz raktár ellenében.
Vagy a helyes SSCC-t a rossz folyamatkontextusban jeleníted meg.
A felület még mindig tökéletesnek tűnhet.
A rendszer nem lenne az.
A Flow ezért egy egyszerű szabályt követ:
A nyelv megváltoztathatja a szavakat. Nem változtathatja meg az igazságot.
Aztán a Flow egy előzményt kapott.
A Browse & Drill-down nem próbál különösebben lenyűgözőnek tűnni.
Talán pont ezért hasznos.
Válassz egy Flow-t.
Megjelenik a kontextusa.
Raktár.
Zóna.
Állapot.
Kezelő.
SSCC.
És aztán a dokumentumlánc.
ASN.
Árubeérkezés.
Raktármozgás.
Kiszedési utasítás.
Kiszedés.
Kiszállítás.
FLOW.
Hét lépés.
A folyamat már nem csak egy aktuális állapot.
Van múltja.
És ez megváltoztatja a kérdést.
Ahelyett, hogy:
Mi történik?
megkérdezhetjük:
Hogyan jutottunk ide?
Ez sokkal jobb kérdés, amikor végül valami elromlik.
Egy Flow, egy SSCC, egy dokumentumlánc — az ASN-től a befejezésig.
Az SSCC-ből fonal lesz.
Elsőre egy SSCC úgy néz ki, amilyen valójában.
Egy azonosító.
Egy hosszú szám egy táblázatban.
De a Flow-n keresztül valami hasznosabbá válik.
Egy fonal a folyamaton át.
Kövesd, és más dolgok elkezdenek összekapcsolódni.
Egy raktár.
Egy Flow.
Egy zóna.
Egy állapot.
Egy kezelő.
Egy dokumentumlánc.
Végül egy jelentés.
Ugyanaz a fizikai logisztikai objektum most az alkalmazás több különböző részéből látható.
Hasznos.
Veszélyes is.
Mert minden további nézet újabb lehetőséget teremt a rendszernek, hogy más történetet meséljen.
És itt válik izgalmassá a dolog.
Tegyük fel, hogy az Analytics azt mondja, a Flow aktív.
A Drill-down azt mondja, hogy az SSCC ahhoz a Flow-hoz tartozik.
A dokumentumlánc azt mondja, hogy a művelet tovább haladt.
A jelentés mást mond.
Melyik a helyes?
Ez nem Flow-specifikus probléma.
Ez az üzleti szoftverek egyik legrégebbi problémája.
Ugyanazon rendszer különböző részei fokozatosan saját valóságváltozatot fejlesztenek ki.
Az egyik képernyő a tranzakciós állapotot olvassa.
Egy másik egy aggregátumot olvas.
Egy másik gyorsítótárazott adatokra támaszkodik.
Egy jelentés valamit kicsit másképp számol ki.
Egy kivétel üzemileg megoldódik, de eltűnik a jelentésből.
Minden komponens működik.
A teljes rendszer hazudik.
Általában udvariasan.
Ezért megnyitottuk a Report Centert.
Napi üzemi áttekintés.
Készlet és foglaltság.
Flow teljesítmény.
SSCC nyomon követhetőség.
Kivételek és SLA.
Ugyanaz az üzemi történet jelent meg újra.
Befejezett Flow-k.
Aktív rendelések.
Raktárkihasználtság.
Kivételek.
Bejövő.
Kimenő.
Feldolgozási idő.
De ezúttal a kérdés nem az volt, hogy a jelentés helyesnek tűnik-e.
A kérdés ez volt:
Meg tudja-e védeni magát?
Egy jó jelentés ad neked egy számot.
Egy jobb rendszer meg tudja magyarázni, honnan származik a szám.
Jelentés ugyanabból az üzemi állapotból — nem a valóság egy második változata.



A kivétel még mindig ott volt.
Az egyik csendesebb részlet az egyik legfontosabbnak bizonyult.
A demóadatok tartalmaznak egy kivételt.
Megjelenik az Analyticsben.
Megjelenik a Drill-downban.
Megjelenik az SSCC nyomon követhetőségében.
Megjelenik a Report Centerben.
És látható marad az Exceptions & SLA-ban.
Pontosan ennek kellene történnie.
Egy kivételből való üzemi felépülés nem jelenti azt, hogy a kivételnek el kellene tűnnie az előzményekből.
„A folyamat folytatódott" és „semmi sem történt" nem ugyanaz az állítás.
A logisztikában ez a különbség számít.
Ezen a ponton tesztelési problémánk volt.
Nem szoftverproblémánk.
Tesztelési problémánk.
Most ugyanaz a raktár volt ábrázolva mint:
- analitika,
- egyedi Flow-k,
- SSCC-előzmények,
- dokumentumláncok,
- jelentések,
- és kivételnézetek.
Mindegyik függetlenül tesztelhető volt.
Megnyitás.
Kattintás.
Szűrés.
Ellenőrzés.
Sikeres.
Következő.
Ez könnyű lenne.
Ugyanakkor kihagyná az érdekes részt.
Mert hat zöld pipa nem bizonyítja, hogy hat nézet egyetért egymással.
Színre lép a COCO.
Ismét.
A COCO korábban már foglalkozott a Flow-val.
Hitelesítés.
Felhasználók.
Szerepkörök.
Adatbázis-környezetek.
Nyelvek.
Desktop-végrehajtás.
Aztán jött a logisztika.
Raktárak.
Készlet.
Kiszedés.
Mozgások.
Kivételek.
Dokumentumok.
Ubuntu.
Red Hat Enterprise Linux.
Ezúttal valami kicsit mást adtunk a COCO-nak.
Nem egy ellenőrizendő képernyőt.
Egy követendő történetet.
Vedd ezt a raktárt.
Vedd ezt a Flow-t.
Vedd ezt az SSCC-t.
Nyisd meg az Analyticset.
Nyisd meg a Drill-downot.
Változtasd meg a nyelvet.
Nézd meg újra.
Nyisd meg a jelentést.
Találd meg ugyanazt a Flow-t.
Találd meg ugyanazt az SSCC-t.
Találd meg a kivételt.
Hasonlítsd össze.
Aztán hasonlítsd össze újra.
A COCO ugyanazt az üzemi kontextust követi a softify.pro Flow-n keresztül — analitika, nyomon követhetőség, nyelvváltások és jelentéskészítés.
Ez megváltoztatja a teszt jellegét.
A kérdés már nem az:
- Működik-e minden modul?
Hanem ez:
- Minden modul ugyanazt hiszi-e, hogy mi történt?
Sokkal jobb kérdés.
Sokkal kevésbé kényelmes.
Egy raktárrendszernek egy memóriával kellene rendelkeznie.
A kezelők talán pozíciókat látnak.
A raktárvezetők talán KPI-kat látnak.
A támogatás talán drill-downot használ.
Az auditorok talán jelentéseket használnak.
A COCO talán mindegyiket látja.
De ezen nézőpontok alatt egyetlen előzménynek kellene lennie.
Egy Flow-nak nem kellene több életrajzot szereznie attól függően, melyik modul van nyitva.
Egy SSCC-nek nem kellene több múltja legyen.
Egy kivételnek nem kellene csak ott léteznie, ahol kényelmes.
Egy raktárnak nem kellene másik raktárrá válnia csak azért, mert a felület nyelve megváltozott.
Valójában erről szól a jelenlegi Flow kísérlet.
Nem irányítópultokról.
Nem jelentésekről.
Még csak nem is egyedi képernyőkről.
Egy üzemi igazságról, amely különböző módokon fejeződik ki.
Kontroll.
Ismerd a raktárat.
Ismerd az állapotot.
Tudd, mi mozog.
Tudd, melyik folyamathoz tartozik.
Tisztaság.
Alakítsd vissza a KPI-kat rekordokká.
Alakítsd a rekordokat előzményekké.
Alakítsd a kivételeket bizonyítékokká.
Alakíts egy SSCC-t valami nyomon követhetővé.
Flow.
Egy raktárat kiválasztanak.
Az Analytics elkezdi leírni.
Egy Flow halad előre.
Az SSCC csatlakoztatva marad.
Egy dokumentumlánc növekszik.
Egy kivétel megjelenik.
A folyamat folytatódik.
A jelentés emlékszik.
Aztán a nyelv megváltozik.
A raktár még mindig ugyanaz.
A Flow még mindig ugyanaz.
Az előzmény még mindig ugyanaz.
Ez volt a várt rész.
Ami ezután történt, érdekesebb volt.
A COCO abbahagyta a nézetek független tesztelését.
Elkezdte összehasonlítani őket.
Egy ideig semmi figyelemre méltó nem történt.
Ugyanaz a raktár.
Ugyanaz a Flow.
Ugyanaz az SSCC.
Ugyanaz a történet.
Újra.
Újra.
Újra.
Aztán a COCO megállt.
Nem azért, mert az alkalmazás összeomlott.
Nem omlott össze.
Nem azért, mert egy teszt a szokásos értelemben megbukott.
Nem bukott meg.
Azért állt meg, mert két teljesen ésszerű válasz egy harmadik kérdést eredményezett.
Tudjuk, mi a kérdés.
A Flow tudja, miért létezik.
A COCO tudja, hol nézzen legközelebb.
A többi várhat.
Control. Clarity. Flow.