Das moderne Auto setzt sich im Schnitt aus circa 10.000 mehr oder weniger stark miteinander interagierenden und technisch komplexen Einzelteilen zusammen. Gleichzeitig findet immer mehr Software Einzug ins Auto, mehrere Millionen Zeilen Code pro Fahrzeug. Dazu kommen unzählige geräteübergreifende Schnittstellen (z.B. Apple CarPlay).
Automobilhersteller wissen zwar, wie man Autos baut. Aber sie wissen noch zu wenig, wie man Software entwickelt.
Was können die Hersteller tun, um dieser Komplexität gewachsen zu sein und darin laufend besser zu werden? Wie schaffen sie den Sprung in die moderne Softwareentwicklung?
(Automobil-)Konzerne sind traditionell hierarchisch aufgestellt und arbeiten in Silos, die untereinander kaum kommunizieren. So ist der Prozess, um Softwareprodukte zu entwickeln, in einzelne Prozessschritte unterteilt, die jeweils isoliert in einem Silo ausgeführt werden. Da verschiedene Abteilungen oder Projektteams alle am gleichen Produkt arbeiten, aber eben nicht gemeinsam und nicht gleichzeitig, gibt es Abhängigkeiten. Sie blockieren sich gegenseitig und warten regelmäßig auf die Zulieferungen. Außerdem fallen Missverständnisse und Fehler erst verspätet auf, weil die Silos nur ihren Prozessschritt vor Augen haben, aber nicht das fertige Produkt, das sich der Kunde wirklich wünscht.Ein vereinfachtes Beispiel: Das Team der Marktforschungsabteilung stellt fest, dass der Anspruch an die Infotainment-Systeme (Navigationssystem, Audiosysteme usw.) gewachsen ist. Es schickt eine Liste mit Anforderungen an die IT-Abteilung. Das IT-Team soll dabei lediglich die Anforderungen umsetzen und steht nicht in direktem Kontakt zum Nutzer. Die Marktforschungsabteilung filtert die Kommunikation zwischen dem umsetzenden IT-Team und dem tatsächlichen Endnutzer und verhindert dadurch direktes Feedback an die Entwickler. Erst wenn die fertige Software ausgeliefert ist, stellt sich heraus, dass die entwickelten Funktionalitäten nicht dem tatsächlichen Nutzerbedürfnis entsprechen. Der Prozess von der Anforderungsdefinition bis Entwicklung wiederholt sich und verzögert die finale Auslieferung der Software. Im Endprodukt spiegelt sich die Organisationsarchitektur: Anstatt eines gemeinsamen Ziels – den Kundennutzen zu maximieren – gibt es festgelegte Prozesse. Statt innovativer Lösungen gibt es Frust. Das Produkt setzt sich am Ende oftmals aus einer Sammlung von „Workarounds“ zusammen, deren Funktionsfähigkeit schon beim nächsten Software-Update gefährdet ist.Versuche zur Abbildung eines ganzheitlichen Nutzererlebnisses enden häufig bei der Integration von Teilprozessen. Wenn aber weder das Personal noch die Teilprodukte auf diese Verschmelzung ausgelegt sind, dann ist die Integration mit hohem Ressourceneinsatz und Fehleranfälligkeit verbunden. Das Kernproblem bleibt weiter ungelöst: Die Architektur ist an den Prozessen ausgelegt, nicht am Produkt. Der Wunsch des Kunden hat keinen Einfluss auf die Arbeitsweise der Silos.
Wie schaffen wir den größten Nutzen für den Kunden? Indem wir Produkte nicht als Summe von Prozessen, sondern als Nutzererlebnis sehen. Will der Kunde eine Sprachsteuerung, mit der er das Infotainment-System bedienen kann? Dann übernehmen wir als Team die Verantwortung dafür: Von der Idee über die Auslieferung bis hin zum Betrieb werden wir diese Funktion mit den entsprechenden Eigenschaften liefern, sie vom Nutzer testen lassen und immer weiter verbessern. Weil wir wollen, dass die von uns entwickelte Funktion im fertigen Produkt den höchstmöglichen Nutzen bringt, sprechen wir uns mit den anderen Teams ab, die andere Funktionen für dasselbe System liefern. Dabei verbessern wir laufend das Zusammenspiel der Funktionen und finden kreative neue Lösungen. Wartezeiten gibt es so gut wie gar nicht mehr.
Diese selbständigen Softwarefunktionen heißen Microservices. Jeder Microservice wird von einem eigenen Team vollumfänglich (also das ganze Nutzererlebnis entlang) entwickelt und in Betrieb gehalten. Dies geschieht unabhängig und entkoppelt von anderen Microservices. Über offene Schnittstellen in der Software werden sie flexibel zusammengefügt oder wieder entfernt, ohne die anderen Microservices zu beeinträchtigen. Microservice-Teams verstehen sich als Dienstleister, deren individuell entwickelte Einzelfunktionen mit den restlichen Funktionen möglichst problemlos, automatisiert und fehlerfrei zu einem Gesamtsystem integriert werden können. Und das immer wieder aufs Neue und in neuen Kombinationen. Die gewohnte Silolandschaft wandelt sich zu einer flexiblen Netzwerkarchitektur.
Um die existierende Produktlandschaft eines Unternehmens transparent zu strukturieren und zu organisieren, visualisieren wir sie in einem Portfolio. Dafür eignen sich beispielsweise die Flight-Level von Kanban. Hier stellen wir das Portfolio auf drei Ebenen dar: der operativen Ebene (Teams/Microservices), der koordinativen Ebene (Zusammenarbeit zwischen Teams für gemeinsame Lieferungen) und der strategischen Ebene (die aggregierten Gesamtprodukte). Jetzt sind wir in der Lage, die existierenden Abhängigkeiten zu erkennen und können damit anfangen, diese zu reduzieren. Im Idealfall wird aus dem visualisierten Portfolio heraus der Blick auf die übergeordnete Unternehmensvision frei. Das ist die Grundlage für eine einheitliche Ausrichtung.Bei der Entwicklung von neuen Produkten orientieren wir uns an den Bedürfnissen des Nutzers und der strategischen Unternehmensvision. Zunächst skizzieren wir ein Nutzererlebnis für das neue Produkt. Dabei identifizieren wir Funktionen, für die wir individuelle Microservices formen. So können wir sicher sein, dass die Microservice-Architektur kundenzentriert ist.
Die Architektur der Organisation ist eine der sechs Ebenen in der agilen Transformation. Im ersten Teil der Blogreihe „Mobilität digital denken“ finden Sie die Beschreibungen aller sechs Ebenen. In Teil #3 geht es um die Ebene Infrastruktur.Wenn Sie mehr über den borisgloger-Zugang in der Automobilbranche erfahren wollen, besuchen Sie unsere Branchenseite Automotive. Geschrieben gemeinsam mit Michael Friedmann.
#1 "Die Autobranche muss agil werden"
#2 "Produkt- statt Prozessarchitektur"
#3 "Entwicklungs- & Kommunikationsinfrastruktur"
#4 "Wettbewerbsvorteil „Skills und Expertise“"
#5 "Kundenorientierung & Produktentwicklung"
Titelbild: Unsplash License, ChuttersnapGrafik: borisgloger