Im Sprint zur App: agile Software-Entwicklung

Smartphones haben kürzere Entwicklungs- und Update-Zyklen ihrer Software als Fahrzeuge. Damit beide Systemwelten für neue fahrzeugbezogene App-Funktionen dennoch zusammenfinden, nutzt Porsche Engineering die Methode der agilen Software-Entwicklung. So wird sichergestellt, dass die unterschiedlichsten Smartphones unter verschiedensten Bedingungen mit dem Fahrzeug kompatibel sind.

Die Vernetzung von Smartphone und Fahrzeugelektronik ermöglicht neue Funktionen, die den Fahrgenuss weiter steigern. Ein Beispiel sind Features, die mit der Smartphone-Kamera aus der Windschutzscheibe heraus Videos aufnehmen und mit Live-Fahrzeuginformationen verknüpfen. „Eine der großen Herausforderungen bei der Umsetzung von App-Funktionen, die auf dem Zusammenspiel der beiden Systemwelten Smartphone und Fahrzeug basieren, sind die vielen Stränge, die bei der Entwicklung zusammenlaufen“, erklärt Thomas Pretsch, Leiter Infotainment, Connect & E/E bei Porsche Engineering. Um den angestrebten Funktionsumfang zu erreichen, greifen die Apps oftmals über die fahrzeugseitige WLAN-Verbindung des Fahrzeug-Infotainmentsystems auf Steuergeräteinformationen wie Fahrzeugposition, Geschwindigkeit, Drehzahl, Bremskraft, Lenkwinkel sowie Längs- und Querbeschleunigung zu und lesen diese aus.

Agile Software-Entwicklung, 2023, Porsche AG
Mit verdeckten Karten: Ziel des „Planning Poker“ ist es, den Aufwand eines Tickets unabhängig zu schätzen.

Die dafür erforderliche Software-Verknüpfung zwischen App und Fahrzeugelektronik wird durch die unterschiedlichen Produktlebenszyklen beider Systemwelten erschwert: Das Entwicklerteam muss die schnelllebige Smartphone-Technik in Fahrzeuge mit viel längeren Entwicklungsintervallen integrieren. Zugleich muss es sicherstellen, dass die App unter allen Bedingungen auf den unterschiedlichen Smartphones zuverlässig läuft und auch mit älteren Fahrzeugsystemen kompatibel ist.

Immer auf dem aktuellen Stand

Für die Entwicklung von Apps für Fahrzeuganwendungen nutzt Porsche Engineering Methoden der agilen Software-Entwicklung, mit denen eine App kontinuierlich auf dem aktuellen Stand gehalten wird. Zur Bearbeitung der Software werden dabei einzelne Arbeitspakete definiert, die sich innerhalb eines kurzen Zeitraums von zwei Wochen umsetzen lassen. Die Entwickler sind dadurch nicht mehr an die Zyklen der Fahrzeugmodellpflege gebunden, sondern haben die Möglichkeit, jederzeit eine neue Software-Version zu erstellen, die über den App-Store an die Kunden ausgeliefert wird. Mithilfe der agilen Software-Entwicklung kann Porsche Engineering die komplette Umsetzung einer App für Apple- und Android-Smartphones von der Programmierung über das Testen bis zur Erzeugung der Release-Version für Endkunden sicherstellen.

Thomas Pretsch Leiter Infotainment, Connect & E/E bei Porsche Engineering, 2023, Porsche AG
Thomas Pretsch, Leiter Infotainment, Connect & E/E bei Porsche Engineering

„Der Entwicklungsvorteil von Porsche Engineering ist dabei die Kombination aus großem Software-Know-how und umfassenden Kenntnissen im Bereich der Fahrzeugtechnik. Hinzu kommt die Kompetenz bei der Fahrdynamikentwicklung, mit der wir genau vorhersagen können, welche Fahrzeugparameter wir für die Umsetzung einer bestimmten Funktion benötigen“, so Pretsch. Ebenso agil wie die Software-Entwicklung gestaltet sich auch die Anpassung der Entwicklungsmethodik an neue Anforderungen oder Bedingungen. Ein Aspekt, der im Fahrzeug eine viel größere Rolle als in anderen App-Anwendungsbereichen spielt, ist das Testen der Software.

