Volvo begann in den 1980er-Jahren mit der Integration von Software in die Fertigung. Das Entwicklungsteam war zunächst klein und vom Rest der Produktion getrennt. In den Anfangsjahren bestand die größte Herausforderung darin, Software in ein Produktionslebenszyklus-Managementsystem zu integrieren, das auf physischen Komponenten basiert.
Um die Jahrtausendwende führte jedoch die zunehmende Menge an komplexer Software, die in den Fahrzeugen benötigt wurde, zu neuen und weitaus größeren Herausforderungen. Die üblichen Embedded-Software-Probleme rund um die Tests und die Bereitstellung in der Produktionsumgebung stellten zunehmend schwierigere Anforderungen an die IT-Abteilung. Aus dem anfänglichen einzelnen Team wurden inzwischen sieben Teams, die isoliert und mit jeweils unterschiedlichen Tools arbeiten.
Da die Backlogs im Entwicklungsteam immer größer wurden, erkannte die Geschäftsführung die Notwendigkeit einer agilen Lösung für die Softwarebereitstellung. Sie entschied sich zunächst für die Einführung von Continuous Integration. Es stellte sich jedoch die Frage, wie CI in den Embedded Systems implementiert werden sollte. Wie konnte bei zunehmender Häufigkeit der Bereitstellungen die Sicherheit weiterhin gewährleistet werden?
Unsere Berater bewerteten zunächst die aktuellen Voraussetzungen von Volvo für die Einführung von DevOps. Dabei führten unsere Experten eine gründliche Überprüfung des Status der Prozesse, Systeme und Tools auf ihre Eignung durch.
Erwartungsgemäß wurde als größte Herausforderung ermittelt, dass die Entwicklungsarbeit auf sieben als eigenständige Silos arbeitende Teams verteilt war. Sie kommunizierten kaum miteinander, obwohl sie Software für die gleichen Fahrzeuge entwickelten. Einige der Teams verwendeten sogar unterschiedliche Versionsverwaltungssysteme. Wir führten dann eine Datenstromanalyse durch, um zu untersuchen, wie die Software in der Produktionsumgebung bereitgestellt wurde. Wie führten die Teams die Builds, Tests und Bereitstellungen durch?
Es zeigte sich, dass fast alle der größten Schwachstellen auf inkonsistente Tools zurückzuführen waren. Daher entschieden wir uns für das Entwickeln einer Lösung, die auf einer allgemeinen IT-Infrastruktur basiert, die Git, Jenkins, JFrog und Atlassian umfasst und von allen Entwicklungsteams genutzt wird. Der nächste Schritt bestand darin, ein separates Continuous-Delivery-Team zu gründen, das über die verschiedenen Silos hinweg arbeiten und die Barrieren zwischen ihnen abbauen sollte.
Als die Teams mit den neuen Tools gemäß den standardisierten Prozessen zu arbeiten begannen, verzeichnete die Geschäftsleitung unmittelbar eine höhere Produktivität und Motivation der Mitarbeiter. Bald darauf verschwammen die Grenzen zwischen den Teams, und es entwickelten sich schlankere Prozesse in den Teams. Innerhalb von wenigen Wochen hatte sich das Backlog auf ein überschaubares Maß verringert.
Volvo verfügt jetzt über hervorragende Voraussetzungen für die Bewältigung der zukünftigen Herausforderungen an komplexe Software, z. B. für autonomes Fahren. Die Entwicklungsteams können sich jetzt darauf verlassen, die neuen Prozesse skalieren zu können, um herkömmliche Probleme rund um Systemadministration, Budgetierung, Linienorganisation und IT-Betrieb zu vermeiden. Volvo hat als frühzeitiger Anwender von Continuous Delivery und DevOps die Fähigkeit entwickelt, die nächsten Herausforderungen bei der Softwarebereitstellung erfolgreich zu bewältigen.