Dynamic Duo: How Waterfall & CI/CD Can Work Together in Vehicles
In the technology industry, the idea of pushing out a new version of a software platform every month, week, day, hour or even second is nothing new, and many companies strive to achieve continuous integration and continuous delivery (CI/CD). Conversely, the automotive industry generally regards the idea of CI/CD as an absurdity when it comes to in-vehicle systems, as any industry that utilizes safety-critical software would. So, while the technology industry has been implementing agile, iterative processes for years, the automotive industry is still very focused on waterfall processes.
It would seem that these two approaches are mutually incompatible, but they aren’t. This is why virtualization, which allows one physical computer to act as multiple virtual machines, is so important. Without virtualization, eCommerce, online banking, eGovernment or nearly anything else that’s part of the cloud wouldn’t be what it is today. Virtualization is already underneath the computing services that run the global internet cloud; it is a mature technology.
In-car systems can have an isolated but cloud-connected virtual machine for software to run with in-vehicle virtualization, making the vehicle functions available from the outside world. Vehicles can join the “connected economy” where connected service upgrades can occur as needed by a service provider in a CI/CD process, but only under the strict control of deeply embedded safety and security protocols managed outside the cloud-connected virtual machine (and developed using waterfall processes).
With the vehicle effectively a part of the cloud, competing business models can leverage a connected car platform to develop and improve the owner experience, and it is possible for car manufacturers to extend their revenue options with entirely new connected services.
In conclusion, moving virtualization into the vehicle computing platforms is not a radical step. It’s actually the most logical way to enable CI/CD in vehicles for things like integrated telematics services, fleet management, usage-based insurance or even to support dashboard applications, all while isolating various safety-critical systems from external threats. In this model, it is possible for the automotive industry to move at the speed of software and maintain classic development mechanisms for functional safety.