Bei Porsche Engineering erfolgen diese Prüfungen entwicklungsbegleitend, sodass der Software-Code bei auftauchenden Fehlern schnell angepasst werden kann: Bei der Definition der Sprints legt das Entwicklerteam Meilensteine für die Programmierung fest. Sind diese erreicht, prüft ein speziell geschulter Testingenieur die Software-Reife. Damit die hohen Anforderungen an die Funktionssicherheit künftig noch effizienter umgesetzt werden können, erweitert Porsche Engineering das Testprogramm für die Apps sukzessive. „Zusätzliche Tests während der Entwicklung kosten zwar Zeit, allerdings ist der notwendige Änderungsaufwand für das Debugging sehr viel geringer, je früher man einen Fehler identifiziert“, sagt Johannes Hubert, Entwicklungsingenieur Infotainment & Connect bei Porsche Engineering. Abhängig vom Update-Umfang sind heute schon Funktionstests per Simulation und im Fahrzeug fester Bestandteil des Entwicklungsprozesses.

„Zusätzliche Tests kosten zwar Zeit, allerdings ist der Änderungsaufwand für das Debugging sehr viel geringer, je früher man einen Fehler identifiziert.“ Johannes Hubert Entwicklungsingenieur Infotainment & Connect bei Porsche Engineering

„Die Simulationen erfolgen dabei durch interne Routinen innerhalb der Software“, so Hubert. Fabian Breisig, Fachprojektingenieur Infotainment & Connect bei Porsche, ergänzt: „Diese Untersuchungen geben Aufschluss über grundlegende Funktionalitäten der App. Die Tests im Fahrzeug hingegen umfassen die Konnektivität mit dem Infotainmentsystem und die App-Funktionalitäten während der Fahrt.“ Künftig sollen die Fahrtests durch weitreichendere Simulationen und Versuche am HiL-Prüfstand (Hardware-in-the-Loop) ergänzt und teilweise ersetzt werden. Bei den Simulationsversuchen wird das Smartphone in eine Rennsimulation eingebunden. „Für die App entsteht so eine Situation, die der im Fahrzeug gleicht. Damit nähern wir uns dem realen Szenario an und können umfangreiche Funktionsuntersuchungen ohne Fahrzeug nachbilden“, so Breisig.

Johannes Hubert Entwicklungsingenieur Infotainment & Connect bei Porsche Engineering, 2023, Porsche AG
Johannes Hubert, Entwicklungsingenieur Infotainment & Connect bei Porsche Engineering

Hohe Flexibilität durch Simulation

Der HiL-Prüfstand ermöglicht die Integration der App in das Fahrzeugsystem, auch wenn kein Testfahrzeug verfügbar ist. Statt des Komplettfahrzeugs wird nur das Infotainment-Modul des Fahrzeugs als Hardware benötigt, die zu- und abfließenden Datenströme der übrigen Steuergeräte bildet das Testsystem als Simulation nach. Das führt zu einer hohen Flexibilität bei der App-Entwicklung – beispielsweise können Funktionen für neue Fahrzeugmodellreihen frühzeitig in die App integriert werden, sodass sie schon bei Markteinführung des Fahrzeugs zur Verfügung stehen und Kunden sie direkt nutzen können.

