Software is increasingly becoming the determining factor in automotive development. Modern vehicles are equipped with a host of ECUs that perform various automations, such as controlling engine functions, regulating braking behavior, monitoring air conditioning, and the like, to safeguard the vehicle and offer a better driving experience.
Millions of lines of software code are written to drive these features, and it is becoming imperative to have HCPs (high-performance computing platforms), which will enable significantly more computing power to be integrated into an ECU and better test and governance processes.
Entertainment systems, navigation, and other innovative solutions are increasingly getting added on, making software take over many critical in-car tasks for future mobility, with autonomy, connectivity, over-the-air (OTA) updates, edge computing, drive-by-wire (XBW), and other novel attributes.
The automotive industry's conventional software development processes pose challenges for such advanced innovations, with enormous costs of integration in addition to feature upgrades, frequent result feedback loops, adaptability to changing requirements, faster turn-around time, bulletproof reliability and performance, data privacy, and cybersecurity expected by customers.
Situations like non-deployment of airbags in crash situations due to hacking have given auto OEMs a tough time with recalls, and fixing vulnerability issues etc., is common.
How DevOps brings in agility
- 1. Shifting from traditional V-model
The automotive industry traditionally uses V-model product development cycles with minimal feedback loops due to sequential testing phases and limited collaboration, especially in HW/SW integration, importing legacy or manual code, and SIL-HIL phases.
The process lacks adaptability to changing requirements, making it less efficient in handling dynamic software development needs. Its sequential phases are rigid, leading to longer time-to-market.
Using agile methods, wherever possible, is the way to go. The agile process is based on small development steps whose results can be checked in frequent feedback rounds. Individual teams have a great deal of freedom and work closely, supporting collaboration.
The combination of DevOps paired with agile approaches software as an ever-changing realm and is suited to dynamically changing extraneous factors such as user expectations, environments, and security challenges. Tools like Jira, Azure Board, etc., can be effectively used for this purpose.
- 2. Automate processes where possible
DevOps for automotive SW faces unique challenges due to the complex testing matrix, deployment processes, and strict safety, regulations, and compliance rules associated with the auto industry.
Continuous Integration (CI) that involves automated build, test, and integrate code changes into a shared repository, followed by Continuous Delivery (CD), a practice that extends CI by automatically deploying code changes to staging or pre-production environments, enables the industry to accelerate releases while ensuring security and mitigating the risk of failed/recalled software releases.
Leveraging practices such as microservices architecture, where software code is developed as a continuum of small services and integrated together, infrastructure-as-code whereby scripts are used to automatically set up a specific configuration of the environment for implementation, monitoring and checks for application performance and data protection, privacy, and cybersecurity helps speed up the release cycles.
When each OEM and Tier 1 and Tier 2 suppliers want to independently cross-verify the HW/SW combination, testing challenges arise. A combined strategy to distribute the scope of work and better utilization of test automation setups at OEM, Tier 1, and Tier 2 supplier locations clearly eases the process.
The DevOps continuous feedback mode helps get feedback from the customers based on their real-world usage, specific inputs from different stakeholders, and data analytics of usage for continuous improvement and better design for the next set of changes. The CF mode closes the loop, feeding back data and analytics from the Operate and Monitor phases back into the Plan phase to start over the development cycle.
Tools like Jenkins and Azure DevOps are used to create complete SDLC automation pipelines stitching other independent automated phases and defining appropriate quality gates.
- 3. Encourage collaboration between cross-functional teams
With CI/CD and CF in place, DevOps accelerates the SW development process and reduces the time-to-market by breaking down silos within an organization and utilizing cross-functional teams more effectively.
The DevOps methodology benefits auto OEMs and suppliers with faster time-to-market, continuous product quality improvement, increased productivity, higher reliability, happier customers, lower development costs, and faster experimentation of SW changes/new feature additions.
Common messaging apps like Slack or Teams can serve as chatOps where teams can communicate and collaborate.
DevOps case studies
Uber: Continuous delivery and DevOps methods helped Uber to scale and deliver great features like:
- 1000s of microservices
- 10000+ deployments per day
- 1000s builds per day
- 100k+ service containers per cluster
- 1m batch containers per day
Tesla and driverless cars: Tesla’s autonomous system has drawn attention in the automotive industry due to its over-the-air update functionality. It is a liquid software that delivers a competitive edge in the modern autonomous vehicle era.
Driving Forward: DevOps Unleashes a Future of Safer, Seamless, Faster and Autonomous Automotive Innovation
OEMs often experience challenges when there is a recall, as it is associated with expenses and revenue losses due to software glitches. With time the situation gets even more complex when more and more software gets added as feature addons requiring compliance with new regulations. Customers have been demanding and expecting new features and automatic updates in vehicles, but with quality and safety assurance. The philosophy of DevOps, with continuous integration and continuous delivery, is the need of the hour, with regular/automatic liquid software over-the-air updates, leveraging 5G networks and advances in cloud computing. With a disciplined DevOps ecosystem, OEMs will have the opportunity to fix bugs remotely with little or no recalls, provide enhanced user experience to the customers, and realize the transition to fully autonomous vehicles sooner than later.
About the Author
Saurov is a seasoned professional with over 20 years of experience driving digital transformation and software innovation. He currently heads the DevOps practice. Through his experiences in multiple geographies and cultures, he has developed deep technical acumen in standardizing and streamlining SDLC processes with DevOps automation. This helps organizations improve the efficiency and productivity of their information technology and establish collaborative workflows to deliver innovation and high-performing applications. Process automation maturity evaluation, rapid onboarding into CI/CD pipeline, code quality and vulnerability determination, streamlining and automating data science applications, AI-powered infra-automation, etc., are some of the in-house utilities the practice is equipped with.