Skip to main content

Vroeg in mijn carrière bouwde ik een interface voor het bevoorradingsstation van een magazijn. Ik was trots op wat volgens mij een goed ontworpen, gestroomlijnd eindproduct was. Het bleek echter niet functioneel of intuïtief te zijn voor de magazijnmedewerker, die zonder enige terughoudendheid zei: “Dit is het stomste wat ik ooit heb gezien.”

Au.

Het was een vroege les in het bouwen van softwareproducten die in een fysieke omgeving kunnen worden toegepast—in dit geval een magazijn. Als de software een interface aandrijft die er mooi uitziet, maar niet voor de echte wereld is gebouwd, is deze nutteloos. 

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Hoewel wat ik had gebouwd er mooi uitzag (althans voor mij), bevatte het niet de functionaliteit die het echt nuttig maakte voor de medewerker die de goederen ontving—en dat was juist het hele doel.

Vandaag registreert mijn bedrijf, Flowspace, dagelijks meer dan 200.000 fysieke gebeurtenissen binnen ons netwerk voor e-commerceorderverwerking. Ik ben inmiddels zeer vertrouwd geraakt met de unieke vereisten voor het bouwen van technologie die afhankelijk is van de echte wereld.

Weten dat deze gebeurtenissen plaatsvinden, is slechts één uitdaging bij het bouwen van software voor het fysieke domein. De andere uitdaging is het optimaal orkestreren van de gebeurtenissen om een efficiënte, betrouwbare orderverwerking en interoperabiliteit met andere kritieke technologische systemen mogelijk te maken.

Dit artikel beschrijft de manieren waarop ontwikkelaars de unieke uitdagingen moeten benaderen die ontstaan bij het bouwen van digitale software die handelingen in het fysieke domein aanstuurt.

SaaS in een materiële wereld

Software-as-a-serviceproducten (SaaS) sturen doorgaans veel onzichtbaar werk aan. Een voorbeeld dat relevant is voor de e-commercesector is Shopify. 

Merken kunnen Shopify gebruiken om in slechts een halfuur een winkel te lanceren, zonder dat ze een fysieke winkel nodig hebben. Handelaren bepalen het uiterlijk, de uitstraling en de functionaliteit van hun winkel. Ze kunnen meer dan 6.000 apps en integraties gebruiken om extra functies mogelijk te maken en verbinding te maken met platforms van derden. Voor de uiteindelijke klant verschijnt echter slechts een eenvoudige, naadloze winkel die e-commerceaankopen mogelijk maakt.

Als we naar de andere kant van e-commerce kijken—het onderdeel van de orderverwerking—is SaaS heel anders. Hier moet de logistiek een fysieke opdracht uitvoeren. In tegenstelling tot technologieën die alleen in de cloud en op schermen bestaan, is er bij orderverwerking sprake van een status van 0/1. Voor de eindconsument van een handelaar is de vraag: “Is mijn pakket aangekomen of niet?” 

In de echte wereld moet software rekening houden met honderden niveaus van fysieke detaillering die algoritmische conclusies beïnvloeden. De code kan perfect zijn, maar handelingen in de echte wereld die buiten de controle van de software vallen, voegen een extra complexiteitslaag toe aan fysieke SaaS.

Is de bestelling op tijd door de locatie ontvangen? Heeft de medewerker het juiste product uit het schap gepakt? Stuurt de software de medewerker naar de juiste doosmaat om de optimale, meest kosteneffectieve vervoerder te selecteren? Is het product op tijd en zoals verwacht geleverd, of is het pakket tijdens het transport zoekgeraakt, beschadigd of vertraagd?  

In al deze scenario’s moet de software die het orderverwerkingsproces aanstuurt een handeling op locatie uitvoeren om het beste resultaat te bereiken.

De unieke uitdaging van software voor orderverwerking

Softwaresystemen die zowel digitale als fysieke producten aansturen, krijgen te maken met fouten. In een fysiek systeem kan een bug echter leiden tot problemen in de echte wereld, zoals verkeerd gepakte artikelen, vrachtwagens die te laat komen of werknemers die niets te doen hebben. 

Daarom vereist logistieke software drie cruciale componenten: nauwkeurigheid, interoperabiliteit en efficiëntie. Als die ontbreken, zullen voorraadniveaus onjuist zijn, zullen platforms niet met elkaar communiceren, worden bestellingen vertraagd en raakt iedereen gefrustreerd.

