Käytännön esimerkki

12-vuotiaan varastojärjestelmän uudistaminen pysäyttämättä rekkoja

Tukkuliike pyöritti koko varastoaan ohjelmistolla, joka oli vanhempi kuin osa henkilöstöstä. Näin korvasimme sen pala palalta — ei suurta kertarysäystä, ei kadonneita toimituksia — ja mitä tekisimme uudelleen samalla tavalla.

Have a nice dayHave a nice day11 min lukuaika
12-vuotiaan varastojärjestelmän uudistaminen pysäyttämättä rekkoja

Pienyrityksen vaarallisin ohjelmisto on se, joka toimii. Ei se buginen työkalu, josta kaikki valittavat — se vaihdetaan lopulta pois. Vaarallinen on se kaksitoistavuotias järjestelmä, jota kukaan ei rakasta mutta josta kaikki ovat riippuvaisia, se joka käynnistyy nurkassa olevasta beessistä tornista ja on pyörittänyt varastoa jo ennen kuin puolet tiimistä palkattiin. Se toimii. Kunnes tulee päivä, jolloin se melkein ei toimi, ja kaikki tajuavat kerralla, että koko liiketoiminta lepää sen varassa.

Tämä on tarina yhdestä sellaisesta järjestelmästä ja siitä, miten korvasimme sen. Asiakas on alueellinen tukkuliike — muutama tuhat tuotenimikettä, yksi varasto, noin kolmekymmentä työntekijää varastossa ja toimistossa. Olemme anonymisoineet heidät ja pyöristäneet luvut, mutta projektin muoto on juuri sellainen kuin se tapahtui. Jos istut vanhenevan järjestelmän päällä, johon et uskalla koskea, näin järkevä uudistus näyttää sisältä päin.

Tässä tarinassa ei ole sankarillista uudelleenkirjoitusta, ei viikonloppua, jolloin käänsimme katkaisijaa ja kaikki oli uutta. Koko pointti — se mikä sai sen toimimaan — on se, että mitään dramaattista ei tapahtunut. Rekkoja lastattiin edelleen. Varasto tuskin huomasi lattian siirtyvän allaan. Se on tavoite vanhojen järjestelmien parissa, ja kannattaa ymmärtää miksi.

Tilanne: yhden ihmisen muistin varassa oleva järjestelmä

Varasto pyöri räätälöidyllä järjestelmällä, joka rakennettiin noin vuonna 2013 kehittäjän toimesta, joka oli jo aikaa sitten siirtynyt muualle. Se teki ydintehtävänsä — seurasi varastoa, tulosti keräyslistoja, lähetti tilaukset ovesta ulos — ja tavallisena päivänä se teki sen hyvin. Ongelma ei oikeastaan ollut ohjelmisto. Ongelma oli kaikki se, mikä oli kasvanut ohjelmiston ympärille pitääkseen sen käyttökelpoisena.

Vuosikymmenen aikana tiimi oli hiljaa rakentanut varjojärjestelmän jeesusteipistä: taulukko niitä varastolukuja varten, jotka ohjelmisto sai väärin, toinen taulukko joka täsmäytti ensimmäisen todellisuutta vasten, WhatsApp-ryhmä, jossa varastopäällikkö merkitsi nimikkeitä, joita järjestelmä ei osannut esittää, ja tulostettu kansio kiertotapoja, jotka uusien työntekijöiden oli opeteltava ulkoa. Mitään tästä ei ollut kirjattu yhteen paikkaan. Se eli operatiivisen päällikön päässä — tyynen, viisikymppisen naisen, joka oli ollut siellä neljätoista vuotta ja oli käytännössä dokumentaatio.

Kun omistaja ensimmäisen kerran soitti meille, syy ei ollut kaatuminen. Syy oli se, että nainen oli ilmoittanut haluavansa jäädä eläkkeelle kahden vuoden kuluttua, ja omistaja oli laskenut ja tajunnut, että sinä päivänä kun tämä lähtee, merkittävä osa siitä, miten varasto oikeasti toimii, kävelisi ulos ovesta hänen mukanaan. Tämä on yleisempi uudistuksen laukaisija kuin mikään tekninen vika: ei järjestelmän hajoaminen, vaan oivallus siitä, että sitä paikkaavat ihmiset eivät ole täällä ikuisesti.

