SOFTWARE SUPPLY CHAIN MANAGEMENT TEIL 1

Was ist eine Software Supply Chain?

Schauen wir uns zunächst eine gewöhnliche Supply Chain an.

Der Begriff stammt aus der Fertigung und ist nur eine Möglichkeit, ein komplexes System unabhängiger und zusammenwirkender Quellen darzustellen. Eine Supply Chain ist ein vereinfachtes Modell, das bei der Beschreibung eines komplexen Prozesses helfen kann.

Ein einfaches und vertrautes Beispiel ist die Supply Chain für Lebensmittel. Hier werden Lebensmittel angebaut, geerntet, verarbeitet und dann in einem Geschäft gekauft:

Die Schritte entlang der Supply-Chain – Von der Entwicklung über die Verarbeitung hin zum Verkauf und schließlich zum Verbraucher.

Jedes Objekt in diesem Schritt ist ein Glied in der Kette von Personen, Werkzeugen und Prozessen, die die Lebensmittel auf Ihren Tisch bringen. Es ist wahrscheinlich die gängigste Art, wie Lebensmittel weltweit vertrieben werden, und jedes Unternehmen baut sein Geschäft auf, indem es diesen Prozess optimiert.

Die erste Komplikation, die einem einfällt, besteht darin, dass verderbliche Lebensmittel in jeder Phase dieses Prozesses gekühlt werden müssen. Die Schritte in diesem Prozess umfassen also womöglich Kühllaster, Qualitätssicherung und kontinuierliche Überwachung auf schädlichen Verderb. 

Aber was ist mit ausländischen Einkäufen wie Kaffee, die häufig importiert werden und weiter verarbeitet und verpackt werden müssen? Die Supply Chain hat noch mehr Schritte und Verzweigungen:

Komplexere Schritte in der Supply Chain von der Entwicklung und den Import und die Verarbeitung zur Paketierung. Schließlich erreicht das Produkt den Verbraucher.

Wir können auch versuchen, Importe aus verschiedenen Quellen zu beschreiben. Insbesondere Autos haben eine komplexe Supply Chain, die Dutzende oder Hunderte verschiedener Quellen umfasst. Denn Toyota fertigt schließlich keine eigenen Reifen. Hier sehen wir, dass die Supply Chain bei Quellen anfängt, die nochmal jeweils eigene Supply Chains haben.

Software als vernetzte Kette, die mit Software-Komponenten beginnt und über deren Assemblierung, zum Vertrieb und schließlich zum Verbraucher führt.

Anhand dieser Informationen lässt sich auch verstehen, wie ein Schiff im Suezkanal im Jahr 2021 zu einem schwerwiegenden Versagen in der globalen Supply Chain führen konnte. 

Das liegt daran, dass die Verzögerungen zu Engpässen führen und Probleme in der gesamten Supply Chain verursachen, wenn Industriegüter nicht bei den Unternehmen ankommen, die sie bestellt haben. Schließlich kauft niemand ein Auto ohne Motor. 

Solche Teile können auch sehr klein sein. Beispielsweise hat ein Chipmangel Probleme mit der Supply Chain in der Automobilbranche aufgedeckt und dort die Herstellung in den Jahren 2021 und 2022 verzögert.

Schlimmer noch: Das beste Produkt auf dem Markt zu haben, zählt nicht viel, wenn Ihre Kunden es nicht kaufen können. Unternehmen in hart umkämpften Märkten laufen Gefahr, aufgrund von Engpässen pleite zu gehen. Infolgedessen können die Weltwirtschaft und robuste Lieferketten Marktentscheidungen treffen, lange bevor die Verbraucher entscheiden, was sie bevorzugen.

Welche Rolle spielt Software hierbei?

Ein Großteil der Software-Branche setzt aufgrund von Parallelen zwischen dem Fertigungsprozess und der modernen Software-Entwicklung auf das Supply-Chain-Modell. Da Software auch aus Einzelteilen besteht, sieht diese Supply Chain sehr ähnlich aus:Inwiefern die Lieferkette sowohl "vorgelagerte" (upstream) als auch "nachgelagerte" (downstream) Komponenten hat, hängt von Ihrer Beteiligung ab.

Die Analogie setzt sich auch in anderen Bereichen fort:

  • Testen von Produkten
  • Qualitätssicherung
  • Vertrieb
  • Garantien (oder Service Level Agreements)

Und Software ist häufig ein wettbewerbsintensiver Markt, in dem wichtige Features und Funktionen oft den Unterschied zwischen Marktführern und veralteten Produkten ausmachen. 

Da Software unendlich kopiert werden kann, hat diese Branche nicht mit den gleichen Engpässen zu kämpfen, die etwa durch blockierte Schifffahrtskanäle verursacht werden. Bei Software treten jedoch immer noch Verzögerungen und Knappheit in Bezug auf Qualitätskomponenten, qualifizierte Entwickler und Rechenleistung auf.

Die moderne Software-Entwicklung läuft ähnlich ab: Sie basiert ebenfalls auf Komponenten und umfasst mehrere Entwickler, Teams und Systeme innerhalb und außerhalb eines bestimmten Unternehmens. Und genau wie Flugzeuge müssen viele Software-Produkte auch unter hoher Belastung weiterhin funktionieren.

Daher definieren wir die Software Supply Chain als alles, was sich auf die Bewertung, Produktion und den Vertrieb auswirkt.

