Früh in meiner Karriere habe ich eine Benutzeroberfläche entwickelt, um die Annahmestation eines Lagers zu steuern. Ich war stolz auf das, was ich für ein gut gestaltetes, elegantes Endprodukt hielt. Allerdings stellte sich heraus, dass sie für den Lagerarbeiter weder funktional noch intuitiv war, der mir unmissverständlich sagte: „Das ist das Dümmste, was ich je gesehen habe.“
Autsch.
Es war eine frühe Lektion im Bau von Softwareprodukten, die in einem physischen Umfeld eingesetzt werden können – in diesem Fall in einem Lagerhaus. Wenn die Software eine Oberfläche betreibt, die zwar schön aussieht, aber nicht für die reale Welt gebaut ist, ist sie nutzlos.
Auch wenn das, was ich gebaut hatte, gut aussah (zumindest aus meiner Sicht), fehlte die Funktionalität, die es für den Annahmearbeiter wirklich nützlich gemacht hätte – was ja der gesamte Zweck war.
Heute verzeichnet mein Unternehmen, Flowspace, täglich über 200.000 physische Ereignisse in unserem Fulfillment-Netzwerk für den E-Commerce. Ich habe sehr genau kennengelernt, welche besonderen Anforderungen bei der Entwicklung von Technologie bestehen, die auf die reale Welt angewiesen ist.
Zu wissen, dass diese Ereignisse stattfinden, ist nur eine der Herausforderungen bei der Entwicklung von Software für den physischen Bereich. Die andere besteht darin, die Ereignisse optimal zu orchestrieren, um effizientes und zuverlässiges Fulfillment sowie Interoperabilität mit anderen wichtigen Technologiesystemen zu ermöglichen.
Dieser Artikel beschreibt, wie Entwickler den besonderen Herausforderungen begegnen sollten, die bei der Erstellung digitaler Software auftreten, die Handlungen in der physischen Welt steuert.
SaaS in einer materiellen Welt
Software-as-a-Service (SaaS)-Produkte übernehmen oft unsichtbare Aufgaben. Ein Beispiel aus dem E-Commerce-Bereich ist Shopify.
Marken können mit Shopify in nur einer halben Stunde einen Shop starten, ohne ein physisches Ladengeschäft zu benötigen. Händler kontrollieren das Aussehen, das Gefühl und die Funktion ihres Shops. Sie können über 6.000 Apps und Integrationen für zusätzliche Funktionen einbinden und sich mit Plattformen von Drittanbietern verbinden. Für den Endkunden ist jedoch nur ein einfaches, nahtloses Schaufenster sichtbar, das E-Commerce-Käufe ermöglicht.
Wenn man die andere Seite des E-Commerce – das Fulfillment – betrachtet, unterscheidet sich SaaS deutlich. Hier müssen logistische Prozesse einen physischen Befehl ausführen. Im Gegensatz zu Technologien, die nur in der Cloud und auf Bildschirmen existieren, gibt es beim Fulfillment einen 0/1-Status. Für den Endverbraucher eines Händlers lautet die Frage: „Ist mein Paket angekommen oder nicht?“
In der realen Welt muss Software Hunderte von Ebenen physischer Details berücksichtigen, die algorithmische Ergebnisse beeinflussen. Auch wenn der Code perfekt ist, bringen reale Maßnahmen, die außerhalb der Kontrolle der Software liegen, eine zusätzliche Komplexitätsebene für physische SaaS-Anwendungen mit sich.
Wurde die Bestellung rechtzeitig in der Einrichtung empfangen? Hat der Mitarbeiter das richtige Produkt aus dem Regal geholt? Zeigt die Software ihm die richtige Kartongröße an, um den optimalen, kosteneffizientesten Versanddienstleister zu wählen? Wurde das Produkt pünktlich und wie erwartet geliefert oder ging das Paket unterwegs verloren, wurde beschädigt oder verspätete sich?
In all diesen Szenarien muss die Software, die diesen Fulfillment-Prozess steuert, eine Aktion am Boden ausführen, um das bestmögliche Ergebnis zu erzielen.
Die besondere Herausforderung von Fulfillment-Software
Softwaresysteme, die sowohl digitale als auch physische Produkte betreiben, verursachen Fehler. Aber in einem physischen System können diese Fehler echte Probleme verursachen – etwa falsch gepickte Artikel, verspätete Lkw oder untätige Mitarbeitende.
Deshalb benötigt Logistiksoftware drei entscheidende Eigenschaften: Genauigkeit, Interoperabilität und Effizienz. Andernfalls sind Bestände falsch, Plattformen können nicht miteinander kommunizieren, Bestellungen verzögern sich und alle sind frustriert.
Das gesamte Ökosystem hängt von Datenqualität und Integrität ab. Wenn Daten fehlen oder Fehler in der Berechnung auftreten, wird das angestrebte Ziel – ein effizientes und verlässliches Fulfillment – eventuell nicht erreicht.
All dies steht und fällt damit, dass Systeme miteinander kommunizieren – besonders wichtig im E-Commerce mit seinen vielen Touchpoints und Marktplätzen. Leben die Daten in Silos und können andere Retail-Tech-Systeme nicht effektiv kommunizieren, fehlt Händlern der Überblick. Best-in-Class-E-Commerce-Umsetzung lässt sich ohne Best-in-Class-Software also nicht verwirklichen.
Jenseits von Datenqualität und Plattform-Interoperabilität muss das System optimiert sein. Wenn beispielsweise ein Händler eine Bestellung an ein suboptimales Lager weiterleitet, muss diese länger und schneller transportiert werden, um den Kunden zu erreichen – das erhöht die Kosten. Die Margen für Händler und Lagerbetreiber sind gering, jede Optimierung zählt. Für den Endkunden ist jede Anstrengung, das bestellte Produkt nahtlos nach dem Kauf zu liefern, entscheidend.
Software für physische Abläufe entwickeln
Der erste entscheidende Schritt bei der Entwicklung von Fulfillment-Software für die reale Welt ist ein tiefes Verständnis des Kunden. Was ist sein Geschäft? Welche Anforderungen bestehen an die Produkte? Die Daten, die gesammelt werden, die Analysen, die durchgeführt werden, und die Maßnahmen, die die Software ergreifen muss, richten sich ganz nach den Bedürfnissen der Endkunden.
Um effektive Software für die reale Welt zu bauen, sind Erfahrungen notwendig. Bei Flowspace sammeln wir Wissen, indem wir Ingenieure direkt zu unseren Kunden auf den Lagerboden schicken – um zu beobachten, wie die Bediener eine Aufgabe manuell ausführen, eine Idee vorzuschlagen und anschließend darauf iterativ aufzubauen.
Der zweite Aspekt beim Aufbau von Fulfillment-Software für die physische Welt ist das Thema Daten. Erfassen Sie so viele Echtzeitdaten wie möglich und das so detailliert wie nur möglich. Auch wenn diese Informationen nicht sofort genutzt werden, kann diese umfangreiche Datenquelle Wochen, Monate oder Jahre später hilfreich sein, um die Analyse oder Optimierung eines neuen Algorithmus oder Prozesses zu unterstützen. Datenspeicherung ist günstig, und es ist möglicherweise nicht möglich, die fehlenden Daten im Nachhinein aufzufüllen.
Experimentieren Sie schließlich und iterieren Sie. Häufig lässt sich eine Idee, die in der Theorie plausibel erscheint, in der Realität einfach nicht umsetzen. Meine frühen Erfahrungen mit der Reaktion des Lagerbetreibers auf meine Software-Oberfläche bestätigen dies.
Die Zukunft von SaaS im Betrieb
Die Realität der realen Welt ist, dass sie existiert. Viele Technik-Gründer haben das Bedürfnis nach Disruption und plädieren für eine schönere Lösung, ein besseres Ökosystem oder eine optimierte Arbeitsweise. Das ist das Tolle an Technologie – es wird ständig etwas Größeres, Besseres und Leistungsfähigeres entwickelt.
Aber ein weiterer Aspekt der realen Welt ist, dass sich einige Dinge nur langsam verändern. Versuchen Sie daher, eine Balance zwischen der Entwicklung von Lösungen für den Status quo und dem, was letztendlich möglich ist, zu finden.
Es gibt die Chance, physische Systeme durch Software zu orchestrieren und zu optimieren. Reine Softwareanwendungen können optimale Szenarien modellieren, bevor die Arbeit in der realen Welt stattfindet. Durch das Sammeln möglichst vieler detaillierter und Echtzeitdaten werden Systeme intelligenter und leistungsfähiger. Dafür sorgt auch die Gewährleistung einer Interoperabilität aller Plattformen, die eine erstklassige Ausführung ermöglicht.
Und weil all dies das Handeln in der realen Welt ermöglicht, gibt es die zusätzliche Freude zu wissen, dass diese Arbeit das Leben von Menschen letztlich einfacher, besser oder angenehmer machen wird.
Welche Erkenntnisse haben Sie beim Entwickeln von Softwareprodukten für die reale Welt gewonnen? Teilen Sie Ihre Erfahrungen unten in den Kommentaren und abonnieren Sie den The CTO Club Newsletter, um weitere Branchenneuigkeiten und Diskussionen zu erhalten.
