The need for automotive component designers to embrace a new way of working and thinking.
By Mark Warren, Perforce Software.
The pace of change for vehicle and component manufacturers is on an increasingly upwards trajectory. The need to remain competitive in a challenging industry means that innovation is the name of the game, balanced against a requirement for faster time to market, an eye on costs and compliance with standards such as ISO 26262. This is why Agile development - already a focus for many electronics designers - is taking more of a centre-stage role in the automotive electronics sector, along with Continuous Delivery. In turn, that means many organisations are having to review and change the processes and tools that support this increasingly complex and demanding environment.
Vehicles are very much dependent on software these days; as Marc Andreessen said, everything is really a software business today. Reportedly, the radio and navigation system in the current S-class Mercedes-Benz requires over 20m lines of code alone, and that car contains nearly as many ECUs as the new Airbus A380. Then there is the fact that in the age of the smartphone, customers expect high performance, a great user experience and frequent updates in all parts of their lives, including the cars that they drive. Plus, customers are becoming used to features that until recently were only available in premium vehicles.
A highly competitive marketplace also means that vehicle manufacturers struggle to find new ways in which to differentiate: after all, most cars are proficient and reliable, so something else is needed to set them apart. Rolling out new features is one way to achieve that. On the other side of the coin to innovation is risk management: like many other industries, there is greater regulation and compliance to be observed, such as the the previously mentioned ISO 26262 standard.
On the plus side, being able to remotely upgrade vehicle software, diagnose problems, or get information from the drivers’ cabs of commercial vehicles back to base, are all recent developments that are good news for car manufacturers, workshops and fleet owners. Also, the capability of reasonably priced components with impressive processing capabilities, such as the CUDA architecture chips from NVIDIA, now enable powerful functionality even in reasonably priced vehicles.
More automotive manufacturers and component suppliers are looking at the potential of Agile and Continuous Delivery to address these market challenges. Agile has been around for over a decade and has more recently been joined by Continuous Delivery, which is a natural complement: Agile includes time-boxed, short development cycles and Continuous Delivery shortens the cycle from development to customer with rapid feedback and iteration.
With Continuous Delivery processes, it is assumed that products are always releasable: in other words, at any one time, a product is ready for deployment, even though its development will continue to evolve. Of course, the real release would be at a time determined by the business depending on product refresh cycles or marketing priorities but, at least in theory, every change could be released.
Getting rid of the roadblocks
All this sounds ideal in practice, but there are some hurdles that manufacturers and their electronics component designers need to overcome to access the benefits of Agile and Continuous Delivery as a means to deliver new innovations faster and more efficiently. For a start, many of the tools, processes and systems in use have not evolved since the early days of automation and growing electronic component capabilities that started to appear towards the end of the 20th century.
This is understandable, given that many of the tools used are very big, were expensive to purchase, deploy and manage, so changing them is intimidating and inertia is tempting. However, if these tools just aren’t good enough for the changes going on now and in the future, then now is the time to re-evaluate whether they are a support or a hindrance.
Consider the fact that there is a varied stack of hardware and software in a final product: memory, processors, drivers, graphics, documentation, test plans and simulators, for example. The ‘old world’ way of working was more siloed, which with the more collaborative Agile and Continuous Delivery, can make co-ordination of rapid releases difficult and costly. The answer is to have a single repository for all the assets associated with a project, one that can protect all the valuable IP and support the different workflows. As well as helping to maintain better collaboration and delivery, a repository also creates a ‘single source of truth’ that can be referred to at a later date, for instance to check compliance with ISO 26262.
Many traditional software configuration management - AKA version control or version management - tools have done a good job of managing relatively small source code files, but less so for the kind of large binary data files associated with most modern design projects, especially in a continuous integration environment, or with the diversity of types of file, not just code. So, for some automotive component manufacturers, it may be time to re-think how to manage these repositories of assets.
Having shared, easily accessible repositories is also going to help the more ‘open approach’ now taking hold in the automotive world, to address the fact that third players need to have an element of standardisation and integration. For example, the Open Automotive Alliance is attempting to create an open architecture where a well documented set of standards provide a common framework for all component builders.
We’re also seeing open source tools being used more in design and development processes in all kinds of industries, including automotive. A popular tool for version control is Git, which has its pros and cons: a great, lightweight software development process but poor support for large binary files or IP protection. Fortunately, we are now seeing tools appear that enable organisations to bridge the gap, enabling developers to carry on using Git, but in an environment that puts the control back in the hands of the company.
Both test and automation are key tenets of good Continuous Delivery practice and for good reason: manual tasks, especially ‘boring’ repetitive ones, invite human error. The latest generation of tools to support design processes take this into account, for instance compliance testing and simulating, which create high fidelity emulation and obviate the need for physical prototypes or production testing.
The automotive industry is going through one of the biggest phases of change in its history and that presents both challenges and exciting new opportunities for electronics designers, whether involved in hardware, software or the growing range of support systems, such as M2M communications. Turning that change to advantage does, however, require a re-think of the development environment across tools, processes and culture.