Die wichtigsten Kostentreiber von Software für Hardware Produzenten

Von Roger Kulläng und Thomas Enocsson

Aufgrund der digitalen Transformation beinhalten klassische Hardware-Produkte zunehmend Software-Anteile. Dies hat zur Folge, dass Unternehmen versuchen, Einsparpotenziale, die sie durch modulare Produktarchitekturen erzielen, auf die Softwareentwicklung zu übertragen. Damit das gelingt, ist es wichtig die Unterschiede in Prozess- und Kostenstruktur zu verstehen. 

In der dynamischen Landschaft der Hardware-Herstellung stehen Unternehmen vor der wachsenden Herausforderung, komplexe Produkte effizient zu gestalten. Um diesen Anforderungen gerecht zu werden, setzen viele auf modulare Produktarchitekturen, die eine drastische Reduzierung der Herstellkosten versprechen. Doch während diese modularen Ansätze in der Hardware-Entwicklung Früchte tragen, bleibt ein entscheidendes Problem ungelöst: die steigende Komplexität in der Softwareentwicklung. 

Die Unterstützung unterschiedlicher Softwarevarianten, unabhängig von der Hardware, führt zu einem kontinuierlichen Anstieg der Kosten für Forschung, Entwicklung, Verifizierung und Wartung. Diese Kostenbelastung lässt sich nicht allein durch die Optimierung der Hardware-Architektur bewältigen. Um echte Kosteneinsparungen zu erzielen, bedarf es einer Symbiose von Software- und Produktarchitektur innerhalb einer modularen Plattform. 

Um dieses Ziel zu erreichen, ist es zunächst entscheidend, die Prozessunterschiede in der Entwicklung zu verstehen und die verschiedenen Kostentreiber zu identifizieren. In unserem Blogartikel werden wir die fundamentalen Unterschiede zwischen Hardware- und Softwareentwicklungskosten analysieren und darauf aufbauend eine Vorschau auf die Lösung geben: modulare Softwarearchitekturen als strategische Antwort auf die Herausforderungen der Kostensteigerung in der Softwareentwicklung.  

New call-to-action

Identifikation der Kostentreiber als Basis für modulare Softwareentwicklung 

Viele traditionelle Hardware-Hersteller, stehen vor der Herausforderung wachsender Produktkomplexität. Deshalb setzen sie auf modulare Produktarchitekturen. Diese können die Produktionskosten drastisch reduzieren, indem sie die Wiederverwendung maximieren, die Produktionsabläufe optimieren und die Effizienz der Lieferkette erhöhen. 

Aber auch bei Softwarebestandteilen besteht die Gefahr steigender Komplexität. Durch die Unterstützung unterschiedlicher am Markt befindlicher Softwarevarianten („Releases“), die unabhängig von der Hardware zum Beispiel durch Fehlerbehebungen oder Anpassungen an neue Technologien entstehen, steigen die Kosten für Forschung, Entwicklung, Verifizierung und Wartung – ein Problem, das die reine Optimierung der modularen Hardware-Architektur allein, nicht lösen kann. 

Echte Einsparungspotenziale für beide Produktbestandteile können nur dann ausgeschöpft werden, wenn Softwarearchitektur und Produktarchitektur Hand in Hand in einer modularen Plattform entwickelt werden. Für eine solche Architektur, ist es zunächst notwendig die Prozessunterschiede in der Entwicklung zu kennen und die unterschiedlichen Kostentreiber zu identifizieren.  

Leseempfehlung: Entdecken Sie die Grundlagen und Vorteile der Software-Modularisierung in diesem detaillierten Blogartikel, der einen vollständigen Überblick zum Thema Modularisierung in der Softwareentwicklung bietet. Zum vollständigen Artikel geht es hier.

 

Unterschiede bei der Skalierung von Hardware- und Softwareentwicklungskosten

Die Produktion von Hardware wird in erster Linie durch die direkten Material- und Produktionskosten sowie die Effizienz der Lieferkette beeinflusst. Weniger schwer ins Gewicht fallen die Kosten für Forschung und Entwicklung sowie für Tests, da diese in der Regel nur einmal entstehen, nämlich initial bei der Entwicklung des Produkts. Es handelt sich vereinfacht betrachtet um einmalige Fixkosten, während die Produktionskosten im Verhältnis zur Produktionsmenge variabel sind, und während des gesamten Lebenszyklus des Produktes anfallen.  

Im Gegensatz dazu stehen die Kosten für Softwarekomponenten. Hier besteht ein deutlich höherer Aufwand für Forschung, Entwicklung, Verifizierung, Wartung und Support – und zwar über den gesamten Produktlebenszyklus hinweg. Softwarelösungen müssen ständig gewartet und an die aktuellen technologischen Entwicklungen angepasst werden.  

Kosteneffizienz_Softwareentwicklung