Het hele ecosysteem is afhankelijk van de nauwkeurigheid en integriteit van gegevens. Het niet aanleveren van die gegevens of een fout in de berekening leidt mogelijk niet tot het gewenste resultaat: een efficiënte, betrouwbare orderverwerking. 

Dit hangt allemaal af van systemen die met elkaar communiceren—vooral van belang voor e-commerce met zijn verschillende contactpunten en marktplaatsen. Wanneer gegevens in afzonderlijke silo’s staan en andere technologische retailsystemen niet effectief kunnen communiceren, begrijpen handelaren niet wat er gebeurt. Eersteklas uitvoering van e-commerce kan dan ook niet worden bereikt zonder eersteklas software.

Naast gegevensnauwkeurigheid en interoperabiliteit van platforms moet het systeem worden geoptimaliseerd. Als een handelaar een bestelling bijvoorbeeld naar een niet-optimale locatie routeert, moet deze verder en sneller worden verzonden om de klant te bereiken, wat extra kosten met zich meebrengt. De marges zijn klein voor de handelaar en de magazijnmedewerker, dus elke optimalisatie telt. Voor de eindconsument is elke inspanning om een product na aankoop naadloos bij hen af te leveren van cruciaal belang.  

Software bouwen die fysieke activiteiten aanstuurt

Het eerste cruciale onderdeel van het bouwen van orderverwerkingssoftware voor de fysieke wereld is een diepgaand begrip van de klant. Wat is hun bedrijf? Wat zijn hun productvereisten? De gegevens die ze verzamelen, de analyses die ze uitvoeren en de handelingen die de software moet verrichten, zijn afhankelijk van het begrijpen en oplossen van de behoeften van hun eindconsumenten. 

Om effectief software voor de echte wereld te bouwen, is ervaring noodzakelijk. Bij Flowspace doen we kennis op door engineers bij onze klanten te betrekken—direct op de magazijnvloer—om te observeren hoe medewerkers een handeling handmatig uitvoeren, een idee voor te stellen en van daaruit iteraties door te voeren.

Het tweede aspect van het bouwen van software voor orderafhandeling in de fysieke wereld is data. Verzamel zoveel mogelijk realtimegegevens, zo gedetailleerd mogelijk. Zelfs als deze niet meteen worden gebruikt, kan deze rijke informatiebron weken, maanden of jaren later van pas komen als basis voor de analyse of optimalisatie van een nieuw algoritme of proces. Gegevensopslag is goedkoop, en mogelijk kun je ontbrekende gegevens later niet meer aanvullen.

Experimenteer en blijf ten slotte itereren. Vaak houdt een idee dat in theorie aannemelijk lijkt in de echte wereld simpelweg geen stand. Mijn vroege ervaring met de reactie van de magazijnmedewerker op mijn software-interface bewijst dit.

De toekomst van SaaS in de bedrijfsvoering

De realiteit van de echte wereld is dat die bestaat. Veel techoprichters streven naar disruptie en pleiten voor een mooiere oplossing, een mooier ecosysteem of een betere manier van werken. Dat is het geweldige aan technologie – er wordt altijd iets groters, beters en krachtigers gebouwd.  

Maar een ander aspect van de echte wereld is dat sommige dingen langzaam veranderen. Probeer daarom een balans te vinden tussen het bouwen van oplossingen die aansluiten op wat er bestaat en op wat uiteindelijk mogelijk is.

Er is een mogelijkheid om fysieke systemen via software te orkestreren en te optimaliseren. Zuivere softwaretoepassingen kunnen optimale scenario’s modelleren voordat het werk in de echte wereld plaatsvindt. Door zoveel mogelijk uitgebreide realtimegegevens te verzamelen, worden systemen intelligenter en capabeler. Door ervoor te zorgen dat alle platforms interoperabel zijn, wordt uitvoering van topniveau mogelijk.

En omdat dit alles acties in de echte wereld mogelijk maakt, geeft het extra voldoening om te weten dat het werk uiteindelijk iemands leven gemakkelijker, beter of aangenamer zal maken. 

Welke lessen heb je geleerd bij het bouwen van softwareproducten voor de echte wereld? Deel ze hieronder in de reacties en meld je aan voor de nieuwsbrief van The CTO Club voor meer nieuws uit de sector en discussies.