Klikk, send, gjenta: Slik bygger du programvare som driver handling i den virkelige verden

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

SaaS-produkter driver vanligvis mye usynlig funksjonalitet i bakgrunnen. Men hva skjer når programvaren må drive fysisk handling i den virkelige verden, for eksempel ordreoppfyllelse for netthandel?

exploring the concept of a holographic universe and its implications for building real world software

Tidlig i karrieren bygde jeg et grensesnitt for å drive en mottaksstasjon på et lager. Jeg var stolt av det jeg mente var et veldesignet og elegant sluttprodukt. Det viste seg imidlertid at det verken var funksjonelt eller intuitivt for lageroperatøren, som uten omsvøp sa: «Dette er det dummeste jeg noen gang har sett.»

Au.

Det var en tidlig lærdom i å utvikle programvareprodukter som kan brukes i fysiske omgivelser – i dette tilfellet på et lager. Hvis programvaren driver et grensesnitt som ser bra ut, men ikke er utviklet for den virkelige verden, er den ubrukelig. 

Selv om det jeg hadde bygget så bra ut (i hvert fall for meg), inneholdt det ikke funksjonaliteten som gjorde det virkelig nyttig for mottaksmedarbeideren – noe som var hele poenget.

I dag registrerer selskapet mitt, Flowspace, over 200 000 fysiske hendelser daglig på tvers av vårt nettverk for e-handelslogistikk. Jeg har fått inngående kjennskap til de unike kravene som stilles ved utvikling av teknologi som er avhengig av den virkelige verden.

Å vite at disse hendelsene finner sted, er bare én utfordring ved utvikling av programvare for den fysiske verden. Den andre er å koordinere hendelsene optimalt for å muliggjøre effektiv og pålitelig ordreoppfyllelse samt samhandling med andre kritiske teknologisystemer.

Denne artikkelen beskriver hvordan utviklere bør håndtere de unike utfordringene som oppstår når de bygger digital programvare som driver handlinger i den fysiske verden.

SaaS i en materiell verden

Programvare som tjeneste (SaaS) driver vanligvis mye usynlig arbeid. Et eksempel som er relevant for e-handelsområdet, er Shopify. 

Merkevarer kan bruke Shopify til å lansere en butikk på bare en halvtime, uten behov for en fysisk butikk. Forhandlere styrer butikkens utseende, uttrykk og funksjon. De kan inkludere over 6 000 apper og integrasjoner for å aktivere flere funksjoner og koble seg til tredjepartsplattformer. For sluttkunden fremstår imidlertid resultatet som en enkel og sømløs nettbutikk som gjør det mulig å handle på nettet.

Hvis vi ser på den andre siden av e-handel – ordreoppfyllelsen – er SaaS svært annerledes. Her må logistikken utføre en fysisk kommando. I motsetning til teknologier som bare finnes i skyen og på skjermer, finnes det en 0/1-status for ordreoppfyllelse. For sluttkunden til en forhandler er spørsmålet: «Kom pakken min frem eller ikke?» 

I den virkelige verden må programvaren ta hensyn til hundrevis av nivåer av fysisk detaljgrad som påvirker algoritmiske konklusjoner. Koden kan være perfekt, men handlinger i den virkelige verden som ligger utenfor programvarens kontroll, tilfører et kompleksitetslag for fysisk SaaS.

Ble bestillingen mottatt av anlegget i tide? Plukket operatøren riktig produkt fra hyllen? Leder programvaren dem til å velge riktig størrelse på esken, slik at den optimale og mest kostnadseffektive transportøren kan benyttes? Ble produktet levert i tide og som forventet, eller ble pakken borte, skadet eller forsinket under transporten?  

I alle disse scenarioene må programvaren som driver ordreoppfyllelsesprosessen, utføre en handling på bakken for å oppnå best mulig resultat.

Den unike utfordringen ved programvare for ordreoppfyllelse

Programvaresystemer som driver både digitale og fysiske produkter, kan ha feil. Men i et fysisk system kan en feil føre til problemer i den virkelige verden, som feilplukkede varer, forsinkede lastebiler eller arbeidere uten noe å gjøre. 

Det er derfor logistikkprogramvare krever tre kritiske komponenter: nøyaktighet, interoperabilitet og effektivitet. Hvis ikke vil lagernivåene være feil, plattformene vil ikke kommunisere med hverandre, bestillinger vil bli forsinket, og alle vil bli frustrerte.

