Image: Agil und eigenverantwortlich entwickelnFERCHAUFERCHAUSCRUM und Kanban – agile Entwicklungsmethoden revolutionieren die Softwareentwicklung | metamorworks
TechnikAgile Entwicklung

Agil und eigen­ver­ant­wort­lich entwi­ckeln

Lesezeit ca.: 4 Minuten

Andreas Burkert

Freier Journalist

Die agilen Entwicklungs­me­thoden Scrum und Kanban revolutio­nieren die Software­ent­wick­lung in der Automobil­branche. Die enorme Komplexität und die kurzen Innovati­ons­zy­klen, die das autonome Fahren erforder­lich macht, lassen sich mit starren Denkmustern nicht mehr lösen.

24. Oktober 2018

Das Automobil muss sich in immer kürzeren Entwicklungs­zy­klen an neue Mobilitäts- und Kundenwün­sche anpassen. Individua­lität, Personali­sie­rung und die Fortschritte bei autonomen Fahrfunk­tionen fordern von den Ingenieuren, Funktionen innerhalb weniger Wochen zu erstellen und in Erprobungs­fahr­zeugen zu testen. Um unter diesem Zeitdruck noch die Funktions­si­cher­heit zu gewährleisten, sind gänzlich neue, agile Entwicklungs­me­thoden erforder­lich. Das Festhalten an starren Plänen der Produktent­wick­lung wurde dem Wunsch nach kurzen Innovati­ons­zy­klen nämlich nicht mehr gerecht.

Mehr als ein Jahrzehnt nachdem agile Methoden ein fester Bestandteil in der Entwicklung von Software sind, wagten sich die ersten Automobil­her­steller an diese Art der Software­ent­wick­lung – zuerst im Bereich des Infotain­ments. Mittlerweile haben zahlreiche Unternehmen aus der Automobil­branche ihre Entwicklungs­pro­zesse angepasst. Vor allem Scrum und Kanban haben sich herauskris­tal­li­siert.

Scrum erfüllt auch Automotive-Standards

Laut einer Studie des Beratungs­un­ter­neh­mens Kugler Maag Cie arbeiteten 55 Prozent der befragten Unternehmen im Jahr 2015 mit Kanban und rund 80 Prozent mit Scrum. Kanban wird allerdings bei der Produktent­wick­lung zur besseren Fehlerbe­he­bung und Wartung genutzt. Weil Kanban leichter zu adaptieren ist als Scrum, verschieben sich die Gewichtungen. Kanban gewinnt laut den Beratern in den Unternehmen immer mehr an Bedeutung. Als evolutio­närer Prozess übernimmt diese agile Entwicklungs­me­thode die bestehenden Abläufe, Rollen und Verantwort­lich­keiten. Aufwändige Eingriffe in die Aufbau- und Ablaufor­ga­ni­sa­tion sind nicht erforder­lich.

Scrum hingegen ist geeignet, flexibel und zeitnah neue Funktionen zu entwickeln. Der Kern der Scrum-Methode ist dabei, große Produktent­wick­lungen auf einzelne Teilaufgaben herunter­zu­bre­chen. Diese Aufgaben werden anschlie­ßend in einer Art To-Do-Liste festgehalten. An solch einem Sprint Backlog arbeitet dann ein Team beziehungs­weise mehrere Teams, die aus etwa zehn Personen bestehen. Dass sich diese Scrum-Teams selbst organisieren, ist auch eine Besonder­heit der agilen Software­ent­wick­lung. Ebenso die Arbeitsme­thoden.

So gilt bei Scrum größtmög­liche Transparenz. Damit alle am Gesamtpro­jekt beteiligten Mitarbeiter über den aktuellen Stand der Entwicklung informiert sind, finden tägliche Meetings (Daily Scrums) statt. Darüber hinaus werden Teilergeb­nisse und Aufgaben auf Post-it-Zettel notiert und an die Scrum Boards geheftet, die jedes Team aufstellt. Diese Art der Visualisie­rung in ist agilen Projekten üblich. Durch dieses Vorgehen sollen Probleme in kürzester Zeit gelöst werden. Denn die Zeit drängt.

Innerhalb von zwei Wochen muss ein Ergebnis her

Das Ziel ist nämlich, innerhalb von nur zwei bis drei Wochen die vorgegebene Aufgabe zu erfüllen. In dieser vorab festgelegten Zeit können die Teams ungestört und konzentriert arbeiten. So nutzen bereits etliche Automobil­zu­lie­ferer agile Methoden für das Erstellen von Software. Zu ihnen zählt auch das Technolo­gie­un­ter­nehmen Continental, das die Methode für das Programmieren von Software­an­teilen für eingebet­tete Systeme verwendet wie sie in Mensch-Maschine-Schnittstellen zum Einsatz kommen. Der Sensorher­steller Balluff nutzt mittlerweile sogar die agile Management-Methode Scrum bei Prozess-, IT- und Organisa­ti­ons­pro­jekten.

Für die Automobil­her­steller ist Scrum wie auch Kanban ein wesentli­cher Aspekt beim Programmieren neuer Funktionen für das autonome Fahren. So lassen sich etwa Assistenz­funk­tionen für das selbststän­dige Überholen auf der Autobahn oder aber in der Stadt zeitnah entwickeln und erproben. Für die an diesen intelligenten Fahrassis­tenten arbeitenden IT-Spezialisten sowie Software­ent­wickler aus den Bereichen künstliche Intelligenz, Machine Learning und Data Analysis gehört die agile Methode Scrum zum Handwerks­zeug.

Allerdings findet sie ihre Grenze bei der Entwicklung von Hardware­kom­po­nenten. Der Grund: Software lässt sich deutlich schneller testen als Hardware. Und vor dem Hintergrund, dass nach Ende eines jeden Sprints ein nahezu fertiges Produkt präsentiert werden muss, ist dieses in der Hardware­ent­wick­lung kaum möglich - trotz der Möglichkeiten des 3D-Drucks.

Scrum erfordert ein Umdenken bei der Personal­wahl

Und dennoch: Agiles Entwickeln bedeutet nicht zwangsläufig, das Ziel schneller zu erreichen. Die Entwicklungs­ab­tei­lungen schätzen an dem Vorgehen allerdings vor allem, dass flexibler und schneller auf Änderungen reagiert werden kann. Zum Beispiel, wenn während der Entwicklungs­phase ein Mitbewerber eine neue Funktion herausbringt, die dann zeitnah auch ins eigene Produkt implemen­tiert werden soll.

Ein weiterer wichtiger Aspekt ist, dass sich mit agilen Methoden nach wenigen Sprints erkennen lässt, ob die eingeschla­gene Richtung korrekt ist und zum Ziel führen wird. Das Einführen von Scrum aber muss gut organisiert werden. So sind künftig statt des klassischen Maschinen­bau­in­ge­nieurs vor allem Scrum Master, Agile Coaches wie auch Product Owner gefragt.