September 2, 2014

How Can Car Makers Be Ready For The Future?

Version Control

The automotive industry in in the middle of the greatest period of change it has ever seen. It wasn’t all that long ago that technical innovation such as electronic climate control, SatNav, and ABS were only available as expensive options on high-end models, but now they’re often standard on entry-level vehicles. It appears that “smart” systems such as collision avoidance are about to become mainstream, and the so-called “Internet of Things (IoT)” is raising expectations for communication and co-ordination, and self-driving cars aren’t that far away.

If you’re working in the area of automotive electronics, it’s an exciting time but it’s also highly challenging. Some of the key drivers for change are:

  • Rising Customer Expectations – in an “iPhone world”, car “users” expect rich user experiences with frequent updates.
  • Competitive Threat – new manufacturers can innovate fast, manufacturers realize the need to lead or lose
  • Cost Pressure – always a priority but since the financial crisis, good financial management is critical
  • Regulatory Compliance – increasing adoption of standards such as ISO26262 is improving safety and quality but requires more rigorous management of change

Trying to find a balance point between these forces is not trivial. Focusing on costs will slow down innovation or miss customer expectations. Focusing on innovation without considering cost will create unsustainable business.

Being ready for future change will require agility, frequent releases and openness.

Agility

Many of these drivers have also been seen in other industries and there are lessons that can be applied to the automotive industry. In particular, adopting “agile” development methods has significantly accelerated delivery of new capabilities across a broad range of software products. A natural extension of agile for many is the adoption of “Continuous Integration (CI)” – building and testing software products regularly, even on every change, to find out as early as possible if anything has been broken. The ultimate extension for an increasing number of development teams is “Continuous Delivery (CD)” – if a build passes the CI testing, then the product is potentially releasable so why shouldn’t the change go directly into a live release?

Having short development periods with frequent releases allows the organization to continually tune their product roadmaps and plans to ensure market alignment and being able to adopt new technology without wait for the next model update.

Frequent Releases

Is it possible to release such updates to the market on very short cycles? It may be a long time before it’s realistic to consider new car models at the end of every 2 or 4 week sprint but there are certainly areas where agile and CD methods can be applied.

For example, updating In-Vehicle Infotainment (IVI) systems to add a new music streaming service should be perfectly achievable. Indeed Tesla already provide over-the-air updates for exactly this kind of change. Their changes aren’t just limited to simple or cosmetic changes, they’ve even deployed safety updates this way. This may be an extreme example of what’s possible today but it’s surely a pathfinder for what the mass market will need to deliver within the next five years.

Openness

Openness, in particular adoption of Open Source or community participation, is appearing in the automotive industry in multiple ways. For example, there are various consortia proposing standards for integration and platforms on which 3rd parties can build. For example, Apple’s CarPlay enables apps to share the screen and controls of the car, the Open Automotive Alliance is trying to create a open architecture for many manufacturers and vendors to share. There is no clear winner at present so they’re having to make big choices or be ready to switch standards as needed.

Open source is also making its way into the design and development offices. Open source tools such as Git to provide distributed version control is starting to appear. Git provides a great developer experience and supports agile methods but is weak in enterprise-readiness and being able to handle the wide variety of digital assets required for hardware or modern software development.

Preparing for the Future

The biggest inhibitors to adopting these modern and flexible methods may well be the software tooling and processes being used. Many design and programming teams at car manufacturers are using big, heavy and inflexible tools that originally began life as general manufacturing systems more suitable for numerically-controlled cutters than modern software development.

Three recommendations to being ready for the future:

  1. Evaluate existing tools and processes
    Take a look at all the tools in your toolchain for the different contributors to your products – hardware, software, documentation, graphics etc. If they haven’t had significant change in the last five years, they’re unlikely to be flexible enough to support agile processes or CD. If you can’t store all your assets in a single repository, then you are increasing your costs, increasing quality and compliance risk and slowing down innovation.
  2. Automate
    A key element of CD is to reduce dependency on human beings. Humans are great at many things but generally not so good at highly repetitive tasks. You also should not rely on a “hero” every time you want to make a release – one day that person won’t be available. Modern tools such as those from Polarion or Parasoft help automate compliance testing and simulators provide high fidelity emulation reducing the need for physical prototypes.
  3. Version Everything
    The repository for your digital assets is the fundamental base on which the whole tool chain depends. It’s also critical to your compliancy strategy. Although it may appear to be the last thing you might want to change if you’re worried about risk, it might actually be the simplest and most effective first step to take. Migration from legacy systems into modern version control such as Perforce is a well-trodden path and usually provides ROI extremely quickly. It’s also the enabler for implementing agile methods and CD pipelines that would be difficult or impossible to achieve with legacy tools.

Driving into the Future

Perhaps the best summation of the potential is “The future’s so bright, I gotta wear shades.” This is certainly an exciting time to be involved in the evolution of automotive systems. Never has there been such an opportunity for change and a hunger in the market for innovation.

However, that kind of change will be challenging with traditional tools and processes. Learning lessons from other industries and adopting modern development tools and processes such as agile methods and Continuous Delivery could be the key enabler for success.

I will be joined by Perforce partner Polarion and customer Scania, during a webinar on Sept 30, 2014, where, together, we'll be discussing the above issues and exploring how to keep automotive development cycles agile while still maintaining quality and compliance.

Why not register and join us at the end of September.