Sprinting to the app: agile software development

Smartphones have shorter development and update cycles for their software than vehicles do. To ensure that both ecosystems nevertheless work together for new vehicle-related app functions, Porsche Engineering uses the agile software development method. This ensures that a wide variety of smartphones are compatible with the vehicle in all sorts of conditions.

The networking of smartphones and vehicle electronics enables new functions that further enhance the driving experience. One example is features that use a smartphone camera to record videos from the windshield and link them to live vehicle information. “One of the major challenges in implementing app functions based on the interaction between the two ecosystems, smartphone and vehicle, is the many strands that come together during development,” explains Thomas Pretsch, Director Infotainment, Connect & E/E at Porsche Engineering. To achieve the desired range of functions, the apps often access and read ECU information such as vehicle position, speed, engine speed, braking force, steering angle, as well as longitudinal and lateral acceleration via the in-vehicle WiFi connection of the vehicle infotainment system.

Agile software development, 2023, Porsche AG
Cards face down: The aim of ‘planning poker’ is to obtain an independent estimate of the effort for a ticket.

The software link between the app and vehicle electronics required for this is complicated by the different product lifecycles of the two ecosystems: The development team has to integrate fast-moving smartphone technology into vehicles with much longer development intervals. At the same time, it must ensure that the app runs reliably under all conditions on the different smartphones and is also compatible with older vehicle systems.

Always up to date

For the development of apps for vehicle applications, Porsche Engineering uses agile software development methods with which an app is continuously kept up to date. Individual work packages that can be implemented within a short period of two weeks are defined for processing the software. As a result, developers are no longer bound to the cycles of vehicle model updates, but have the option of creating a new software version at any time, which is then delivered to customers via the app store. Using agile software development, Porsche Engineering can ensure full implementation of an app for Apple and Android smartphones, from programming and testing to generating the release version for end customers.

Thomas Pretsch Director Infotainment, Connect & E/E at Porsche Engineering, 2023, Porsche AG
Thomas Pretsch, Director Infotainment, Connect & E/E at Porsche Engineering

“Porsche Engineering’s development advantage in this regard is the combination of extensive software expertise and comprehensive knowledge of vehicle technology. Added to this is our expertise in vehicle dynamics development, which enables us to predict exactly which vehicle parameters we need to implement a particular function," says Pretsch. Just as agile as the software development is the adaptation of the development methodology to new requirements or conditions. One aspect that plays a much greater role in the vehicle than in other app application areas is the testing of the software.

At Porsche Engineering, these tests are carried out during development so that the software code can be adapted quickly if errors arise: When defining the sprints, the development team sets milestones for the programming. Once the milestones have been reached, a specially trained test engineer checks the software maturity. To ensure that the high requirements for functional reliability can be implemented even more efficiently in the future, Porsche Engineering is broadening the test program for the apps in successive steps. “Additional tests during development do cost time, but the effort required to make changes for debugging is much lower the earlier you identify an error,” says Johannes Hubert, Development Engineer Infotainment & Connect at Porsche Engineering. Depending on the scope of the update, functional tests by simulation and in the vehicle itself are already an integral part of the development process.

“Additional tests do cost time, but the effort to make changes for debugging is much lower the earlier you identify an error.“ Johannes Hubert, Development Engineer Infotainment & Connect at Porsche Engineering

“The simulations are carried out by internal routines within the software,” as Hubert explains. Fabian Breisig, Specialist Project Engineer Infotainment & Connect at Porsche, adds: “These tests provide information about basic functions of the app. The in-vehicle tests, on the other hand, cover connectivity with the infotainment system and app functions while driving.” In the future, the driving tests will be supplemented and, in part, replaced by more far-reaching simulations and tests on the HiL (hard-ware-in-the-loop) test bench. During the simulation tests, the smartphone is integrated into a racing simulation. “For the app, this creates a situation similar to that in the vehicle. This brings us closer to the real scenario and allows us to replicate extensive functional tests without a vehicle,” says Breisig.

Johannes Hubert, Development Engineer Infotainment & Connect at Porsche Engineering, 2023, Porsche AG
Johannes Hubert, Development Engineer Infotainment & Connect at Porsche Engineering

High flexibility through simulation

The HiL test bench allows the app to be integrated into the vehicle system even when no test vehicle is available. Instead of the complete vehicle, only the infotainment module of the vehicle is required as hardware, and the incoming and outgoing data streams to and from the other control units are reproduced by the test system as a simulation. This leads to a high degree of flexibility in app development—for example, functions for new vehicle model series can be integrated into the app at an early stage so that they are already available when the vehicle is launched, and customers can use them right away.

Agile software development methods can also be used for tasks other than the app application. Porsche Engineering also uses agile methods, for example, in the development of battery systems and operating strategies for electric vehicles, but interest is also growing in other areas. “Agile methods are ideal for software development projects that are subject to a continuous change process,” says Pretsch. “Due to the ever-increasing importance of networking and software in vehicles, I am assuming the use of this approach will increase in all vehicle areas.”

Agile Software Development

Agile software development is a project management approach widely used in consumer electronics, for example, which is characterized by the incremental creation of software in frequent iteration cycles (sprints). One advantage of the agile approach: It’s possible to react quickly to changes, as the development can be flexibly adapted to evolving requirements. Since the intermediate goals are always just software portions, the final objective of a development does not have to be clearly outlined or known. The definition of the scope of work (ticket) to be completed in the sprint takes place in a coordination meeting with all team members. In this context, they use a method known as planning poker.

Good to know

Sprint

Agile development takes place in short cycles (usually two weeks) to ensure quick feedback. An iteration cycle is also called a sprint.

Daily stand-up

The daily stand-up is a short daily meeting where developers update each other on the status of their sprint. Ticket A ticket is a software development task (bugs, stories, tasks) that is transferred to one or more sprints in the story refinement.

Backlog

The backlog is the list of all tickets that are to be implemented.

Story refinement

The maintenance of the backlog is called story refinement. In a continuous process, the tickets are elaborated and made ready for implementation in a sprint.

Planning poker

Planning poker is an agile method for estimating the effort for a ticket. This requires each developer to make a forecast with hidden poker cards. If there are discrepancies between the estimates, this is an indication of ambiguity—for example, an imprecise formulation of the ticket. The goal of planning poker is to ensure that all developers give the same forecast for the effort required for each ticket, meaning that they have a common understanding of the task.

Info

Text first published in the Porsche Engineering Magazine, issue 2/2023

Text: Richard Backhaus

Illustrations: Pia Bublies

Copyright: All images, videos and audio files published in this article are subject to copyright. Reproduction in whole or in part is not permitted without the written consent of Dr. Ing. h.c. F. Porsche AG. Please contact newsroom@porsche.com for further information.

Related Content

Out of the ComBox
Innovation

Out of the ComBox

The Porsche Engineering Data Service (PEDS) facilitates wireless provision of measurement data after a test drive, and allows it to be evaluated quickly. Analyses can be available just minutes after the drive – or indeed during it. And the share of measurement data evaluated live can be increased before any archiving occurs.