Driving Toward Success in Software-Defined-Vehicle Development
What you’ll learn:
- Rethinking the coding cycle.
- Embracing workforce transformation.
- Unifying developer teams through the cloud.
Transport is changing as we know it, with software-defined vehicles (SDVs) fast becoming the new standard for vehicles of all kinds—cars, trucks, motorcycles, and more. Unlike their traditional predecessors, the code underpinning SDVs is arguably even more important than the physical components.
Fewer moving parts and a move to electricity for power instead of fossil fuels means this emerging generation of SDVs is poised to be both more reliable and sustainable than those that came before.
Furthermore, with powerful computers and advanced electronic systems under the hood, these vehicles can react to and evaluate different inputs, adapting accordingly. Manufacturers can therefore increase functionality, personalize the vehicle experience, and continuously update the software to improve features, add new ones, or bolster security.
In contrast to today’s cars, which tend to depreciate in value and capability as soon as they’re sold, future vehicles will not just maintain their capabilities, but get better. Some manufacturers are already taking this approach, upgrading and adding to vehicles over time.
However, the new reliance on powerful central computers and accompanying software—as well as the ambition to continuously update and refine them—creates a new set of challenges for manufacturers. Namely, it calls for a significant amount of code to be scoped, written, reviewed, tested, and implemented.
Rethinking the Coding Cycle
Just as code powering the apps we use on our phones or computers is continuously updated, the software powering the next generation of vehicles must be iterated on. Ideally, this should be part of a virtuous cycle where code is installed onto vehicles used in the real world, in turn generating insights that can be leveraged to refine the software.
In practice, certain faults or weaknesses might be detected during use, or drivers may utilize software in unexpected ways. With the right software and coding processes, these can then be addressed by future updates. This new, iterative, and ongoing approach to vehicle support is only aided by the increasing number and sensitivity of sensors in SDVs, which can feed granular insights into the manufacturer’s data lake to learn from and, in turn, respond.
Shifting to this model of continuous integration and continuous delivery (CI/CD) is aided by over-the-air (OTA) updates. Previously, vehicle software would remain static from the moment the vehicle left the factory, leading to widespread bugs or issues, quickly outdated interfaces, and a frustrating experience for customers.
With a two-way flow of information—the vehicle sharing diagnostics and other data, and manufacturers responding to it with OTA updates—automakers can respond to performance and customer usage and improve their work.
Embracing Workforce Transformation
For traditional vehicle manufacturers, the shift to SDVs not only changes the products they put to market, but it also leads to a transformation of their workforce. For the ideal CI/CD process to work, there must be a well-oiled team of developers. As a result, car companies that once were primarily made up of mechanical specialists now have rapidly growing development teams, sometimes expanding from just a few dozen to thousands.
These teams are no longer in specific hubs like Detroit, but spread around the world in multiple time zones. Each team has only a partial view of the overall code base they’re working within and limited access to test kits.
To avoid fragmentation and inefficiency, these dramatic changes to an employee base need to go hand in hand with new processes and tools, as well as increased discipline. Where previously small numbers of developers working for vehicle OEMs would have the flexibility to establish their own tech stack, today greater uniformity is required.
It’s simply not possible to effectively scale a setup where every developer or team has its own mix of editors, compilers, debuggers, testing processes, and libraries. But how do you unite these growing and complex teams around a core set of tools and principles?
Unifying Developer Teams Through the Cloud
Building uniformity in large-scale and fast-growing developer teams is no small task. However, a transition to cloud-based, virtual development environments provides a crucial first step. In contrast to using individual cloud applications, this approach entails building a machine image running Windows or Linux. It would contain all of the tools required to work on a project, with each member of the team having access to that image.
This cloud-based strategy offers significant advantages: It brings everyone onto the same version of the same tools, ensures updates are managed centrally, easily onboards new team members, and provides a single source of truth for security and synchronization.
For example, a development environment for those using NXP’s S32 Automotive Processing Platform might exist on an Amazon Private Cloud EC2 instance and include tools like NXP’s S32 Design Studio and Synopsys’ Virtualizer Studio IDE. With these tools and others for compilation, diagnostics, debugging, validation, and deployment—all packaged with documentation, videos, and demo code—developers have what they need to build the next generation of SDVs.
With the future of SDVs hinging on continuous updates, rapid innovation, and ongoing improvements, OEMs need to ensure that their growing teams of developers are set up for success. By uniting them through the cloud, they can neutralize the risk of fragmentation and empower them to do what they do best: Build incredible new experiences for the customers buying the vehicles of the future.