Challenges of adopting DevOps in automotive software development
Risikko, Teemu (2020-06-12)
Risikko, Teemu
T. Risikko
12.06.2020
© 2020 Teemu Risikko. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202006162392
https://urn.fi/URN:NBN:fi:oulu-202006162392
Tiivistelmä
DevOps is a practice of that brings developers and operations together, and it is enabled by rigorous automation, improvement and monitoring. It is beneficial for a company, because it speeds up the delivery of new software updates to customers. However, automotive software field has not yet taken the practices in use.
In this study, several different challenges of adopting DevOps-practices in automotive software development projects were identified. Previous research about both DevOps and automotive software, existed on the time of writing, but studies combining these two topics were rare.
The study concluded that since automotive software development is traditionally highly complex and distributed, most of the benefits of DevOps are not seen in the field. The study focused on both social and technical challenges seen in adopting DevOps for automotive project. Collaboration and automation were identified as the main problems that need addressing before an automotive company can shift to a DevOps-style development mode.
Collaboration problems were explained to arise from the way how automotive software projects are distributed. Traditionally, automotive manufacturing projects are split to multiple sites to allow efficient production of different parts, but it became evident that that future automotive projects are much more software intensive. This in turn requires more system thinking, which does not match with the distributed development model. Coordination of different suppliers becomes hard when experts are rare, and time is divided between multiple projects. Little time is allocated to self-development, which makes the problem more severe. Instead of cross-functional development teams, automotive software projects were noticed to be split into so called silos, where knowledge is not spread between the silos easily.
Automation was confirmed to be a major problem for the field, mostly because low abstraction level in automotive software. Most of the code is directly written to be hardware specific and reusing old solutions for new problems was noted to be impractical. Testing the implementation is costly, because often proper testing needs to be executed on special hardware, that might not be available for the organizations that provide the software.
Monitoring of automotive software was not seen as important by the manufacturers, which makes adopting DevOps style continuous delivery useless, since no new knowledge can be easily derived from software updates that are not monitored afterwards.
Significant changes to the development methodologies are needed before any DevOps adoption can occur in automotive software projects.
In this study, several different challenges of adopting DevOps-practices in automotive software development projects were identified. Previous research about both DevOps and automotive software, existed on the time of writing, but studies combining these two topics were rare.
The study concluded that since automotive software development is traditionally highly complex and distributed, most of the benefits of DevOps are not seen in the field. The study focused on both social and technical challenges seen in adopting DevOps for automotive project. Collaboration and automation were identified as the main problems that need addressing before an automotive company can shift to a DevOps-style development mode.
Collaboration problems were explained to arise from the way how automotive software projects are distributed. Traditionally, automotive manufacturing projects are split to multiple sites to allow efficient production of different parts, but it became evident that that future automotive projects are much more software intensive. This in turn requires more system thinking, which does not match with the distributed development model. Coordination of different suppliers becomes hard when experts are rare, and time is divided between multiple projects. Little time is allocated to self-development, which makes the problem more severe. Instead of cross-functional development teams, automotive software projects were noticed to be split into so called silos, where knowledge is not spread between the silos easily.
Automation was confirmed to be a major problem for the field, mostly because low abstraction level in automotive software. Most of the code is directly written to be hardware specific and reusing old solutions for new problems was noted to be impractical. Testing the implementation is costly, because often proper testing needs to be executed on special hardware, that might not be available for the organizations that provide the software.
Monitoring of automotive software was not seen as important by the manufacturers, which makes adopting DevOps style continuous delivery useless, since no new knowledge can be easily derived from software updates that are not monitored afterwards.
Significant changes to the development methodologies are needed before any DevOps adoption can occur in automotive software projects.
Kokoelmat
- Avoin saatavuus [34150]