– Masaru Nagai, Principal Software Engineer, Renesas Electronics
DevOps is a software development model that enables software to be built and tested quickly and released to end users faster, more frequently, and with higher quality than ever before. However, in addition to technical aspects such as Continuous Integration/Delivery (CI/CD) and system monitoring, the actual application of DevOps requires a set of improvement practices such as information sharing, streamlined approval processes, technology, and work-in-progress restrictions to ensure organization-wide collaboration with a common goal. In addition to the technical aspects such as CI/CD and system monitoring, there is also a need for process/cultural competencies to collaborate across the organization with a common purpose: sharing information, streamlining approval processes, and fostering a culture that values learning, including practices for improvement, such as technology and work-in-progress limits.
According to the State of DevOps Report, a report published almost annually by the Google Cloud DORA (DevOps Research & Assessment) team, the Elite performers with the most effective DevOps practices deploy more frequently than several times per day. Deployment frequency is a measure of the speed of software development and is a key determinant of the success of a company’s software development. Deployment frequency can be read as software development speed and stability as quality. In other words, by applying DevOps, we can expect to improve both software development speed and quality at the same time.
Currently, the entire automotive industry is changing to a development style in which hardware and software are separated and software is developed and implemented ahead of hardware and software, based on the concept of software first, to secure development freedom and improve product strength in product development. To respond to this change, we must be able to release high-quality software more quickly and more frequently than ever before. Adapting to the DevOps model has become a necessity for in-vehicle software development, and companies have already begun to address this issue.
In our in-vehicle software development, we have been working on organizational transformation to DevOps since 2020, including single mainline development, SW architecture review to reduce device/OS dependence, and building an organizational DevOps development infrastructure. The results of these efforts have been a significant step forward in the development of the R-Car SDK. The results have been reflected in the development of the R-Car SDK, which has enabled us to release products for all supported devices/OS simultaneously to customers every 3 months on a regular basis, instead of developing different products for each device/OS and releasing each product over a period of 6 months to 2 years.
The company is now able to release products for all supported devices/OS simultaneously to customers every three months on a regular basis.
The challenges in achieving this were a new repository management system to support automated testing and review in DevOps development, process/culture change to accommodate an agile workflow with incremental small changes, and automated testing using an evaluation board specific to embedded software.
To solve these issues, we established a dedicated DevOps development infrastructure team to quantitatively measure each team’s progress toward the goals set for the realization of CI/CD, which is the key to DevOps, and provide feedback.
For example, approximately 300 developers from four development sites in Japan, Europe, the U.S., and Vietnam participated in the development of this SDK, with an average of approximately 280 updates per month, or approximately 410 updates in a typical month. All updates are automatically tested before being reflected on the main line once they are registered in the system, and the review/approval process is conducted efficiently on the system without paper. As a result, we can achieve the effect that only DevOps can achieve, which is to release high-quality software at a high frequency and deliver the latest software to our customers.
In this article, we have mainly presented DevOps trends, the automotive industry, and our efforts to date. Soon, automated driving will become a reality, and software will define the car. In that era, in-vehicle software will be developed in a DevOps environment on the cloud. Renesas will continue to develop and provide SW platforms that can be easily used in such an environment.
R-Car SDK CI/CD system