Abbildung 1. Die Kostentreiber für Hardware- und Softwareprodukte sind grundlegend verschieden. 

Es besteht also ein grundlegender Unterschied zwischen der Skalierung der Hardware- und Softwareentwicklungskosten mit dem Volumen. Dies wird auch bei der genaueren Betrachtung der einzelnen Kostenarten deutlich: 

Direkte Produktionskosten 

Softwarelizenzen, Patent- und Compliance-Gebühren sowie Infrastrukturkosten können bis zu einem gewissen Grad vom Volumen beeinflusst werden, aber im Vergleich zu den direkten Materialkosten bei der Hardware-Produktion ist dies in der Regel nur ein kleiner Teil der gesamten Produktkosten. 

Auch bei den Produktionskosten bestehen kaum Einsparungsmöglichkeiten. Die Produktion von Hardware erfordert in der Regel sowohl hohe Investitionen als auch einen erheblichen Arbeitsaufwand. Durch Automatisierung, Just-in-Time (JIT)-Prozessoptimierung, kontinuierliche Verbesserungen und Abfallreduzierung kann der Ressourcenbedarf pro produzierte Einheit erheblich gesenkt werden. Bei Software gibt es in der Regel nur zwei Produktionsschritte: die Installation der Systemtestsoftware und die Installation des aktuellen Softwarereleases nach der Systemprüfung. Hier gibt es deutlich weniger Einsparungspotential. Dennoch ist es wichtig, die Software-Installationszeit in der Produktion so kurz wie möglich zu halten, um die Produktionstaktzeit einzuhalten und Engpässe bei der Systemverifizierung zu vermeiden. 

Bei der Hardwareproduktion können Kosten durch intelligente, automatisierte Lieferketten erzielt werden. Bei Software ist das anders. Sie wird nicht mehr physisch auf Disketten oder CD-ROMs ausgeliefert, sondern mit Lichtgeschwindigkeit über Glasfaserkabel zwischen Anbieter und Verbraucher übermittelt. Kostenoptimierungen hängen hier fast ausschließlich davon ab, wie schnell sich die Vertragspartner einigen. 

Entwicklungskosten 

Sowohl die Entwicklung von Hardware als auch von Software ist mit erheblichen Kosten verbunden. Bei der Hardware-Entwicklung fallen die Kosten vor allem dann an, wenn ein neues Produkt entworfen wird. Bei der Software hingegen werden wichtige Funktionen und Dienste in der Regel auch dann noch entwickelt und verbessert, wenn die Hardware einschließlich des ersten Softwarerelease bereits ausgeliefert wurde. Das macht die Entwicklungskosten von Software zu einem wichtigen Hebel für Effizienzsteigerungen und Optimierungen. 

Kosten für Tests und Verifizierung 

Während bei der Hardware-Produktion die Test- und Verifikationskosten vor allem in der als ein finaler Schritt der Produktion anfallen, handelt es sich bei der Software-Produktion um wiederkehrende Kosten, die bereits in den frühen Phasen der Entwicklung entstehen und erhalten bleiben solange Updates und neue Features entwickelt werden. 

Kosten für Wartung und Support 

Bei jeder Entwicklung ist ein Großteil der Kosten in Wartung und Service versteckt. Diese Kosten können bei Software-Produkten sehr hoch sein, je nachdem, um welche Art von Produkt es sich handelt und wie die Support-Organisation aufgebaut ist. Die Qualität der Software-Ergebnisse und der Benutzerfreundlichkeit ist hier ein wichtiger Faktor. Der Aufwand für die Suche und Behebung von Fehlern, die in der Entwicklung übersehen wurden, kann enorm sein. Auf der anderen Seite kann ein neues Software-Release aber auch Kosten einsparen. Im Ernstfall müssen sogar Hardwareprobleme durch neue Software-Releases behoben werden. So hat zum Beispiel ein von Intel 2023 veröffentlichtes Software-Erweiterung eine Hardware-Schwachstelle korrigiert, und damit den kostspieligen Rückruf von Milliarden von CPU’s verhindert.  

Bereitstellungskosten 

Die Kosten für die Softwarebereitstellung sind nicht zu vernachlässigen, da der Prozess der Bereitstellung komplex sein kann. Viele Unternehmen stellen die Software heute anstelle von Komplettversionen in Form von Anwendungsteilen (so genannte „Patches“) über moderne Cloud-Anwendungen bereit. Dadurch können neue Kundenanforderungen schneller erfüllt werden. Gleichzeitig besteht jedoch die Gefahr wachsender Komplexität und damit verbundenen Kosten. 

Kosteneinsparungen in der Softwareentwicklung verbergen sich in Entwicklung, Verifizierung, Wartung und im Support 