Methoden der agilen Software-Entwicklung lassen sich nicht nur für die App-Applikation einsetzen. Porsche Engineering nutzt sie beispielsweise auch bei der Entwicklung von Batteriesystemen und Betriebsstrategien für Elektrofahrzeuge, aber auch in anderen Bereichen wächst das Interesse. „Agile Methoden eignen sich hervorragend für Software-Entwicklungen, die einem kontinuierlichen Veränderungsprozess unterworfen sind“, sagt Pretsch. „Aufgrund der immer stärkeren Bedeutung von Vernetzung und Software im Fahrzeug gehe ich davon aus, dass das Einsatzfeld dieses Ansatzes in allen Fahrzeugbereichen zunehmen wird.“

Agile Software-Entwicklung

Agile Software-Entwicklung ist ein beispielsweise in der Unterhaltungselektronik weitverbreiteter Projektmanagementansatz, der sich durch die abschnittsweise Erstellung von Software in häufigen Iterationszyklen (Sprints) auszeichnet. Ein Vorteil der agilen Arbeitsweise: Man kann schnell auf Änderungen reagieren, da die Entwicklung flexibel an sich fortentwickelnde Anforderungen angepasst werden kann. Da immer nur Software-Abschnitte als Zwischenziel betrachtet werden, muss das Endziel einer Entwicklung nicht klar umrissen oder bekannt sein. Die Festlegung des Arbeitsumfangs (Ticket), der innerhalb des Sprints abzuarbeiten ist, erfolgt im Rahmen einer Abstimmungsrunde aller Teammitglieder. Dazu nutzen sie die Methode des sogenannten Planning Poker.

Gut zu wissen

Sprint

Die agile Entwicklung findet in kurzen Zyklen (in der Regel zwei Wochen) statt, damit eine schnelle Rückmeldung gewährleistet ist. Ein Iterationszyklus wird auch „Sprint“ genannt.

Daily Standup

Das Daily Standup ist ein kurzes tägliches Meeting, in dem die Entwickler sich gegenseitig über den Status ihres Sprints informieren.

Ticket

Ein Ticket ist eine Aufgabenstellung für die Softwareentwicklung (Bugs, Stories, Tasks), die im Story Refinement in einen oder mehrere Sprints überführt wird.

Backlog

Das Backlog ist die Liste aller Tickets, die umgesetzt werden sollen.

Story Refinement

Die Pflege des Backlogs wird als Story Refinement bezeichnet. In einem kontinuierlichen Prozess werden dabei die Tickets ausgearbeitet und für die Umsetzung in einem Sprint bereit gemacht.

Planning Poker

Das Planning Poker ist eine agile Methode zum Schätzen des Aufwands eines Tickets. Dabei gibt jeder Entwickler mit verdeckten Poker-Karten eine Prognose ab. Sollten sich Diskrepanzen zwischen den Einschätzungen ergeben, ist das ein Indiz für Unklarheiten, zum Beispiel für eine ungenaue Formulierung des Tickets. Ziel des Planning Poker ist, dass alle Entwickler für jedes Ticket die gleiche Prognose zum Aufwand abgeben, also ein gemeinsames Verständnis der Aufgabenstellung haben.

Info

Text erstmals erschienen im Porsche Engineering Magazin, Ausgabe 2/2023.

Text: Richard Backhaus

Illustrationen: Pia Bublies

Copyright: Alle in diesem Artikel veröffentlichten Bilder, Videos und Audio-Dateien unterliegen dem Copyright. Eine Reproduktion oder Wiedergabe des Ganzen oder von Teilen ist ohne die schriftliche Genehmigung der Dr. Ing. h.c. F. Porsche AG nicht gestattet. Bitte kontaktieren Sie newsroom@porsche.com für weitere Informationen.

Related Content

Verbrauchsangaben

911 Dakar

WLTP*
  • 11,3 l/100 km
  • 256 g/km
  • G Klasse
  • G Klasse

911 Dakar

Kraftstoffverbrauch* / Emissionen*
Kraftstoffverbrauch* kombiniert (WLTP) 11,3 l/100 km
CO₂-Emissionen* kombiniert (WLTP) 256 g/km
CO₂-Klasse G
CO₂-Klasse gewichtet kombiniert G