Vanha järjestelmä ei ollut riski. Riski oli, että sitä hengissä pitävä tieto eli yhdessä ihmisessä, joka halusi jäädä eläkkeelle.
mitä omistaja ei aluksi osannut sanoa ääneen

Oireet, joita kaikki olivat lakanneet huomaamasta

Kun vietimme ensimmäiset kaksi päivää vain seuraten varaston työtä, vanhan järjestelmän kustannukset olivat kaikkialla — mutta niistä oli tullut niin normaaleja, ettei kukaan enää nostanut niitä ongelmina esiin. Varastolukujen luotettiin olevan väärässä ennustettavalla marginaalilla, joten jokainen iso tilaus tarkistettiin käsin fyysisesti 'varmuuden vuoksi'. Uusilta työntekijöiltä kesti viikkoja tulla hyödyllisiksi, koska niin suuri osa työstä oli kirjaamatonta kansanperinnettä. Ja järjestelmä pyöri niin vanhalla käyttöjärjestelmällä, ettei sitä enää voinut paikata, verkossa, jonka omistaja yksityisesti tiesi olevan tapahtumista odottava tietoturvaonnettomuus.

  • Varaston tarkkuus pyöri noin 80 prosentissa, joten henkilöstö tarkisti määrät käsin kaikesta tärkeästä — tunteja päivässä, hiljaa.
  • Keräyslistan logiikka ei pärjännyt varaston nykyisen pohjaratkaisun kanssa, joten kerääjät kulkivat reittiä, jonka kansio kertoi, ei näyttö.
  • Kuukauden lopun varaston täsmäytys vei kahdelta ihmiseltä parhaan osan kolmesta päivästä.
  • Vain yksi kone pystyi pyörittämään ohjelmiston hallintapuolta, ja jos se hajoaisi, kenelläkään ei ollut selkeää suunnitelmaa.
  • Mikään ei ollut kytketty verkkotilauskanavaan, jonka yritys oli lisännyt vuonna 2019 — ne tilaukset kirjoitettiin uudelleen käsin.
Varastotoimiston nurkka, jossa vanha beessi pöytäkone pyörittää vanhentunutta ohjelmistoa, ympärillä käsin kirjoitettuja muistilappuja, tulostettu kansio kiertotapoja ja kahvimuki, lämmin dokumentaarinen valaistus
Todellinen järjestelmä ei ollut näytöllä — se oli muistilapuissa, kansiossa ja yhden ihmisen muistissa.

Mitä emme tietoisesti tehneet

Ilmeinen siirto — sellainen, jota moni toimittaja olisi tarjonnut — on ostaa iso valmis varastonhallinta-alusta, siirtää kaikki yhden viikonlopun aikana ja sammuttaa vanha järjestelmä maanantaiaamuna. Olemme nähneet tämän lähestymistavan menevän pieleen tarpeeksi monta kertaa, ettemme ehdottaisi sitä tämänkaltaiselle yritykselle. Kertarysäys olettaa, että ymmärrät vanhan järjestelmän täysin. Vuosikymmenen kirjaamattomien kiertotapojen kanssa kukaan ei ymmärtänyt — eivät edes sitä pyörittävät ihmiset.

Toinen houkutteleva siirto on täysi räätälöity uudelleenkirjoitus alusta: otetaan kaikki mitä vanha järjestelmä tekee, rakennetaan se puhtaasti uudelleen, toimitetaan uusi. Se kuulostaa vastuulliselta ja on klassinen tapa polttaa vuosi ja iso budjetti, kun liiketoiminta odottaa jäätyneenä korvaajaa, joka jatkuvasti lipsuu. Vika on siinä, että uudelleenkirjoituksen täytyy toistaa jokainen erikoisuus ennen kuin se voi käynnistyä — mukaan lukien ne erikoisuudet, joiden kukaan ei muista olevan kantavia ennen kuin ne puuttuvat.

Joten emme tehneet kumpaakaan. Kohtelimme vanhaa järjestelmää emmekä purettavana asiana, vaan asiana, joka ympäröidään ja korvataan hitaasti — yksi kyvykkyys kerrallaan, vanha järjestelmä yhä alla pyörien turvaverkkona koko matkan ajan. Loisteliasta se ei ole. Se on myös ainoa versio tästä, joka luotettavasti toimii.

Lähestymistapa: kurista vanha järjestelmä, älä räjäytä sitä

