Digitale und agile Transformation in der Automobilbranche

– die Softwareentwicklung auf dem Prüfstand – Teil II*

Nach meinem ersten Blog zu diesem Thema habe ich sehr viele Kommentare und auch Fragen erhalten. Das hat mich dazu veranlasst, das Thema „Digitale Transformation in der Automobilbranche“ vertiefend zu betrachten und meinen Fokus auf die Frage zu legen, inwieweit die digitale und agile Transformation in der Automobilbranche gelingt.

Die Automobilindustrie entwickelt Produkte von enormer Komplexität, und die Entwicklungszyklen, angefangen bei der „Innovation im Kopf“ bis zur realen Umsetzung und Produktion, erfordern zum Teil Jahre. „Rein“ digitale Unternehmen, die keine komplexen Produktionsanlagen benötigen, glänzen durch die agile Softwareentwicklung und die einzusetzenden CI/CD-Systeme (CI = Continuous Integration, CD = Continuous Delivery), zum Teil sogar mit Aktualisierungen in Echtzeit. Die Autoindustrie braucht, im Gegensatz zu „rein“ digitalen Unternehmen wie Facebook und Google, andere Kompetenzen im Bereich des Tooling, der benötigten Skills und des Mindsets. Wieso? Stellen Sie sich vor, in einem Auto sind sogenannte Steuergeräte eingebaut, die unterschiedliche Aufgaben haben. In einem Mini Cooper waren 2017 bis zu 37 Steuergeräte eingebaut und in größeren Fahrzeugen ist deren Anzahl sogar noch höher. Das heißt, ein Bremssteuergerät z. B. hat einen größeren Funktionsumfang und ist innerhalb der Karosserie vernetzt. Die Hard- und Softwareentwicklung ist also von hoher Komplexität, was zu Abhängigkeiten führt, u. a. was die Anbindung der Software an die Hardware angeht. Damit am Ende ein Auto aus einer Fabrik laufen kann, werden zeit- und fristgemäße Hard- und Softwarelieferungen benötigt. Und natürlich darf das Ganze auch getestet sein, damit wir uns sicher im Verkehr bewegen können. Im Folgenden gehe ich vor allem auf die Softwareentwicklung ein und vernachlässige die Schnittstelle zur Systemintegration, also die Schnittstelle zwischen Soft- und Hardware. Auf Skills bin ich in vergangenen Blogs bereits eingegangen. Mich beschäftigen diese Veränderungen generell und das ist der Grund, warum ich diese in meinen Blogs immer wieder punktuell aufgreife.
An dieser Stelle möchte ich mich jedoch auf das Tooling konzentrieren. Die Softwareentwicklung für die Automobilindustrie findet in der heutigen Zeit und abhängig vom Kunden in verschiedenen Prozessen nach dem Wasserfall- bzw. nach dem V-Modell statt. Ein Software-Lebenszyklus kann je nach verwendetem Vorgehensmodell die Phasen Planung, Analyse, Design, Entwicklung, Test, Auslieferung oder andere Phasen umfassen. In der Softwareentwicklung gibt es die agilen Methoden und die DevOps (Development Operations). Die Automobilbranche wendet sich allerdings immer mehr von der Wasserfall-Methode ab und bevorzugt aufgrund der schnelleren Umsetzung die agilen Methoden.
Die Vorteile der agilen Methoden im Softwareentwicklungsprozess sind die größere Flexibilität und die zeitnahe Umsetzung von neuen Anforderungen. Denn es ist von großer Wichtigkeit für die Qualität und auch für Testzwecke, dass die Codeentwicklung eng mit der Codeausführung verbunden ist.
Die Software Jenkins ist ein bereits genutztes webbasiertes Softwaresystem zur permanenten Integration von Softwarekomponenten. Diese Software garantiert automatisierte Software-Builds, die das Finden und rechtzeitige Beheben von Fehlern und damit eine höhere Code-Qualität ermöglichen.

Mit dem Aufkommen von DevOps sind die neuen Methoden Continuous Integration, Continuous Delivery (CI/CD) und Continuous Deployment entstanden. Releases bzw. Builds werden durch die modernen Software-Entwicklungsmethoden mittlerweile wöchentlich, täglich und teilweise auch stündlich zur Verfügung gestellt. Mit diesen Methoden werden von den Softwareentwicklern anstelle kompletter einzelner Features kleinere Codeteile in einen sogenannten Hauptzweig, dem Repository, integriert. Ziel ist die Reduzierung von Integrationskosten, potentiellen Fehlern und Interface-Konflikten durch frühzeitige Integration von Codes. Software-Builds werden automatisch bereitgestellt und sind durch Testfälle qualitativ abgesichert. Solche automatischen Bereitstellungen können so konfiguriert werden, dass sie u. a. Funktionen und Problembehebungen schnell an die Kunden verteilen und Klarheit darüber bieten, was gerade produziert wird. Mit der Umstellung auf DevOps wurden auch neue Automatisierungstools für die CI/CD-Pipeline eingeführt. Diese Tools sind in der Regel in verschiedene Entwicklertools wie Code-Repository-Systeme und GitHub sowie Bug-Tracking-Systeme wie Jira integriert.
Bis zu einem gewissen Grad ist die digitale Transformation in der Automobilbranche also gelungen, da die Softwareentwicklung und die Entwicklungszyklen innerhalb der Autoindustrie angepasst wurden.

Zukünftig werden Themen wie digitale Vernetzung und Elektromobilität, die digitale Verflechtung des Autos mit seiner Umwelt und die Adaption an die Smartphone-Industrie, autonomes Fahren, urbanes Fahren und schließlich Anpassung neuer Produktionsprozesse von herausragender Bedeutung sein.

Alle etablierten OEMs und Zulieferer dürfen für die Industrie 4.0 spezifische Kompetenzen zu den genannten Themen aufbauen und weiter ihre Prozesse anpassen.

In meinem nächsten Blog wird es einen Ausblick auf die Zukunft und auch noch einen Blog zum Thema Autonomes Fahren geben.

*Der Blog verwendet eine Anzahl von Fachbegriffen, die im Internet genauer beschrieben sind.

Yvonne Kania, Mobil: +49 171 53 52 296, www.yvonne-kania.de