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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
Senior Specialist Software Architectures
roger.kullang@modularmanagement.com
+46 70 279 85 92
LinkedIn
EVP and President Modular Management Asia Pacific AB
thomas.enocsson@modularmanagement.com
LinkedIn