Kehittäjillä on vakiintunut nimi tälle mallille — 'kuristaja'-lähestymistapa, nimetty köynnöksen mukaan, joka kasvaa puun ympärille kunnes voi seistä omillaan ja alkuperäinen katoaa hiljaa. Et korvaa vanhaa järjestelmää yhdellä liikkeellä. Rakennat uusia palasia sen ympärille, ohjaat oikeaa työtä niihin yksi kerrallaan ja annat vanhan järjestelmän kutistua, kunnes jäljellä on tarpeeksi pieni osa, jotta sen voi sammuttaa kenenkään pidättämättä henkeään.

Tämän varaston kohdalla se tarkoitti, että sovimme etukäteen järjestyksestä: minkä kyvykkyyden kuorisimme pois ensin, minkä säästäisimme viimeiseksi ja — ratkaisevimmin — sääntö, että jokaisessa vaiheessa, jos uusi palanen toimi väärin, voisimme palata suoraan vanhaan tapaan samana päivänä. Mikään askel ei saanut olla paluuton piste ennen aivan loppua. Juuri tämä sääntö antoi omistajalle yöunet ja sai varaston henkilöstön luottamaan projektiin sen sijaan, että olisivat jännittäneet sitä vastaan.

  1. 1
    Kartoita mitä järjestelmä oikeasti tekee
    Kolme viikkoa varjostamista varastossa ja toimistossa dokumentoidaksemme todellisen työnkulun — mukaan lukien jokainen taulukko ja kansion kiertotapa. Kirjasimme ylös sen järjestelmän, joka oli olemassa, ei sen, jonka alkuperäinen määrittely kuvasi.
  2. 2
    Siivoa data ennen sen siirtämistä
    Teimme täyden fyysisen varastolaskennan ja siivosimme tuotetietokannan sitä vasten. Likaisen datan siirtäminen uuteen järjestelmään antaa vain nopeamman väärän vastauksen — joten tämä tehtiin ennen kuin mikään uusi ohjelmisto kosketti dataa.
  3. 3
    Korvaa kivuliain palanen ensin
    Rakensimme uuden varastonseuranta- ja laskentamoduulin, ajoimme sitä rinnakkain vanhan kanssa ja luotimme siihen vasta kun luvut vastasivat todellisuutta kokonaisen kuukauden.
  4. 4
    Yhdistä kanavat, jotka vanha järjestelmä jätti huomiotta
    Seuraavaksi kytkimme verkkotilauskanavan suoraan uuteen varastodataan, lopettaen käsin uudelleenkirjoittamisen, joka oli hiljaa ollut olemassa vuodesta 2019.
  5. 5
    Kuori loput pois, sitten poista vanha ydin käytöstä
    Keräily, raportointi ja täsmäytys siirtyivät yksi kerrallaan. Kun lähes mikään oikea ei enää pyörinyt vanhalla järjestelmällä, sammutimme sen vihdoin — siihen mennessä epätapahtuma.
Siisti kaaviomainen kuvitus uudesta modernista ohjelmistokerroksesta, joka kasvaa vanhan perintölaatikon ympärille ja korvaa sen vähitellen, nuolet näyttävät työn uudelleenohjautumisen pala kerrallaan, toimituksellinen litteä tyyli
Ympäröi, ohjaa uudelleen, kutista: vanha järjestelmä pyöri turvaverkkona, kunnes lähes mikään oikea ei enää ollut siitä riippuvainen.

Osat, jotka olivat aidosti vaikeita

Olisi epärehellistä esittää tämä sujuvana. Tekninen työ oli helppo osa. Vaikeat osat olivat inhimillisiä ja menettelyllisiä, ja ne ovat samat vaikeat osat lähes jokaisessa perintöjärjestelmäprojektissa.

Kirjaamaton sääntö, joka rikkoi toiminnon

Kahden viikon kuluttua uuden varastomoduulin rinnakkaisajosta luvut alkoivat ajautua erilleen yhden tuoteryhmän osalta, emmekä nähneet miksi. Päivän kaivamisen jälkeen operatiivinen päällikkö mainitsi melkein ohimennen, että tietyt irtotavarat lasketaan lavoittain, ei kappaleittain, ja että vanhassa järjestelmässä oli piilotettu muunnos sisäänrakennettuna, jota kukaan ei ollut dokumentoinut vuosikymmeneen. Sitä ei ollut missään määrittelyssä. Se eli vain hänen päässään ja kansiossa. Emme olisi koskaan löytäneet sitä pelkästä koodista — vain ajamalla molempia järjestelmiä rinnakkain ja kysymällä, miksi ne olivat eri mieltä. Tämä on koko rinnakkaisajon perustelu yhdessä anekdootissa.

