Die Anforderungen an Embedded-Software werden immer komplexer, Entwickler sind Mangelware und der Druck vom Markt lässt nicht nach. Mit der richtigen Beschaffungsstrategie können Unternehmen jedoch für Entlastung sorgen – und sich Vorteile verschaffen.
Alleine im Bereich des automatisierten Fahrens werden jedes Jahr mehr als 25 Prozent zusätzliche Softwareentwickler benötigt. Das liegt an der zunehmenden Komplexität der Software, der kaum mehr steigerbaren Produktivität in der Entwicklung und dem wachsenden Wartungsaufwand der Softwaresysteme. In Kombination mit dem Mangel an Softwareentwicklern setzt dies die Automobilbranche massiv unter Druck. Eine spürbare und nachhaltige Entlastung bringt hier nur eine durchdachte und klare Software-Sourcing-Strategie.
Jedes Unternehmen muss entscheiden, welche Teile seiner Software im eigenen Haus entwickelt (Make) und welche Teile von außen bezogen werden sollen (Buy). Im Allgemeinen ist es empfehlenswert, diese Entscheidung auf der Grundlage von Fragen wie den folgenden zu treffen:
Ist die Gesamtarchitektur gut definiert, kann für jede Softwarekomponente eine Make-or-Buy-Entscheidung getroffen werden. Die Summe all dieser Make-or-Buy-Entscheidungen ist dann die Sourcing-Strategie. Aber reicht es wirklich aus, nur zwischen zwei Optionen zu wählen, um daraus eine Strategie abzuleiten? Die wichtigere Frage ist vielleicht nicht, »ob« ein Unternehmen eine Software herstellen oder zukaufen soll, sondern vor allem »wie«. Hier lohnt ein genauer Blick auf die wichtigsten Optionen für die Softwarebeschaffung und ihre Vor- und Nachteile.
Interne Entwicklung sichert Exklusivität
Option Nummer 1 besteht darin, die komplette Softwarekomponente intern zu entwickeln, wobei alle Schritte von der Anforderungserstellung und Spezifikation bis zur Implementierung, Integration, Test und Wartung abgedeckt werden. Dieser Ansatz verspricht die vollständigen und exklusiven Rechte an der entwickelten Software sowie ein Höchstmaß an Vertraulichkeit. Das Ergebnis kann vollständig auf die individuellen Bedürfnisse des Produktes und Unternehmens zugeschnitten werden und das gesamte relevante Know-how verbleibt im Unternehmen.
Gleichzeitig erfordert dieser Ansatz eine ausreichende Anzahl an Softwareentwicklern und die noch knappere Ressource Zeit, nicht nur für die Entwicklungsphase, sondern auch für Wartung und Support. Die Entscheidung, eine Software im eigenen Haus zu entwickeln, ist de facto nämlich auch eine Entscheidung, diese Software so lange zu pflegen, wie sie genutzt wird. Sowohl die für die Entwicklung als auch die für die Wartung erforderlichen Ressourcen werden häufig unterschätzt. Eine IEEE-Umfrage ergab, dass die geplanten Kosten von Softwareprojekten im Durchschnitt um 89 Prozent überschritten werden.
Interne Entwicklung wird normalerweise mit Unabhängigkeit assoziiert. Aus Sicht der Rechte an geistigem Eigentum (IP) ist dies zwar richtig, aber es besteht auch eine Abhängigkeit von den Mitarbeitern. In den meisten Teams ist das Fachwissen nicht gleichmäßig verteilt, und wenn einige wichtige Entwickler das Projekt verlassen, kann dies ein erhebliches Risiko darstellen. Außerdem schränkt die interne Entwicklung die Freiheit des Unternehmens ein, seine Entwickler optimal einzusetzen, denn mit jeder entwickelten Softwarekomponente werden mehr Entwickler für die Wartung benötigt.
Externe Auftragsentwicklung
erhöht Flexibilität
Die zweite oft genannte Option besteht darin, die Softwareentwicklung an einen externen Auftragnehmer zu delegieren. In Bezug auf die Exklusivität und die Rechte an geistigem Eigentum ist dies mit der internen Entwicklung vergleichbar. Ein Vorteil dieses Ansatzes ist, dass weniger interne Entwickler benötigt werden. Die Anforderungsanalyse, das Lieferantenmanagement, die Integration und die Tests auf Systemebene müssen jedoch weiterhin im Unternehmen selbst durchgeführt werden. Vom Zeit- und Kostenaufwand her ist der Gesamtaufwand mit einer Eigenentwicklung vergleichbar. Kosteneinsparungen können sich aus niedrigeren Stundensätzen ergeben, wenn der Auftragnehmer in Regionen mit niedrigeren Gehältern ansässig ist – Offshoring oder Nearshoring.
Der größte Vorteil dieser Beschaffungsstrategie besteht darin, dass Verträge schnell und einfach gekündigt werden können, wenn sich die Pläne ändern – das bedeutet mehr Flexibilität. Für große Unternehmen kann es manchmal einfacher sein, einen Vertrag mit einem externen Unternehmen abzuschließen, als auf interne Ressourcen zurückzugreifen. Außerdem kann ein Vertrag mit einem externen Unternehmen effizienter durchgesetzt werden als eine Vereinbarung mit einer anderen Abteilung desselben Unternehmens.
Von Nachteil ist, dass das Unternehmen weniger Kontrolle über den Entwicklungsprozess und die Qualität des Teams beim Auftragnehmer hat. Die Auftragsvergabe und insbesondere das Offshoring erfordert in der Regel gründliche Qualitäts- und Lieferantenmanagementprozesse. Außerdem schwindet durch die wachsende Abhängigkeit vom Auftragnehmer die eigene Verhandlungsmacht. Der kritischste Faktor ist hier jedoch die Wartung: Da die Software nicht vollständig im eigenen Unternehmen entwickelt wurde, wird es schwierig und teuer sein, sie selbst zu warten. Es kann auch schwierig sein, den Auftragnehmer zu beauftragen, ein Problem nach der Lieferung zu beheben, da sich das Team, das die Software geliefert hat, im Laufe der Zeit stark verändert haben kann.