PDF herunterladen

Integration von Hardware- und Softwareentwicklung bei der Lieferung digitaler Produkte

Für die Mondlandung von Apollo 11 im Jahr 1969 waren etwa 145.000 Zeilen Code erforderlich. Eine moderne Boeing 777 arbeitet mit über 2,6 Millionen Zeilen Code. Heute braucht man bis zu 100 Millionen Zeilen Code, um ein modernes Auto aus der Einfahrt zu bekommen.

Die zunehmende Rolle der Software bei komplexen Produkten

900X450

Software wird in unserer Welt Tag für Tag wichtiger. Je mehr Software in den Produkten enthalten ist, desto komplexer wird ihre Entwicklung – und desto mehr Raum für Fehler bleibt. Gleichzeitig ist der Druck, innovative und komplexe Produkte schneller auf den Markt zu bringen, größer denn je. Hinzu kommt die Herausforderung, die parallelen Entwicklungsstreams von Hardware-, Software- und Service-Innovationen effizient zu managen, Transparenz zu gewährleisten und all dies in ein einziges Produkt zu integrieren.

Fertigungsunternehmen, die im Wettlauf um die Optimierung komplexer Produktentwicklungen nicht ins Hintertreffen geraten wollen, müssen ihre Prozesse, Systeme und die Denkweise ihrer Teams grundlegend weiterentwickeln, um nicht von Wettbewerbern verdrängt zu werden, die ihre Unternehmen von Anfang an auf komplexe Produkte ausgelegt haben.

Der Schlüssel zu dieser Entwicklung:

  • Aufbau einer methodischen Betrachtung des gesamten Systems
  • Einsatz von Methoden aus dem Systems Engineering
  • Öffnen der Organisation für interdisziplinäres Denken
  • Nutzung der richtigen PLM/ALM-Tools

Herausforderungen durch Softwarekomplexität

Aus geschäftlicher Sicht stellen diese Entwicklungen für Fertigungsunternehmen sowohl eine Chance als auch eine Herausforderung dar. Eine Chance, weil softwaregestützte Produkte angesichts des verschärften Wettbewerbs und des Innovationsdrucks sowohl kürzere Entwicklungszeiten ermöglichen als auch den Weg für völlig neue Geschäftsmodelle ebnen.

Doch was ist die Herausforderung?

Interdisziplinäre Teams

Aus der Sicht des Produktentwicklers nimmt die Komplexität des Gesamtsystems aufgrund der vielen Software und der engen Wechselbeziehung zwischen diesen Komponenten zu, auch wenn die Varianz auf der mechanischen Seite abnimmt. Hinzu kommt, dass hinter der Software oft verschiedene Entwicklungsteams stehen, die alle Innovationszyklen auf ihre eigene Weise und in ihrem eigenen Tempo managen. Die Orchestrierung ihrer Arbeit und die Integration dieser parallelen Entwicklungsstreams ist schwierig.

Systemvalidierung

Fertigungsunternehmen müssen sich außerdem Gedanken darüber machen, wie das Gesamtsystem validiert werden kann, insbesondere im Kontext sicherheitskritischer Produkte. Je nach Branche und Produkt schreiben Standards vor, dass jeder Entwicklungsschritt und jede Änderung bis zu den ursprünglichen Anforderungen zurückverfolgt werden kann.

Entkoppelte Toolchains

Die für die Softwareentwicklung verwendeten Toolkits haben sich zu dem weiterentwickelt, was wir heute als Application Lifecycle Management (ALM) kennen. Das Prozessmodell ging im modernen Systems Engineering auf. In vielen Unternehmen lag und liegt der Fokus jedoch auf dem Management der vielen einzelnen Komponenten. Die Sicherstellung der Konsistenz von der Anforderungsspezifikation bis hin zum fertigen Produkt wird nicht immer durch ein unternehmensweit etabliertes Konzept für das Produktlebenszyklus-Management (PLM) (Methodik und Tools) unterstützt.

900X450

Zwei gängige Ansätze für die Entwicklung von softwaregestützten Produkten

Bei der Integration von immer mehr Software in Unternehmen, die sich ursprünglich vor allem auf mechanische und elektromechanische Produkte konzentrierten, können wir folgende Tendenzen beobachten:

Ansatz A: Behandlung von Software als Hardware-Zusatz

In diesem Fall wird die Software als eine Erweiterung oder Ergänzung der Hardware betrachtet (nach dem Prinzip "das bisschen Software ist nur ein weiteres Element"). Softwarekomponenten werden mit elektromechanischen Komponenten gleichgesetzt, und ihnen wird eine Teilenummer zugewiesen. Sie können bei diesem Ansatz in einer Produktstruktur vielleicht noch zumindest das Steuergerät identifizieren, aber die Identifizierung aller wechselseitigen Abhängigkeiten ist bei einer flachen Stückliste letztlich unmöglich.

Ansatz B: ALM und PLM leben Seite an Seite

In einigen Fällen wird eine unabhängige, parallele ALM-Welt neben der PLM-Welt eingerichtet. Diese Situation lässt sich am besten mit "Ich weiß nicht, was die da drüben machen, aber es interessiert mich auch nicht" beschreiben.