Lattian voittaminen puolelleen

Varaston henkilöstö oli selvinnyt useammasta kuin yhdestä hyvää tarkoittavasta 'parannuksesta', joka teki heidän päivästään huonomman, joten he kohtasivat projektin kohtuullisella epäluulolla. Emme taistelleet sitä vastaan esityksellä. Valitsimme äänekkäimmin valittaneen kerääjän, istuimme hänen kanssaan yhden aamupäivän ja rakensimme keräysnäytön uudelleen sen mukaan, miten hän oikeasti kulki lattialla. Kun hän alkoi puolustaa uutta järjestelmää taukohuoneessa, muut seurasivat perässä. Perintöprojekteissa kovin kriitikko, kun hänet voitetaan puolelle, muuttuu parhaaksi puolestapuhujaksesi — ja sitä ei voi ostaa muistiolla.

Emme koskaan väittäneet, että uusi järjestelmä oli parempi. Annoimme lukujen vastata todellisuutta kuukauden, sitten annoimme äänekkäimmän skeptikon sanoa sen puolestamme.
miten käyttöönotto oikeasti sai hyväksynnän

Tulokset, vuosi myöhemmin

Suhtaudumme varauksella kiiltäviin ennen-ja-jälkeen-lukuihin, koska jokainen yritys mittaa eri tavoin ja sinun lukusi vaihtelevat. Joten kohtele näitä rehellisinä, pyöristettyinä arvoina yhdestä projektista, tarkoitettuna näyttämään tuoton muoto ennemmin kuin lupaus. Otsikko ei niinkään koske yksittäistä mittaria vaan sitä, mikä lakkasi olemasta pelottavaa.

MittariEnnenJälkeenVaikutus
Varaston tarkkuus~80 %~98 %Käsin tehdyt kaksoistarkistukset enimmäkseen poissa
Kuukauden lopun täsmäytys~3 päivää, 2 ihmistä~puoli päivää, 1 ihminenNoin viikko työtä takaisin kuukaudessa
Käsin uudelleenkirjoitetut verkkotilauksetJokainenNollaKanava syöttää nyt varastoa suoraan
Uuden työntekijän aika hyödylliseksiUseita viikkojaUseita päiviäKansanperinne on nyt ohjelmistossa
Yksittäinen hauras hallintakoneKylläEiToimii missä vain, kunnolla varmuuskopioituna
Pyöristetyt, havainnollistavat luvut yhdestä varaston uudistuksesta kahdentoista kuukauden ajalta.

Luku, josta omistaja välitti eniten, ei ollut missään kaaviossa. Se oli se, että kun operatiivinen päällikkö lopulta jäi eläkkeelle — muutama kuukausi etuajassa, kuten kävi ilmi — varasto ei edes horjunut. Tieto, joka ennen eli hänen päässään, eli nyt järjestelmässä, johon kuka tahansa voitiin kouluttaa päivissä. Koko projektin alkuperäinen syy oli hiljaa ja täysin ratkaistu.

Valoisa moderni varasto, jossa henkilöstö käyttää käsiskannereita ja tabletteja, seinänäyttö näyttää selkeitä reaaliaikaisia varastonäkymiä, rauhallinen ja järjestäytynyt, lämmin luonnonvalo
Vuosi myöhemmin: sama varasto, sama tiimi, mutta tieto elää nyt järjestelmässä yhden ihmisen muistin sijaan.

Jos istut tämänkaltaisen järjestelmän päällä

Useimmat omistajat, joilla on vanheneva ydinjärjestelmä, tuntevat samat kaksi asiaa kerralla: sitä on riskialtista pitää ja sen korvaaminen on kauhistuttavaa. Molemmat ovat totta. Virhe on antaa jälkimmäisen pelon voittaa, koska vanhan järjestelmän riski ei pysy vakiona — se kasvaa hiljaa joka vuosi, kun sen ymmärtävät ihmiset lähestyvät lähtöä ja sen alusta ajautuu yhä kauemmas tuesta.

