COCO znova udari
Verjetno bi morali nehati dajati COCO ideje.
Prejšnji eksperiment naj bi bil dovolj.
Prava aplikacija.
Prava navigacija.
Uporabniki.
Vloge.
Zbirke podatkov.
Jeziki.
Dokazi.
Spoštovanja vredna študija primera.
Čist zaključek.
Nato je nekdo to pokazal: Logistics in Motion.
To je bila verjetno napaka.
Začelo se je s tremi skladišči
Nič posebno razburljivega.
Tri DEMO skladišča.
Brez podatkov o strankah.
Brez produkcijskih zalog.
Natanko tak tip okolja, kjer se ne bi smelo zgoditi nič pomembnega.
Nato je bilo izbrano prvo skladišče.
In aplikacija je pridobila kontekst.
Od tega trenutka je bilo vsakemu zaslonu pripeto še eno vprašanje.
Ali to še vedno pripada istemu skladišču?
Ali jezik spremeni samo vmesnik?
Ali proces ostaja na istem koraku?
Ali se zaloga še vedno ujema?
Ali referenca dokumenta še vedno kaže na pravi dogodek?
Ali operater vidi natanko to, kar je potrebno za naslednje dejanje?
Nenadoma zanimivi del ni bil več zaslon.
Bila je kontinuiteta med zasloni.
COCO se nagiba k temu.
Logistika ni zbirka zaslonov
Od zunaj se lahko skladiščna programska oprema zdi zavajajoče preprosta.
Blago prispe.
Ga uskladiščite.
Nekdo ga naroči.
Ga poberete.
Ga odpremite.
Konec.
Le da se med prispelo in odpremljeno skriva cel operativni svet.
Pričakovano.
Prejeto.
Preverjeno.
Na voljo.
Rezervirano.
Premaknjeno.
Pobrano.
Blokirano.
Popravljeno.
Odpremljeno.
Revidirano.
Fizično gibanje je pomembno.
A prehod stanja je tisti, ki naredi to gibanje razumljivo za programsko opremo.
In ko se ti dve resničnosti nehata ujemati, ima nekdo na koncu slab dan.
Skladišče je lažje razumeti, ko je gibanje vidno, ne le zabeleženo.
Zato se naše logistično delo nikoli ni resnično začelo z meniji, nadzornimi ploščami, ali tehnologijo.
Začne se z materialnim Flow.
Kje vstopi informacija?
Kje se spremeni?
Kje se lahko izgubi?
Kje je nekdo prisiljen vprašati drugo osebo, kaj se je zgodilo?
Kje ročni korak tiho postane najšibkejši del sicer avtomatiziranega procesa?
Včasih je odgovor nov vmesnik.
Včasih integracija.
Včasih skener.
Včasih preprosto boljši model stanja.
Več programske opreme ni samodejno boljša programska oprema.
Cilj ni avtomatizacija zaradi same sebe.
Cilj je proces, ki ostaja razumljiv.
Control. Clarity. Flow.
Proces se začne pred prvo knjižbo.
Pred prejemom blaga.
Pred komisioniranjem.
Pred premikom zaloge.
Pred prvo transakcijo.
Flow zastavi zelo osnovno vprašanje:
V katerem skladišču delamo?
Zveni skoraj trivialno.
Ni.
Kontekst skladišča pripada vsemu, kar sledi.
Zaloga.
Dokumenti.
Lokacije.
Komisioniranje.
Premestitve.
Zgodovina revizij.
Izjeme.
Proces lahko izgleda popolnoma zdrav, medtem ko deluje v napačnem kontekstu.
To je natanko tak problem, ki ga posnetek zaslona redko razkrije.
In natanko taka meja, ki jo COCO rad izpostavi vprašanju.
Jezik je enostaven, dokler ni
Nemščina.
Angleščina.
Hrvaščina.
Norveščina.
In drugi.
Uporabniški profil določa razpoložljive jezike.
Operater preklopi jezik, medtem ko aplikacija teče.
Vmesnik se takoj spremeni.
Poslovni proces se ne sme.
Ta razlika je pomembna.
Skladišče se ne premakne, ker se je beseda za skladišče spremenila.
Nalog za komisioniranje se ne začne znova, ker je uporabnik izbral drug jezik.
Rezervacija ne izgine.
Izjema nenadoma ne pripada drugi transakciji.
Proces ostaja tam, kjer je.
Spremeni se samo njegova predstavitev.
To zveni očitno.
Dokler ne ugotovite, koliko aplikacij obravnava jezikovni preklop skoraj kot novo sejo.
Večjezična poslovna aplikacija tega ne bi smela.
Predstavitveno stanje se lahko spremeni.
Poslovno stanje mora ostati stabilno.
To naredi jezikovni preklop presenetljivo koristen regresijski test.
Majhna funkcija.
Zelo dobra prelomna linija.
COCO ima rad prelomne linije.
Korak za korakom aplikacija začne kopičiti zgodovino
Blago prispe.
Proces napreduje.
Prejem blaga se knjiži.
Zaloga se spremeni.
Stanje skladišča odraža novo resničnost.
Komisioniranje se začne.
Zaloga postane rezervirana.
Operater prejme nalogo.
Mobilni pogled zmanjša celoten proces na to, kar je pomembno v tistem točnem trenutku:
Pozicija.
Skladiščna lokacija.
Količina.
SSCC.
Operater.
Nič več.
Nič manj.
To je pomembno.
Mobilni vmesnik ni drugi poslovni proces.
Je drug pogled na istega.
Skladiščna aplikacija lahko ve vse.
Pobiralcu tega ni treba.
Clarity ne pomeni vedno prikaz več informacij.
Včasih clarity pomeni disciplino, da skrijemo skoraj vse.
Nato nekdo skenira napačno lokacijo
Tu logistični delovni tok postane bolj zanimiv od seznama funkcij.
Pričakovana lokacija je ena stvar.
Skenirana lokacija je druga.
Flow se ustavi.
Se ne sesuje.
Se ustavi.
Obstaja razlika.
Stanje procesa ostaja vidno.
Prizadeta zaloga ostaja razumljiva.
Izjema postane eksplicitna.
Kontekstualna pomoč pojasni, kaj je relevantno za trenutno situacijo.
Uporabnik razreši neskladje.
Proces se nadaljuje.
Ta trenutek pove več o operativni programski opremi kot več strani posnetkov zaslona idealne poti.
Prava logistika ni težka, ko je vse pravilno.
Prava logistika postane težka, ko je nekaj skoraj pravilno.
Uporaben sistem tega ne skriva za zeleno nadzorno ploščo.
Izjemi da stanje.
Razlog.
Zgodovino.
In pot naprej.
Dokumenti se spomnijo tega, kar ljudje pozabijo
Ko delovni tok napreduje, se reference začnejo kopičiti.
ASN.
Prejem blaga.
Skladiščni premik.
Komisioniranje.
Odprema.
Flow.
Zanimiv del ni to, da dokumenti obstajajo.
Zanimiv del je, da povedo isto zgodbo kot proces.
Zakaj je ta zaloga tukaj?
Kateri prejem jo je uvedel?
Katera operacija jo je rezervirala?
Katero komisioniranje jo je porabilo?
Katera pošiljka jo je premaknila ven?
Ali je bila izjema razrešena pred naslednjim korakom?
Katero je bilo aktivno skladišče?
Kaj se je zgodilo pred trenutnim stanjem?
Ko sta stanje in dokumentacija ustvarjena z istim procesom, sledljivosti lažje zaupamo.
Ko nista, ljudje na koncu začnejo rekonstruirati zgodovino.
Običajno v Excelu.
Običajno pod pritiskom.
Običajno potem, ko je nekaj že šlo narobe.
COCO daje prednost dokazom pred tem trenutkom.
Očitno tudi COCO potuje
Med izvajanji je bila še ena majhna sprememba.
Ubuntu je imel svoje izvajanje.
Red Hat Enterprise Linux 10 je prevzel naslednjega.
COCO je nadaljeval.
Brez ceremonije.
Brez posebnega „načina Red Hat".
Brez prepisanega delovnega toka.
Brez priročno poenostavljenega testa.
Isti Flow.
Drugačna podlaga pod njim.
Prejšnje izvajanje COCO je aplikacijo že preizkusilo na Ubuntu Linuxu.
Trenutno se je preselilo na Red Hat Enterprise Linux 10.
Drugačno namizno okolje.
Drugačne sistemske knjižnice.
Drugačno pakiranje.
Drugačno operativno okolje.
Isto skladišče.
Ista poslovna stanja.
Isti prehodi zalog.
Iste spremembe jezika.
Ista logika izjem.
Isti dokazi.
To je precej lep način za testiranje medplatformske programske opreme.
Ne naznanjajte, da je medplatformska. Premaknite jo. Nato poglejte, kaj se pokvari.
Stanje jezika.
Kontekst skladišča.
Vedenje pogovornih oken.
Časovnost.
Teme.
Prehodi procesa.
Obravnava izjem.
Dokazi.
Operacijski sistemi imajo presenetljivo ustvarjalne načine razkrivanja predpostavk.
Ubuntu je razkril nekatere.
Red Hat razkriva druge.
To je koristno.
Ker medplatformski inženiring ni zmožnost dvakratnega zagona izvedljive datoteke.
Je zmožnost spremeniti okolje, ne da bi spremenili pomen procesa.
Skladiščnega operaterja ne bi smelo zanimati, ali aplikacija teče na Ubuntuju ali Red Hatu.
Naloga za komisioniranje tudi ne bi smela zanimati.
Prav tako ne revizijska sled.
Če platformske razlike začnejo spreminjati poslovno obnašanje, programska oprema ni resnično medplatformska.
Je le prenosljiva.
COCO se zdi bistveno bolj zainteresiran za prvo definicijo.
Mi tudi.
COCO ne odloča, kaj pomeni pravilna logistika
Ta del je pomemben.
COCO ne postane strokovnjak za skladišča samo zato, ker lahko sledi skladiščnemu delovnemu toku.
Ljudje še vedno določajo pravilnost.
Ljudje odločajo, kdaj zaloga postane na voljo.
Ljudje določajo, kaj pomeni blokirana dostava.
Ljudje odločajo, kdo sme popraviti količino.
Ljudje določajo, kateri premik zahteva revizijsko sled.
Ljudje odločajo, kako izgleda veljavna rešitev izjeme.
Ljudje odločajo, kdaj je pošiljka resnično dokončana.
Naloga COCO je drugačna.
Ponoviti.
Opazovati.
Primerjati.
Zapomniti si.
Pustiti dokaze.
Nato to ponovi po tem, ko se programska oprema spremeni.
In znova.
In znova.
Ne da bi se dolgočasil.
Ne da bi se odločil, da je rezultat prejšnjega tedna verjetno še vedno veljaven.
Ne da bi preskočil nadležno izjemo, ker je kosilo čez dvanajst minut.
Bleščeča prihodnost testiranja z UI vsebuje presenetljivo količino ponavljanja.
To štejemo za funkcijo.
Dokazi spremenijo pogovor
Tradicionalno testiranje se pogosto konča s popolnoma razumnim stavkom:
„Delovalo je, ko sem to testiral."
COCO zanima naslednji stavek.
Kaj natanko je delovalo?
Katero skladišče?
Kateri uporabnik?
Kateri jezik?
Katero stanje procesa?
Katero zaporedje?
Kateri dokument?
Katera vrednost zaloge?
Kaj se je zgodilo neposredno pred testnim korakom?
Kaj se je spremenilo neposredno po tem?
Ali lahko drug inženir razume rezultat, ne da bi vprašal osebo, ki je izvedla test?
Tu regresijsko testiranje postane več kot ponavljajoče se klikanje.
En zaslon je lahko pravilen, medtem ko je proces napačen.
Okno za komisioniranje je lahko videti popolno, medtem ko je zaloga že odstopila.
Dokument lahko obstaja, medtem ko se stanje, ki bi ga moralo ustvariti, nikoli ni zgodilo.
Aplikacija lahko prikazuje 100 %, medtem ko se revizijska sled tiho ne strinja.
COCO sledi Flow-u, ker se v Flow-u ta protislovja pokažejo.
Nekje med Control in Flow
Tu je zanimiva simetrija.
Dobra logistična programska oprema skuša zmanjšati negotovost znotraj operacije.
Dobro testiranje skuša zmanjšati negotovost o programski opremi, ki jo izvaja.
Eno vpraša:
Kje je artikel?
Drugo vpraša:
Kako vemo, da programska oprema to še vedno ve?
Eno vpraša:
Ali je bil ta premik dokončan?
Drugo vpraša:
Kateri dokaz dokazuje, da se je stanje pravilno spremenilo?
Eno vpraša:
Ali lahko naslednja izmena nadaljuje?
Drugo vpraša:
Ali lahko naslednji inženir razume, kaj se je zgodilo?
Različna vprašanja.
Isti instinkt.
Narediti stanje vidno.
Ohraniti razlog.
Zmanjšati količino znanja, ki obstaja samo v nekogaršnji glavi.
Morda je to povezava, ki je prvotno nismo načrtovali.
Inženirska odličnost brez transparenta
Nihče ne klikne na gumb Engineering Excellence.
Takega ni.
In verjetno ga ne bi smelo biti.
Inženirska odličnost se pojavi posredno.
Kontekst skladišča preživi jezikovni preklop.
Isti proces preživi drugo Linux platformo.
Premik zaloge ostaja sledljiv.
Mobilni pobiralec vidi natanko to, kar je potrebno, in nič drugega.
Izjema prekine proces, ne da bi uničila njegovo stanje.
Okno pomoči pojasni trenutni kontekst namesto prikazovanja splošne dokumentacije.
Veriga dokumentov se ujema z operativnim zaporedjem.
Naslednji inženir lahko razume, kaj se je zgodilo, ne da bi vprašal osebo, ki je bila slučajno prisotna.
V sodobni programski opremi je na voljo veliko gledališča.
UI lahko ustvari impresivne demonstracije.
Nadzorne plošče se lahko animirajo.
Številke se lahko premikajo.
Videoposnetki so lahko videti zelo prepričljivi.
Nič od tega ne dokazuje, da dve operaciji zaloge ne moreta tiho ustvariti napačnega rezultata.
Nič od tega ne dokazuje, da je izjemo mogoče rekonstruirati še tedne pozneje.
Nič od tega ne dokazuje, da skladiščni delavec, dispečer, in razvijalec gledajo isto operativno resnico.
Inženirska odličnost se začne na manj fotogeničnem mestu.
S konsistentnostjo.
Z dokazi.
Z mejami.
S pripravljenostjo, da dolgočasne dele pustimo dolgočasne.
Nevidna zanesljivost redko ustvari najbolj dramatičen posnetek zaslona.
Dokler tega namerno ne začnete iskati.
Control. Clarity. Flow.
Control pomeni vedeti, katero skladišče, kateri proces, in katero stanje so aktivni.
Clarity pomeni razumeti, kaj se je spremenilo, kdaj se je spremenilo, in zakaj.
Flow pomeni dovoliti, da se operacija nadaljuje, ne da bi izgubili zgodbo za njo.
To deluje za logistiko.
Deluje za testiranje programske opreme.
Deluje presenetljivo dobro za sam inženiring.
Prvi eksperiment Flow je dal COCO Administration.
Uporabniki.
Vloge.
Zbirke podatkov.
Jeziki.
Nato mu je nekdo dal skladišče.
Nato več jezikov.
Nato mobilno komisioniranje.
Nato zalogo.
Nato premestitve.
Nato izjeme.
Nato dokumente.
Nato drug operacijski sistem.
Na tej točki bi verjetno morali nehati dodajati stvari.
Verjetno ne bomo.
Control. Clarity. Flow.
Ubuntu je bil na vrsti.
Red Hat je trenutno na vrsti.
Flow se še naprej giblje.
COCO še naprej opazuje.
In nekje sredi zadnjega izvajanja je postalo očitno, da za tem čaka še eno vprašanje.
Mi vemo, kaj je to.
COCO ve, kaj je to.
Vi ne veste.
Še.
Lahko bi vam povedali.
A potem bi morda nehali preverjati, ali se je pojavil nov članek Insiders.
In to bi pokvarilo eksperiment.
Prejšnji eksperiment naj bi bil dovolj.
Prava aplikacija.
Prava navigacija.
Uporabniki.
Vloge.
Zbirke podatkov.
Jeziki.
Dokazi.
Spoštovanja vredna študija primera.
Čist zaključek.
Nato je nekdo to pokazal: Logistics in Motion.
To je bila verjetno napaka.
Začelo se je s tremi skladišči
Nič posebno razburljivega.
Tri DEMO skladišča.
- Kalsdorf bei Graz.
- Wiener Neustadt.
- Klagenfurt.
Brez podatkov o strankah.
Brez produkcijskih zalog.
Natanko tak tip okolja, kjer se ne bi smelo zgoditi nič pomembnega.
Nato je bilo izbrano prvo skladišče.
In aplikacija je pridobila kontekst.
Od tega trenutka je bilo vsakemu zaslonu pripeto še eno vprašanje.
Ali to še vedno pripada istemu skladišču?
Ali jezik spremeni samo vmesnik?
Ali proces ostaja na istem koraku?
Ali se zaloga še vedno ujema?
Ali referenca dokumenta še vedno kaže na pravi dogodek?
Ali operater vidi natanko to, kar je potrebno za naslednje dejanje?
Nenadoma zanimivi del ni bil več zaslon.
Bila je kontinuiteta med zasloni.
COCO se nagiba k temu.
Logistika ni zbirka zaslonov
Od zunaj se lahko skladiščna programska oprema zdi zavajajoče preprosta.
Blago prispe.
Ga uskladiščite.
Nekdo ga naroči.
Ga poberete.
Ga odpremite.
Konec.
Le da se med prispelo in odpremljeno skriva cel operativni svet.
Pričakovano.
Prejeto.
Preverjeno.
Na voljo.
Rezervirano.
Premaknjeno.
Pobrano.
Blokirano.
Popravljeno.
Odpremljeno.
Revidirano.
Fizično gibanje je pomembno.
A prehod stanja je tisti, ki naredi to gibanje razumljivo za programsko opremo.
In ko se ti dve resničnosti nehata ujemati, ima nekdo na koncu slab dan.
Skladišče je lažje razumeti, ko je gibanje vidno, ne le zabeleženo.
Zato se naše logistično delo nikoli ni resnično začelo z meniji, nadzornimi ploščami, ali tehnologijo.
Začne se z materialnim Flow.
Kje vstopi informacija?
Kje se spremeni?
Kje se lahko izgubi?
Kje je nekdo prisiljen vprašati drugo osebo, kaj se je zgodilo?
Kje ročni korak tiho postane najšibkejši del sicer avtomatiziranega procesa?
Včasih je odgovor nov vmesnik.
Včasih integracija.
Včasih skener.
Včasih preprosto boljši model stanja.
Več programske opreme ni samodejno boljša programska oprema.
Cilj ni avtomatizacija zaradi same sebe.
Cilj je proces, ki ostaja razumljiv.
Control. Clarity. Flow.
Proces se začne pred prvo knjižbo.
Pred prejemom blaga.
Pred komisioniranjem.
Pred premikom zaloge.
Pred prvo transakcijo.
Flow zastavi zelo osnovno vprašanje:
V katerem skladišču delamo?
Zveni skoraj trivialno.
Ni.
Kontekst skladišča pripada vsemu, kar sledi.
Zaloga.
Dokumenti.
Lokacije.
Komisioniranje.
Premestitve.
Zgodovina revizij.
Izjeme.
Proces lahko izgleda popolnoma zdrav, medtem ko deluje v napačnem kontekstu.
To je natanko tak problem, ki ga posnetek zaslona redko razkrije.
In natanko taka meja, ki jo COCO rad izpostavi vprašanju.
Jezik je enostaven, dokler ni
Nemščina.
Angleščina.
Hrvaščina.
Norveščina.
In drugi.
Uporabniški profil določa razpoložljive jezike.
Operater preklopi jezik, medtem ko aplikacija teče.
Vmesnik se takoj spremeni.
Poslovni proces se ne sme.
Ta razlika je pomembna.
Skladišče se ne premakne, ker se je beseda za skladišče spremenila.
Nalog za komisioniranje se ne začne znova, ker je uporabnik izbral drug jezik.
Rezervacija ne izgine.
Izjema nenadoma ne pripada drugi transakciji.
Proces ostaja tam, kjer je.
Spremeni se samo njegova predstavitev.
To zveni očitno.
Dokler ne ugotovite, koliko aplikacij obravnava jezikovni preklop skoraj kot novo sejo.
Večjezična poslovna aplikacija tega ne bi smela.
Predstavitveno stanje se lahko spremeni.
Poslovno stanje mora ostati stabilno.
To naredi jezikovni preklop presenetljivo koristen regresijski test.
Majhna funkcija.
Zelo dobra prelomna linija.
COCO ima rad prelomne linije.
Korak za korakom aplikacija začne kopičiti zgodovino
Blago prispe.
Proces napreduje.
Prejem blaga se knjiži.
Zaloga se spremeni.
Stanje skladišča odraža novo resničnost.
Komisioniranje se začne.
Zaloga postane rezervirana.
Operater prejme nalogo.
Mobilni pogled zmanjša celoten proces na to, kar je pomembno v tistem točnem trenutku:
Pozicija.
Skladiščna lokacija.
Količina.
SSCC.
Operater.
Nič več.
Nič manj.
To je pomembno.
Mobilni vmesnik ni drugi poslovni proces.
Je drug pogled na istega.
Skladiščna aplikacija lahko ve vse.
Pobiralcu tega ni treba.
Clarity ne pomeni vedno prikaz več informacij.
Včasih clarity pomeni disciplino, da skrijemo skoraj vse.
Nato nekdo skenira napačno lokacijo
Tu logistični delovni tok postane bolj zanimiv od seznama funkcij.
Pričakovana lokacija je ena stvar.
Skenirana lokacija je druga.
Flow se ustavi.
Se ne sesuje.
Se ustavi.
Obstaja razlika.
Stanje procesa ostaja vidno.
Prizadeta zaloga ostaja razumljiva.
Izjema postane eksplicitna.
Kontekstualna pomoč pojasni, kaj je relevantno za trenutno situacijo.
Uporabnik razreši neskladje.
Proces se nadaljuje.
Ta trenutek pove več o operativni programski opremi kot več strani posnetkov zaslona idealne poti.
Prava logistika ni težka, ko je vse pravilno.
Prava logistika postane težka, ko je nekaj skoraj pravilno.
Uporaben sistem tega ne skriva za zeleno nadzorno ploščo.
Izjemi da stanje.
Razlog.
Zgodovino.
In pot naprej.
Dokumenti se spomnijo tega, kar ljudje pozabijo
Ko delovni tok napreduje, se reference začnejo kopičiti.
ASN.
Prejem blaga.
Skladiščni premik.
Komisioniranje.
Odprema.
Flow.
Zanimiv del ni to, da dokumenti obstajajo.
Zanimiv del je, da povedo isto zgodbo kot proces.
Zakaj je ta zaloga tukaj?
Kateri prejem jo je uvedel?
Katera operacija jo je rezervirala?
Katero komisioniranje jo je porabilo?
Katera pošiljka jo je premaknila ven?
Ali je bila izjema razrešena pred naslednjim korakom?
Katero je bilo aktivno skladišče?
Kaj se je zgodilo pred trenutnim stanjem?
Ko sta stanje in dokumentacija ustvarjena z istim procesom, sledljivosti lažje zaupamo.
Ko nista, ljudje na koncu začnejo rekonstruirati zgodovino.
Običajno v Excelu.
Običajno pod pritiskom.
Običajno potem, ko je nekaj že šlo narobe.
COCO daje prednost dokazom pred tem trenutkom.
Očitno tudi COCO potuje
Med izvajanji je bila še ena majhna sprememba.
Ubuntu je imel svoje izvajanje.
Red Hat Enterprise Linux 10 je prevzel naslednjega.
COCO je nadaljeval.
Brez ceremonije.
Brez posebnega „načina Red Hat".
Brez prepisanega delovnega toka.
Brez priročno poenostavljenega testa.
Isti Flow.
Drugačna podlaga pod njim.
Prejšnje izvajanje COCO je aplikacijo že preizkusilo na Ubuntu Linuxu.
Trenutno se je preselilo na Red Hat Enterprise Linux 10.
Drugačno namizno okolje.
Drugačne sistemske knjižnice.
Drugačno pakiranje.
Drugačno operativno okolje.
Isto skladišče.
Ista poslovna stanja.
Isti prehodi zalog.
Iste spremembe jezika.
Ista logika izjem.
Isti dokazi.
To je precej lep način za testiranje medplatformske programske opreme.
Ne naznanjajte, da je medplatformska. Premaknite jo. Nato poglejte, kaj se pokvari.
Stanje jezika.
Kontekst skladišča.
Vedenje pogovornih oken.
Časovnost.
Teme.
Prehodi procesa.
Obravnava izjem.
Dokazi.
Operacijski sistemi imajo presenetljivo ustvarjalne načine razkrivanja predpostavk.
Ubuntu je razkril nekatere.
Red Hat razkriva druge.
To je koristno.
Ker medplatformski inženiring ni zmožnost dvakratnega zagona izvedljive datoteke.
Je zmožnost spremeniti okolje, ne da bi spremenili pomen procesa.
Skladiščnega operaterja ne bi smelo zanimati, ali aplikacija teče na Ubuntuju ali Red Hatu.
Naloga za komisioniranje tudi ne bi smela zanimati.
Prav tako ne revizijska sled.
Če platformske razlike začnejo spreminjati poslovno obnašanje, programska oprema ni resnično medplatformska.
Je le prenosljiva.
COCO se zdi bistveno bolj zainteresiran za prvo definicijo.
Mi tudi.
COCO ne odloča, kaj pomeni pravilna logistika
Ta del je pomemben.
COCO ne postane strokovnjak za skladišča samo zato, ker lahko sledi skladiščnemu delovnemu toku.
Ljudje še vedno določajo pravilnost.
Ljudje odločajo, kdaj zaloga postane na voljo.
Ljudje določajo, kaj pomeni blokirana dostava.
Ljudje odločajo, kdo sme popraviti količino.
Ljudje določajo, kateri premik zahteva revizijsko sled.
Ljudje odločajo, kako izgleda veljavna rešitev izjeme.
Ljudje odločajo, kdaj je pošiljka resnično dokončana.
Naloga COCO je drugačna.
Ponoviti.
Opazovati.
Primerjati.
Zapomniti si.
Pustiti dokaze.
Nato to ponovi po tem, ko se programska oprema spremeni.
In znova.
In znova.
Ne da bi se dolgočasil.
Ne da bi se odločil, da je rezultat prejšnjega tedna verjetno še vedno veljaven.
Ne da bi preskočil nadležno izjemo, ker je kosilo čez dvanajst minut.
Bleščeča prihodnost testiranja z UI vsebuje presenetljivo količino ponavljanja.
To štejemo za funkcijo.
Dokazi spremenijo pogovor
Tradicionalno testiranje se pogosto konča s popolnoma razumnim stavkom:
„Delovalo je, ko sem to testiral."
COCO zanima naslednji stavek.
Kaj natanko je delovalo?
Katero skladišče?
Kateri uporabnik?
Kateri jezik?
Katero stanje procesa?
Katero zaporedje?
Kateri dokument?
Katera vrednost zaloge?
Kaj se je zgodilo neposredno pred testnim korakom?
Kaj se je spremenilo neposredno po tem?
Ali lahko drug inženir razume rezultat, ne da bi vprašal osebo, ki je izvedla test?
Tu regresijsko testiranje postane več kot ponavljajoče se klikanje.
En zaslon je lahko pravilen, medtem ko je proces napačen.
Okno za komisioniranje je lahko videti popolno, medtem ko je zaloga že odstopila.
Dokument lahko obstaja, medtem ko se stanje, ki bi ga moralo ustvariti, nikoli ni zgodilo.
Aplikacija lahko prikazuje 100 %, medtem ko se revizijska sled tiho ne strinja.
COCO sledi Flow-u, ker se v Flow-u ta protislovja pokažejo.
Nekje med Control in Flow
Tu je zanimiva simetrija.
Dobra logistična programska oprema skuša zmanjšati negotovost znotraj operacije.
Dobro testiranje skuša zmanjšati negotovost o programski opremi, ki jo izvaja.
Eno vpraša:
Kje je artikel?
Drugo vpraša:
Kako vemo, da programska oprema to še vedno ve?
Eno vpraša:
Ali je bil ta premik dokončan?
Drugo vpraša:
Kateri dokaz dokazuje, da se je stanje pravilno spremenilo?
Eno vpraša:
Ali lahko naslednja izmena nadaljuje?
Drugo vpraša:
Ali lahko naslednji inženir razume, kaj se je zgodilo?
Različna vprašanja.
Isti instinkt.
Narediti stanje vidno.
Ohraniti razlog.
Zmanjšati količino znanja, ki obstaja samo v nekogaršnji glavi.
Morda je to povezava, ki je prvotno nismo načrtovali.
Inženirska odličnost brez transparenta
Nihče ne klikne na gumb Engineering Excellence.
Takega ni.
In verjetno ga ne bi smelo biti.
Inženirska odličnost se pojavi posredno.
Kontekst skladišča preživi jezikovni preklop.
Isti proces preživi drugo Linux platformo.
Premik zaloge ostaja sledljiv.
Mobilni pobiralec vidi natanko to, kar je potrebno, in nič drugega.
Izjema prekine proces, ne da bi uničila njegovo stanje.
Okno pomoči pojasni trenutni kontekst namesto prikazovanja splošne dokumentacije.
Veriga dokumentov se ujema z operativnim zaporedjem.
Naslednji inženir lahko razume, kaj se je zgodilo, ne da bi vprašal osebo, ki je bila slučajno prisotna.
V sodobni programski opremi je na voljo veliko gledališča.
UI lahko ustvari impresivne demonstracije.
Nadzorne plošče se lahko animirajo.
Številke se lahko premikajo.
Videoposnetki so lahko videti zelo prepričljivi.
Nič od tega ne dokazuje, da dve operaciji zaloge ne moreta tiho ustvariti napačnega rezultata.
Nič od tega ne dokazuje, da je izjemo mogoče rekonstruirati še tedne pozneje.
Nič od tega ne dokazuje, da skladiščni delavec, dispečer, in razvijalec gledajo isto operativno resnico.
Inženirska odličnost se začne na manj fotogeničnem mestu.
S konsistentnostjo.
Z dokazi.
Z mejami.
S pripravljenostjo, da dolgočasne dele pustimo dolgočasne.
Nevidna zanesljivost redko ustvari najbolj dramatičen posnetek zaslona.
Dokler tega namerno ne začnete iskati.
Control. Clarity. Flow.
Control pomeni vedeti, katero skladišče, kateri proces, in katero stanje so aktivni.
Clarity pomeni razumeti, kaj se je spremenilo, kdaj se je spremenilo, in zakaj.
Flow pomeni dovoliti, da se operacija nadaljuje, ne da bi izgubili zgodbo za njo.
To deluje za logistiko.
Deluje za testiranje programske opreme.
Deluje presenetljivo dobro za sam inženiring.
Prvi eksperiment Flow je dal COCO Administration.
Uporabniki.
Vloge.
Zbirke podatkov.
Jeziki.
Nato mu je nekdo dal skladišče.
Nato več jezikov.
Nato mobilno komisioniranje.
Nato zalogo.
Nato premestitve.
Nato izjeme.
Nato dokumente.
Nato drug operacijski sistem.
Na tej točki bi verjetno morali nehati dodajati stvari.
Verjetno ne bomo.
Control. Clarity. Flow.
Ubuntu je bil na vrsti.
Red Hat je trenutno na vrsti.
Flow se še naprej giblje.
COCO še naprej opazuje.
In nekje sredi zadnjega izvajanja je postalo očitno, da za tem čaka še eno vprašanje.
Mi vemo, kaj je to.
COCO ve, kaj je to.
Vi ne veste.
Še.
Lahko bi vam povedali.
A potem bi morda nehali preverjati, ali se je pojavil nov članek Insiders.
In to bi pokvarilo eksperiment.
Objavljeno: 28.08.2026