COCO iskee jälleen
Meidän pitäisi luultavasti lopettaa ideoiden antaminen COCOlle.
Edellisen kokeen piti riittää.
Oikea sovellus.
Oikea navigointi.
Käyttäjiä.
Rooleja.
Tietokantoja.
Kieliä.
Todisteita.
Kunnioitettava tapaustutkimus.
Siisti johtopäätös.
Sitten joku näytti sen: Logistics in Motion.
Se oli luultavasti virhe.
Se alkoi kolmesta varastosta
Ei mitään erityisen jännittävää.
Kolme DEMO-varastoa.
- Kalsdorf bei Graz.
- Wiener Neustadt.
- Klagenfurt.
Ei asiakastietoja.
Ei tuotantovarastoa.
Juuri sellainen ympäristö, jossa mitään tärkeää ei ole tarkoitus tapahtua.
Sitten ensimmäinen varasto valittiin.
Ja sovellus sai kontekstin.
Siitä hetkestä lähtien jokaisella näytöllä oli vielä yksi kysymys liitettynä.
Kuuluuko tämä yhä samaan varastoon?
Muuttaako kieli vain käyttöliittymän?
Pysyykö prosessi samassa vaiheessa?
Täsmääkö varasto yhä?
Osoittaako asiakirjaviite yhä oikeaan tapahtumaan?
Näkeekö operaattori juuri sen, mitä seuraava toimenpide vaatii?
Yhtäkkiä mielenkiintoinen osa ei ollut enää näyttö.
Se oli jatkuvuus näyttöjen välillä.
COCO pyrkii tekemään niin.
Logistiikka ei ole näyttöjen kokoelma
Ulkoa katsottuna varasto-ohjelmisto voi näyttää harhaanjohtavan yksinkertaiselta.
Tavara saapuu.
Se varastoidaan.
Joku tilaa sen.
Se kerätään.
Se lähetetään.
Valmis.
Paitsi että saapuneen ja lähetetyn välissä piilee kokonainen operatiivinen maailma.
Odotettu.
Vastaanotettu.
Tarkastettu.
Saatavilla.
Varattu.
Siirretty.
Kerätty.
Estetty.
Korjattu.
Lähetetty.
Auditoitu.
Fyysinen liike on tärkeää.
Mutta tilasiirtymä on se, mikä tekee liikkeestä ymmärrettävän ohjelmistolle.
Ja kun nämä kaksi todellisuutta lakkaavat täsmäämästä, jollakulla on lopulta huono päivä.
Varasto on helpompi ymmärtää, kun liike on näkyvää, ei vain kirjattua.
Siksi logistiikkatyömme ei ole koskaan oikeastaan alkanut valikoista, hallintapaneeleista, tai teknologiasta.
Se alkaa materiaalisesta Flow'sta.
Mistä tieto tulee sisään?
Missä se muuttuu?
Missä se voi kadota?
Missä joku joutuu kysymään toiselta henkilöltä, mitä tapahtui?
Missä manuaalisesta vaiheesta tulee hiljaa muuten automatisoidun prosessin heikoin osa?
Joskus vastaus on uusi käyttöliittymä.
Joskus integraatio.
Joskus skanneri.
Joskus yksinkertaisesti parempi tilamalli.
Enemmän ohjelmistoa ei ole automaattisesti parempaa ohjelmistoa.
Tavoite ei ole automaatio itsensä vuoksi.
Tavoite on prosessi, joka pysyy ymmärrettävänä.
Control. Clarity. Flow.
Prosessi alkaa ennen ensimmäistä kirjausta.
Ennen tavaran vastaanottoa.
Ennen keräilyä.
Ennen varastosiirtoa.
Ennen ensimmäistä tapahtumaa.
Flow esittää hyvin perustavanlaatuisen kysymyksen:
Missä varastossa työskentelemme?
Se kuulostaa lähes triviaalilta.
Ei ole.
Varastokonteksti kuuluu kaikkeen, mikä seuraa.
Varasto.
Asiakirjat.
Sijainnit.
Keräily.
Siirrot.
Auditointihistoria.
Poikkeukset.
Prosessi voi näyttää täysin terveeltä toimiessaan väärässä kontekstissa.
Se on juuri sellainen ongelma, jota kuvakaappaus harvoin paljastaa.
Ja juuri sellainen raja, jota COCO mielellään kyseenalaistaa.
Kieli on helppoa, kunnes se ei enää ole
Saksa.
Englanti.
Kroatia.
Norja.
Ja muita.
Käyttäjäprofiili määrittää käytettävissä olevat kielet.
Operaattori vaihtaa kieltä sovelluksen ollessa käynnissä.
Käyttöliittymä muuttuu välittömästi.
Liiketoimintaprosessi ei saa muuttua.
Tuo ero on tärkeä.
Varasto ei liiku, koska sana varastolle vaihtui.
Keräilytilaus ei käynnisty uudelleen, koska käyttäjä valitsi toisen kielen.
Varaus ei katoa.
Poikkeus ei yhtäkkiä kuulu toiseen tapahtumaan.
Prosessi pysyy siinä, missä se on.
Vain sen esitystapa muuttuu.
Se kuulostaa itsestäänselvältä.
Kunnes tajuaa, kuinka moni sovellus käsittelee kielenvaihdon lähes kuin uuden istunnon.
Monikielisen liiketoimintasovelluksen ei pitäisi.
Esitystila voi muuttua.
Liiketoimintatilan on pysyttävä vakaana.
Se tekee kielenvaihdosta yllättävän hyödyllisen regressiotestin.
Pieni ominaisuus.
Erittäin hyvä murroslinja.
COCO pitää murroslinjoista.
Askel askeleelta sovellus alkaa kerätä historiaa
Tavara saapuu.
Prosessi etenee.
Tavaran vastaanotto kirjataan.
Varasto muuttuu.
Varastotila heijastaa uutta todellisuutta.
Keräily alkaa.
Varastosta tulee varattua.
Operaattori saa tehtävän.
Mobiilinäkymä pelkistää koko prosessin siihen, mikä on tärkeää juuri sillä hetkellä:
Sijainti.
Varastopaikka.
Määrä.
SSCC.
Operaattori.
Ei enempää.
Ei vähempää.
Se on tärkeää.
Mobiilikäyttöliittymä ei ole toinen liiketoimintaprosessi.
Se on toinen näkymä samaan prosessiin.
Varastosovellus saa tietää kaiken.
Keräilijän ei tarvitse.
Clarity ei aina tarkoita enemmän tiedon näyttämistä.
Joskus clarity tarkoittaa kurinalaisuutta piilottaa lähes kaikki.
Sitten joku skannaa väärän sijainnin
Tässä logistiikan työnkulusta tulee mielenkiintoisempi kuin ominaisuuslistasta.
Odotettu sijainti on yksi asia.
Skannattu sijainti on toinen.
Flow pysähtyy.
Ei kaadu.
Pysähtyy.
On olemassa ero.
Prosessin tila pysyy näkyvänä.
Kyseinen varasto pysyy ymmärrettävänä.
Poikkeuksesta tulee eksplisiittinen.
Kontekstuaalinen ohje selittää, mikä on olennaista nykyisessä tilanteessa.
Käyttäjä ratkaisee poikkeaman.
Prosessi jatkuu.
Tämä hetki kertoo enemmän operatiivisesta ohjelmistosta kuin useat sivut happy path -kuvakaappauksia.
Todellinen logistiikka ei ole vaikeaa, kun kaikki on oikein.
Todellisesta logistiikasta tulee vaikeaa, kun jokin on melkein oikein.
Hyödyllinen järjestelmä ei piilota sitä vihreän hallintapaneelin taakse.
Se antaa poikkeukselle tilan.
Syyn.
Historian.
Ja tien eteenpäin.
Asiakirjat muistavat sen, minkä ihmiset unohtavat
Työnkulun edetessä viitteet alkavat kertyä.
ASN.
Tavaran vastaanotto.
Varastosiirto.
Keräily.
Lähetys.
Flow.
Mielenkiintoinen osa ei ole se, että asiakirjoja on olemassa.
Mielenkiintoinen osa on se, että ne kertovat saman tarinan kuin prosessi.
Miksi tämä varasto on täällä?
Mikä vastaanotto sen esitteli?
Mikä toimenpide varasi sen?
Mikä keräily kulutti sen?
Mikä lähetys siirsi sen ulos?
Ratkaistiinko poikkeus ennen seuraavaa vaihetta?
Mikä oli aktiivinen varasto?
Mitä tapahtui ennen nykyistä tilaa?
Kun tila ja dokumentaatio tuotetaan samalla prosessilla, jäljitettävyydestä tulee helpommin luotettavaa.
Kun ne eivät ole, ihmiset alkavat lopulta rekonstruoida historiaa.
Yleensä Excelissä.
Yleensä paineen alla.
Yleensä sen jälkeen, kun jokin on jo mennyt pieleen.
COCO suosii todisteita ennen sitä hetkeä.
Ilmeisesti COCO matkustaa myös
Ajojen välillä tapahtui vielä yksi pieni muutos.
Ubuntulla oli oma ajonsa.
Red Hat Enterprise Linux 10 otti seuraavan.
COCO jatkoi.
Ei seremoniaa.
Ei erityistä "Red Hat -tilaa".
Ei uudelleenkirjoitettua työnkulkua.
Ei kätevästi yksinkertaistettua testiä.
Sama Flow.
Erilainen pohja sen alla.
Aiempi COCO-ajo oli jo testannut sovelluksen Ubuntu Linuxilla.
Nykyinen siirtyi Red Hat Enterprise Linux 10:een.
Erilainen työpöytäympäristö.
Erilaiset järjestelmäkirjastot.
Erilainen paketointi.
Erilainen käyttöympäristö.
Sama varasto.
Samat liiketoimintatilat.
Samat varastosiirtymät.
Samat kielenvaihdot.
Sama poikkeuslogiikka.
Samat todisteet.
Se on melko hyvä tapa testata alustariippumatonta ohjelmistoa.
Älä ilmoita, että se on alustariippumaton. Siirrä se. Katso sitten, mikä hajoaa.
Kielitila.
Varastokonteksti.
Valintaikkunan käyttäytyminen.
Ajoitus.
Teemat.
Prosessisiirtymät.
Poikkeuskäsittely.
Todisteet.
Käyttöjärjestelmillä on yllättävän luovia tapoja paljastaa oletuksia.
Ubuntu paljasti joitakin.
Red Hat paljastaa toisia.
Se on hyödyllistä.
Koska monialustainen suunnittelu ei ole kyky käynnistää suoritettava tiedosto kahdesti.
Se on kyky muuttaa ympäristöä muuttamatta prosessin merkitystä.
Varasto-operaattorin ei pitäisi välittää, toimiiko sovellus Ubuntulla vai Red Hatilla.
Keräilytilauksenkaan ei pitäisi välittää.
Ei myöskään auditointijäljen.
Jos alustaerot alkavat muuttaa liiketoimintakäyttäytymistä, ohjelmisto ei ole todella alustariippumaton.
Se on vain siirrettävissä.
COCO vaikuttaa olevan huomattavasti kiinnostuneempi ensimmäisestä määritelmästä.
Niin olemme mekin.
COCO ei päätä, mitä oikea logistiikka tarkoittaa
Tällä osalla on väliä.
COCO ei tule varastoasiantuntijaksi vain siksi, että se pystyy seuraamaan varaston työnkulkua.
Ihmiset määrittelevät edelleen oikeellisuuden.
Ihmiset päättävät, milloin varasto tulee saataville.
Ihmiset määrittelevät, mitä estetty toimitus tarkoittaa.
Ihmiset päättävät, kuka saa korjata määrän.
Ihmiset määrittelevät, mikä siirto vaatii auditointijäljen.
Ihmiset päättävät, miltä kelvollinen poikkeuksen ratkaisu näyttää.
Ihmiset päättävät, milloin lähetys on todella valmis.
COCOn tehtävä on erilainen.
Toista.
Havainnoi.
Vertaa.
Muista.
Jätä todisteet.
Tee se sitten uudelleen ohjelmiston muuttumisen jälkeen.
Ja uudelleen.
Ja uudelleen.
Ilman että kyllästyy.
Ilman että päättää, että viime viikon tulos on luultavasti yhä pätevä.
Ilman että ohittaa ärsyttävän poikkeuksen, koska lounas on kahdentoista minuutin kuluttua.
Tekoälytestauksen glamouria täynnä oleva tulevaisuus sisältää yllättävän määrän toistoa.
Pidämme sitä ominaisuutena.
Todisteet muuttavat keskustelun
Perinteinen testaus päättyy usein täysin järkevään lauseeseen:
"Se toimi, kun testasin sen."
COCO on kiinnostunut seuraavasta lauseesta.
Mikä tarkalleen toimi?
Mikä varasto?
Mikä käyttäjä?
Mikä kieli?
Mikä prosessin tila?
Mikä järjestys?
Mikä asiakirja?
Mikä varastoarvo?
Mitä tapahtui välittömästi ennen testivaihetta?
Mikä muuttui välittömästi sen jälkeen?
Voiko toinen insinööri ymmärtää tuloksen kysymättä henkilöltä, joka suoritti testin?
Siinä kohtaa regressiotestauksesta tulee enemmän kuin toistuvaa klikkailua.
Yksi näyttö voi olla oikein, vaikka prosessi on väärin.
Keräilyikkuna voi näyttää täydelliseltä, vaikka varasto on jo ajautunut pois.
Asiakirja voi olla olemassa, vaikka tila, jonka olisi pitänyt luoda se, ei koskaan tapahtunut.
Sovellus voi näyttää 100 %, vaikka auditointijälki on hiljaa eri mieltä.
COCO seuraa Flow'ta, koska juuri Flow'ssa nämä ristiriidat tulevat näkyviksi.
Jossain Controlin ja Flow'n välissä
Tässä on mielenkiintoinen symmetria.
Hyvä logistiikkaohjelmisto pyrkii vähentämään epävarmuutta toiminnan sisällä.
Hyvä testaus pyrkii vähentämään epävarmuutta ohjelmistosta, joka sitä ajaa.
Toinen kysyy:
Missä tuote on?
Toinen kysyy:
Mistä tiedämme, että ohjelmisto tietää sen yhä?
Toinen kysyy:
Suoritettiinko tämä siirto?
Toinen kysyy:
Mikä todiste osoittaa, että tila muuttui oikein?
Toinen kysyy:
Voiko seuraava vuoro jatkaa?
Toinen kysyy:
Voiko seuraava insinööri ymmärtää, mitä tapahtui?
Erilaisia kysymyksiä.
Sama vaisto.
Tee tila näkyväksi.
Säilytä perustelu.
Vähennä sitä tietomäärää, joka on olemassa vain jonkun päässä.
Ehkä se on yhteys, jota emme alun perin suunnitelleet.
Insinöörityön huippuosaamista ilman banderollia
Kukaan ei klikkaa Engineering Excellence -painiketta.
Sellaista ei ole.
Eikä luultavasti pitäisikään olla.
Insinöörityön huippuosaaminen ilmenee epäsuorasti.
Varastokonteksti säilyy kielenvaihdon yli.
Sama prosessi säilyy toisen Linux-alustan yli.
Varastoliike pysyy jäljitettävänä.
Mobiilikeräilijä näkee juuri sen, mitä tarvitaan, eikä mitään muuta.
Poikkeus keskeyttää prosessin tuhoamatta sen tilaa.
Ohjeikkuna selittää nykyisen kontekstin sen sijaan, että näyttäisi geneeristä dokumentaatiota.
Asiakirjaketju täsmää operatiivisen järjestyksen kanssa.
Seuraava insinööri voi ymmärtää, mitä tapahtui, kysymättä henkilöltä, joka sattui olemaan paikalla.
Modernissa ohjelmistossa on runsaasti teatteria saatavilla.
Tekoäly voi tuottaa vaikuttavia demonstraatioita.
Hallintapaneelit voivat animoitua.
Numerot voivat liikkua.
Videot voivat näyttää hyvin vakuuttavilta.
Mikään tästä ei todista, etteikö kaksi varasto-operaatiota voisi hiljaa tuottaa väärää tulosta.
Mikään tästä ei todista, että poikkeus voidaan yhä rekonstruoida viikkoja myöhemmin.
Mikään tästä ei todista, että varastotyöntekijä, lähettäjä, ja kehittäjä katsovat samaa operatiivista totuutta.
Insinöörityön huippuosaaminen alkaa vähemmän valokuvauksellisesta paikasta.
Johdonmukaisuudella.
Todisteilla.
Rajoilla.
Halulla pitää tylsät osat tylsinä.
Näkymätön luotettavuus tuottaa harvoin dramaattisimman kuvakaappauksen.
Kunnes alkaa tarkoituksella etsiä sitä.
Control. Clarity. Flow.
Control on tietää, mikä varasto, mikä prosessi, ja mikä tila on aktiivinen.
Clarity on ymmärtää, mikä muuttui, milloin se muuttui, ja miksi.
Flow on sallia toiminnan jatkua menettämättä sen taustalla olevaa tarinaa.
Se toimii logistiikassa.
Se toimii ohjelmistotestauksessa.
Se toimii yllättävän hyvin itse insinöörityössä.
Ensimmäinen Flow-koe antoi COCOlle Administrationin.
Käyttäjiä.
Rooleja.
Tietokantoja.
Kieliä.
Sitten joku antoi sille varaston.
Sitten useita kieliä.
Sitten mobiilikeräilyn.
Sitten varaston.
Sitten siirrot.
Sitten poikkeukset.
Sitten asiakirjat.
Sitten toisen käyttöjärjestelmän.
Tässä vaiheessa meidän pitäisi luultavasti lopettaa asioiden lisääminen.
Emme luultavasti lopeta.
Control. Clarity. Flow.
Ubuntulla oli vuoronsa.
Red Hatilla on nykyinen.
Flow jatkaa liikkumista.
COCO jatkaa katselua.
Ja jossain viimeisen ajon puolivälissä kävi ilmeiseksi, että tämän takana odottaa toinen kysymys.
Me tiedämme, mikä se on.
COCO tietää, mikä se on.
Sinä et tiedä.
Vielä.
Voisimme kertoa sinulle.
Mutta silloin saatat lopettaa tarkistamisen, onko uusi Insiders-artikkeli ilmestynyt.
Ja se pilaisi kokeen.
Julkaistu: 28.08.2026