Sinun ei tarvitse valita 'jätä se rauhaan ja rukoile' ja 'panosta yritys ison uudelleenkirjoituksen varaan' väliltä. Keskitie — ympäröi se, korvaa se pala kerrallaan, pidä vanha verkkona kunnes uusi on ansainnut luottamuksen — on hitaampi ja paljon vähemmän sankarillinen. Se on myös se versio, joka ei pysäytä rekkoja. Jos koko tästä tarinasta on yksi asia, joka kannattaa ottaa mukaan, se on juuri se.

Onko sinulla vanha järjestelmä, johon et uskalla koskea?

Jos varastosi tai varastonhallintasi pyörii ohjelmistolla, johon et enää voi täysin luottaa — tai jota et enää täysin ymmärrä — katsotaan sitä yhdessä. Kartoitamme mitä se oikeasti tekee ja näytämme sinulle pienimmän riskin polun moderniin korvaajaan, pala kerrallaan.

Katso miten uudistamme varastojärjestelmiä

Yleisiä kysymyksiä

Voitteko todella korvata varastojärjestelmän ilman katkoja?
Kyllä — se on koko syy pala palalta -lähestymistapaan yön yli vaihdon sijaan. Vanha järjestelmä pyörii turvaverkkona, kun jokainen uusi kyvykkyys rakennetaan, testataan rinnakkain ja siihen luotetaan vasta kun se vastaa todellisuutta. Aivan loppuun asti ei ole hetkeä, jolloin varasto ei voi palata vanhaan tapaan. Näin tehtynä lattia tuskin huomaa migraatiota.
Miksi ette vain osta valmista varastonhallintajärjestelmää?
Joskus se on oikea vastaus, ja sanomme niin jos on. Mutta valmiit alustat olettavat, että prosessisi vastaavat niiden oletuksia. Yritys, jolla on vuosikymmenen verran tarkkoja, kirjaamattomia kiertotapoja, huomaa usein että vakiotuote sopii 80-prosenttisesti ja taistelee loppuja 20:tä vastaan — juuri sitä osaa, jolla on väliä. Päätös kannattaa tehdä harkiten, ei oletusarvoisesti.
Kauanko tämänkaltainen projekti kestää?
Tämänkokoiselle yhden varaston tukkuliikkeelle suunnittele kuukausissa ennemmin kuin viikoissa — juuri tämä kesti suunnilleen vuoden alusta loppuun, tietoisesti kiireettömänä. Pala palalta -menetelmä vaihtaa nopeuden turvallisuuteen: se on paperilla hitaampi kuin kertarysäys, mutta se ei kanna riskiä jäätyneestä liiketoiminnasta, joka odottaa korvaajaa, joka ei koskaan oikein valmistu.
Mikä on tärkein ensimmäinen askel?
Rehellisesti dokumentoida mitä nykyinen järjestelmä oikeasti tekee — mukaan lukien jokainen taulukko ja kiertotapa, joka on kasvanut sen ympärille — ja sitten siivota data. Molemmat tapahtuvat ennen kuin mitään uutta ohjelmistoa rakennetaan. Suoraan uuteen teknologiaan hyppääminen on tapa, jolla uudistusprojektit perivät kaikki vanhat ongelmat ja saavat niistä syyt niskaansa.
Mitä tapahtuu tiedolle, joka elää yhden avainhenkilön päässä?
Sen tallentaminen on yksi päätavoitteista, ei sivuvaikutus. Varjostamalla tuota henkilöä ja koodaamalla hänen kirjaamattomat sääntönsä uuteen järjestelmään liiketoiminta lakkaa olemasta riippuvainen kenestäkään yksittäisestä ihmisestä varaston pyörittämiseksi. Tässä tapauksessa avainhenkilö jäi eläkkeelle projektin aikana, ja toiminta jatkui ilman häiriötä — mikä on juuri se lopputulos, jota varten uudistus tehtiin.
Have a nice day
Have a nice day
Toimitus

Have a nice day on ohjelmistostudio, joka auttaa pieniä ja keskisuuria yrityksiä digitalisoitumaan — automaatiota, tekoälyä ja räätälöityjä ohjelmistoja, jotka toimivat arjessa, eivät vain kalvoilla.

Sopivat palvelut