Die Softwareentwickler sind nicht mehr an die Zwänge der elektromechanischen Entwicklung gebunden und können ihre dynamischen Möglichkeiten in der ALM-Welt voll ausschöpfen. Die Software wird in kurzen Iterationen und auf sehr agile Art und Weise für die aktuellen Kundenanforderungen optimiert.

Was in einem Szenario der vollständigen Trennung jedoch meist übersehen wird, ist die gegenseitige Synchronisation zwischen der PLM- und ALM-Welt. Dies führt leider zu einer Inkonsistenz, die sich auf die Produktion und das fertige Produkt überträgt.

Keines der beiden oben beschriebenen Szenarien ist für die funktionale Symbiose zwischen Maschinenbau, Elektrotechnik und komplexer Software ideal.

Lesen Sie in der detaillierten Version dieses Artikels mehr über die Vor- und Nachteile beider Ansätze.
Klicken Sie auf die "PDF herunterladen"-Schaltfläche oben rechts auf der Seite.

PLM und ALM neu denken

Die "hohe Kunst" der Optimierung der softwaregestützten Produktentwicklung besteht darin, Prozesse, Methoden und Tools zu etablieren, die allen Beteiligten Transparenz, einen effizienten Hub für die Zusammenarbeit und alle Tools bieten, die sie benötigen, um erfolgreich zu sein.

Dennoch müssen alle separaten Bereiche koordiniert werden, um sicherzustellen, dass das Endprodukt alle erforderlichen Anforderungen erfüllt und als eine Einheit funktioniert. Dies ist jedoch nicht nur eine Frage der Tools und der Methodik. Es erfordert auch eine weitreichende und tiefgreifende organisatorische Änderung. Die entsprechende Bereitschaft dazu ist von entscheidender Bedeutung. Es empfiehlt sich, jemanden zuzuweisen, der eine aktive Rolle bei der Überwachung der Änderungen übernimmt und strenge Richtlinien für die Koordinierung in Ihrer Organisation aufstellt.

Außerdem muss der Prozess der gemeinsamen Entwicklung in der komplexen Umgebung der Technologieentwicklung aktiv gesteuert werden. Die Methoden, die im Systems Engineering verwendet werden, bieten eine geeignete Grundlage. Dazu gehören bereits äußerst nützliche Toolkits, mit denen alle Komponenten eines Produkts oder Systems auf die gemeinsamen Anforderungen abgestimmt werden können.

Ob es sich dabei um die Implementierung eines der Systems-Engineering-Standards genau nach Vorgabe oder lediglich um dessen Verwendung als Richtschnur handelt, ist fast schon eine Frage der Einstellung – es sei denn, Sie müssen Ihren Kunden oder anderen Stakeholdern die Einhaltung der vorgegebenen Standards belegen (in einigen Branchen erforderlich). In diesem Fall spielt es eine sehr wichtige Rolle.

Die methodische Grundlage

Entscheidend ist, dass Ihr Unternehmen ein geeignetes Verfahrensmodell (wie z. B. das V-Modell) auswählt und es als "Kompass" verwendet.

Was bedeutet das im Kontext eines softwaregestützten Produkts? Es ist wichtig, dass Sie sich gleich zu Beginn Gedanken darüber machen, was das Produkt können soll und welche anderen Anforderungen (z. B. Standards) es erfüllen muss. Dies sollte so unvoreingenommen wie möglich und ohne ein bestimmtes Konzept im Kopf geschehen.

Die nächsten Schritte umfassen:

  • Beschreibung dessen, was Ihr Produkt können sollte
  • Sinnvolle Aufteilung des Systems in der Architekturphase
  • Bereitstellung einer ersten abstrakten Definition der Abhängigkeiten
  • Erstellen eines Synchronisationsmechanismus

Lesen Sie im vollständigen White Paper mehr über diese grundlegenden Schritte.
Klicken Sie auf die "PDF herunterladen"-Schaltfläche oben rechts auf der Seite.

Die richtige Zusammenstellung der Grundlagen

Sie müssen sich darüber im Klaren sein, dass die Abhängigkeiten, trotz aller Bemühungen um Vereinfachung, zwischen den Hardware- und Software-Subsystemen schnell sehr vielfältig und komplex werden können. Daher ist es wichtig, dass Ihre IT-Landschaft Sie dabei unterstützt, den Überblick über alle diese Abhängigkeiten zu behalten.

Die Etablierung des oben beschriebenen Modells schafft eine Grundlage, mit der Sie die Herausforderung der Entwicklung softwarebasierter Produkte während des gesamten Entwicklungsprozesses zuverlässig meistern können. Insbesondere das End-to-End-System-Engineering bietet dabei entscheidende Unterstützung.

Die meisten Unternehmen setzen heute bereits einen Großteil dieser Konzepte auf die eine oder andere Weise in die Praxis um. Oft mangelt es einfach an einer optimierten und zielgerichteten Koordination, die sich mit der richtigen Schicht, einem konkreten Verantwortlichen und dem Einsatz geeigneter Tools zur Unterstützung Ihrer Bemühungen beheben lässt.