Hele økosystemet er avhengig av nøyaktige og pålitelige data. Hvis disse dataene ikke leveres, eller det oppstår en feil i beregningene, oppnås kanskje ikke det ønskede resultatet, nemlig effektiv og pålitelig ordreoppfyllelse. 

Alt dette avhenger av at systemene kommuniserer med hverandre – noe som er spesielt viktig for e-handel med sine mange kontaktpunkter og markedsplasser. Når data ligger i siloer og andre teknologisystemer for varehandel ikke kan kommunisere effektivt, forstår ikke forhandlerne hva som skjer. Derfor kan ikke e-handel i verdensklasse oppnås uten programvare i verdensklasse.

I tillegg til datanøyaktighet og samhandling mellom plattformene må systemet være optimalisert. Hvis en forhandler for eksempel sender en bestilling til et anlegg som ikke er optimalt, må den sendes lengre og raskere for å nå kunden, noe som øker kostnadene. Marginene er små for både forhandleren og lageroperatøren, så enhver optimalisering har betydning. For sluttkunden er all innsats for å levere et produkt sømløst etter kjøpet avgjørende.  

Å bygge programvare som driver fysiske operasjoner

Den første kritiske delen av å bygge programvare for ordreoppfyllelse i den fysiske verden er en dyp forståelse av kunden. Hva slags virksomhet driver de? Hvilke krav har de til produktene sine? Dataene de samler inn, analysene de utfører, og handlingene programvaren må gjennomføre, avhenger av at man forstår og løser behovene til sluttkundene deres. 

For å bygge programvare effektivt for den virkelige verden er erfaring nødvendig. Hos Flowspace opparbeider vi oss kunnskap ved å involvere ingeniører med kundene våre – direkte på lagergulvet – for å observere hvordan operatørene utfører en handling manuelt, foreslå en idé og iterere derfra.

Det andre aspektet ved å bygge programvare for ordreoppfyllelse i den fysiske verden er data. Samle inn så mye sanntidsdata som mulig, så detaljert som mulig. Selv om dataene ikke brukes umiddelbart, kan denne rike informasjonskilden være nyttig uker, måneder eller år senere for å danne grunnlag for analyse eller optimalisering av en ny algoritme eller prosess. Datalagring er billig, og det kan hende at du ikke får mulighet til å etterfylle manglende data på et senere tidspunkt.

Til slutt bør du eksperimentere og iterere. Ofte fungerer ikke en idé som virker plausibel i teorien, i den virkelige verden. Min tidlige erfaring med lageroperatørens reaksjon på programvaregrensesnittet mitt beviser dette.

Fremtiden for SaaS innen drift

Realiteten ved den virkelige verden er at den eksisterer. Mange teknologigründere ønsker omveltning og argumenterer for en vakrere løsning, et bedre økosystem eller en bedre arbeidsmåte. Det er det fantastiske med teknologi – det bygges alltid noe større, bedre og kraftigere.  

Men et annet aspekt ved den virkelige verden er at enkelte ting endrer seg sakte, så prøv å finne en balanse mellom å bygge løsninger som tar utgangspunkt i det som finnes, og det som til syvende og sist er mulig.

Det finnes en mulighet til å koordinere og optimalisere fysiske systemer gjennom programvare. Rene programvareapplikasjoner kan modellere optimale scenarier før arbeidet utføres i den virkelige verden. Ved å samle inn så mye omfattende sanntidsdata som mulig blir systemene mer intelligente og kapable. Når man sikrer at alle plattformer kan samhandle, legger det til rette for gjennomføring i verdensklasse.

Og fordi alt dette legger til rette for handling i den virkelige verden, er det ekstra givende å vite at arbeidet til syvende og sist vil gjøre noens liv enklere, bedre eller mer behagelig. 

Hvilke lærdommer har du fått av å bygge programvareprodukter for den virkelige verden? Del dem i kommentarfeltet nedenfor, og bli med i nyhetsbrevet til The CTO Club for flere bransjenyheter og diskusjoner.

Jason Harbert
Jason Harbert is co-founder and CTO at Flowspace. Harbert has been building and leading technology companies for over 20 years. He leads technology at Flowspace, overseeing teams responsible for building and maintaining the Flowspace platform. Before Flowspace, Harbert led technology efforts at Cloudmark, Oversee.net, and several successful internet startups. Harbert’s technical proficiency and leadership drives innovation and excellence within the company and across the industry.
Follow the author:

You may also like