Wenn wir uns die Softwarekosten genauer ansehen, stellen wir fest, dass ein großer Teil der Kosten auf Softwarelizenzen, Hardware und Infrastruktur entfällt, ein erheblicher Teil jedoch auch auf wiederkehrende Arbeitskosten. Die Sicherstellung effizienter Entwicklungs-, Test-, Freigabe- und Wartungspraktiken ist der Schlüssel zu einer erfolgreichen Softwareentwicklung, da sie bei jeder neuen Softwareversion wiederkehren. 

Kosteneffizienz_Softwareentwicklung_Einfluss

Abbildung 2. Kostentreiber für Software (die Größe des Postens hat keine Beziehung zur Höhe der Kosten). 

Die Wartungskosten steigen mit der Anzahl der unterstützten Softwareversionen auf dem Markt. Aus diesem Grund ist es wichtig, über Methoden zu verfügen, die einen linearen Kostenanstieg pro Release vermeiden. Andernfalls besteht ein hohes Risiko, dass das gesamte Forschungs- und Entwicklungsbudget für Wartung und Support verwendet wird, anstatt für Innovationen. 

Kosteneffizienz_Softwareentwicklung_Releases

Abbildung 3. Die Kosten für Wartung und Support wachsen proportional zu den unterstützten Software-Releases. 

Das obige Beispiel zeigt, dass selbst bei einem Anteil von 10 % des Gesamtaufwands für Wartung und Support, ein erheblicher Mehraufwand entsteht, wenn sich fünf oder mehr Software-Versionen im Markt befinden. Müssen mehr als 10 Varianten gleichzeitig unterstützt werden, fließen 100 % der Ressourcen in die Wartung und die Innovation bleibt auf der Strecke. 

Um diesen linearen Kostenanstieg zu vermeiden, lassen sich folgende konkrete Maßnahmen ableiten: 

  1. Ältere Versionen auslaufen lassen: Diese Strategie, wie sie auch zum Beispiel Google mit dem so genannten Google-Friedhof praktiziert, ist aus Kostensicht sehr effektiv, für Kunden aber oft schwer nachvollziehbar. Deshalb sollte sie vorzugsweise nur nach klaren Fahrplänen wie zum Beispiel dem Microsoft Lifecycle for Windows durchgeführt werden.  
  1. Erstellung umfangreicher Releases, die ein breiteres Sortiment (d. h. Softwareplattformen) abdecken und mehrere Produkte bedienen können. Diese Vorgehensweise kann sich aber auch als kontraproduktiv erweisen, da der Test- und Verifizierungsaufwand mit dem Umfang eines Release stark ansteigt, da sichergestellt werden muss, dass alle Release-Checklisten für alle freigegebenen Hardware-Plattformen erfüllt werden. 
  1. Senkung oder Deckelung des Wartungs- und Supportaufwands: Dieser Ansatz kann zu einer deutlichen Abnahme der Kundenzufriedenheit führen. Denn sie bedeutet in der Praxis, dass Kundenbeschwerden weniger unterstützt werden und die Behebung von nicht unternehmenskritischen Fehlern in der veröffentlichten Software vernachlässigt wird.  

Zusammenfassend kann man sagen, dass all diese Alternativen auf den ersten Blick Kosteneinsparungen ermöglichen. Was jedoch leidet, ist die Kundenzufriedenheit und die Qualität der Produkte und das kann langfristig zu einem neuen Kostentreiber werden.  

Linearen Kostensteigerungen vermeiden mit modularen Software-Plattformen 

Modularisierung schafft den Spagat zwischen Kostendruck und Kundenzufriedenheit in der Entwicklung von Software-Bestandteilen. Mithilfe einer modularen Software-Architektur, die tief mit der Produktarchitektur verzahnt ist, kann der lineare Kostenanstieg bei den Wartungs- und Supportkosten für die Software-Releases vermieden werden – ohne die Kundenzufriedenheit oder die Produktqualität zu gefährden. 

Änderungen werden dann in Modulen geliefert, wodurch eine viel größere Anzahl von veröffentlichten Softwareprodukten unterstützt werden kann. Gleichzeitig können Mehrwerte in vielen weiteren Geschäftsbereichen erzielt werden. 

Nähern Sie sich den Kostentreibern der Softwareentwicklung strategisch mit Hilfe von Modularisierung! In unserer Webinar-Aufzeichnung „Best Practices für Software-Architekturen in Hardware-Unternehmen“ erfahren Sie alles über modulare Software-Architekturen, deren Skalierungspotenzial und konkrete Anwendungsfälle. 

New call-to-action

Roger Kulläng Modular ManagementRoger Kulläng

Senior Specialist Software Architectures 
roger.kullang@modularmanagement.com
+46 70 279 85 92
LinkedIn

 

 

TE_400x400Thomas Enocsson

EVP and President Modular Management Asia Pacific AB
thomas.enocsson@modularmanagement.com
LinkedIn