Wir definieren die Software Supply Chain als alles, was sich auf die Bewertung, Produktion und den Vertrieb von Software auswirkt.

Wie Fertigungsoptimierung die Grundlage für Software-Entwicklung bildet

Es ist selbsterklärend, dass Produkte, die mit minderwertigen Teilen hergestellt wurden, ein Risiko darstellen und zu Ausfällen führen können. Egal, ob es sich um einen Toaster oder ein Flugzeug handelt – Ausfälle schaden Ihrer Marke. Ebenso können aus Einzelkomponenten gefertigte Produkte verbessert werden, indem bessere Komponenten verwendet werden.

Aber das war nicht immer der Fall. Wir und der Rest der Supply-Chain-Branche betrachten es als Edwards Demings Verdienst, dass wir durch seine Arbeit mit Toyota nun eine Struktur für das Supply Chain Management haben. Deming – Experte für die Verfahren, die heute als Lean Manufacturing bekannt sind, – verlagerte den Schwerpunkt bei Toyota auf die Entwicklung von Fahrzeugen anhand der starren Einhaltung von Qualitätsprinzipien.

Demings Qualitätsprinzipien

Vier Prinzipien, die sowohl für reguläre als auch für Software Supply Chains gelten:

  • 1. Bessere und weniger Lieferanten nutzen
  • 2. Hochwertige Teile von diesen Lieferanten verwenden
  • 3. Fehler frühzeitig beheben und bekannte Fehler niemals an nachgelagerte Instanzen weitergeben
  • 4. Transparenz schaffen und verfolgen, was man wo verwendet

Qualität ist genauso wichtig wie Geschwindigkeit

Deming predigte, dass man, wenn man Teile von höchster Qualität hat, Produkte von höchster Qualität mit hoher Geschwindigkeit herstellen kann. Doch wenn Sie sich nur auf Geschwindigkeit konzentrieren, wird Ihr Geschäft stets darunter leiden.

Wenn Sie sich nur auf Geschwindigkeit konzentrieren, wird Ihr Geschäft stets darunter leiden.

Obwohl diese Ideen über 40 Jahre alt sind, sind viele Konzepte klar formuliert und heute noch genauso relevant. Insbesondere seine Vorschläge zu den Vorteilen vertrauenswürdiger Lieferanten oder zur Verwendung von Komponenten von Drittanbietern, anstatt alles selbst herzustellen, spiegeln in vielerlei Hinsicht die Open-Source-Komponenten-Software von heute wider. Die Idee, Wissen in Form von Komponenten zu teilen, ermöglichte es Unternehmen wie Toyota, schneller bessere Autos zu bauen. 

Als relativ aktuelles Beispiel können wir die ersten Modelle des Toyota Prius im Vergleich zum Chevy Volt nehmen. Zum Zeitpunkt der Markteinführung kostete der Prius fast 60 % weniger als der Volt und wurde 13 Mal häufiger verkauft. Toyota stellte nur die Hälfte seines eigenen Autos her und hatte dadurch erheblich weniger Arbeit – und das alles mit einem Bruchteil der Lieferanten von Chevrolet. 

Wenn Sie qualitativ hochwertige Fahrzeuge – oder Software – bauen möchten, müssen Sie qualitativ hochwertige Teile verwenden. Und Sie müssen wissen, welche Teile Sie verwendet haben, damit Sie genau nachvollziehen können, wo sie sich befinden, falls etwas schiefgeht.

Bei der Fertigung könnten Ausfälle zu kostspieligen Rückrufaktionen führen. Wenngleich Software einfach zu vertreiben ist, können Schwachstellen und Qualitätsprobleme dennoch schnell teurer werden als ein Geräterückruf. Unternehmen, die solche Risiken nicht ernst nehmen, können an Wert verlieren (im Falle der Übernahme von Yahoo durch Verizon beispielsweise 350 Millionen US-Dollar), müssen unter Umständen Bußgelder zahlen oder können bankrott gehen. In den Nachrichten mangelt es nicht an Unternehmen, die berichten, dass sie nach einem Sicherheitsverstoß „aufgewacht“ seien. Doch es geht um mehr als nur um die Sicherheit – indem man Qualitätsprinzipien wirklich versteht, kann man im gesamten Software Development Lifecycle Zeit und Geld sparen.

In den Nachrichten mangelt es nicht an Unternehmen, die berichten, dass sie nach einem Sicherheitsverstoß „aufgewacht“ seien.

Upstream vs. Downstream

Die meisten Leser gehen wahrscheinlich davon aus, dass solche Supply-Chain-Aspekte erst in der Assembly-Phase relevant sind. Aber jedes Glied in der Kette profitiert von dieser Analyse. Tatsächlich fungieren viele Entwicklungsteams als mittlere Instanz und entwickeln Software für das nächste Glied in der Kette. 

Wenn Sie Teil des Assembly-Schrittes in der Lieferkette sind, sind die Schritte links im Prozess upstream (vorgelagert) und rechts downstream (nachgelagert):

Supply Chain 5

Diese Konzepte sind sowohl für die Ausrichtung von Aktivitäten in der Software Supply Chain als auch für die Beschreibung von Angriffen wichtig.

Sonatype Envelope

Möchten Sie sich selbst von Nexus-Produkten überzeugen?