Background

Automotive OEMs are facing huge, existential challenges ranging from the electrification of vehicles to the race to deliver autonomous capabilities and the evolving demands of the mobility market. Established OEMs, many with more than a century of history and experience, are being faced with aggressive competition from new entrants, such as Tesla, Rivan and a plethora of Chinese competitors. Surviving this perfect storm of competition requires Automotive OEMs to develop an innovative, effective and efficient software and system engineering capability.

business impact assessment
Observability strategy assignment

Assignment

For this assignment, I was given the task of defining an ASPICE-compliant software development process (SWE3 and SWE4) intended to cover the needs of all in-vehicle software development teams. The overall goal of process development was to bring the customer’s software engineering capability into the 21st century, enabling them to rapidly develop, test and deploy software to potentially millions of vehicles. Key goals and requirements included realising the ability to perform over-the-air software updates, the adoption and deployment of Scaled Agile Framework methods and the realisation of a common mobility software platform for a wide range of models and vehicle types.

Results

The assignment involved both strategic and operational tasks and collaboration with other experts working on process development. Over the course of almost two years, together with the customer’s process development team, I accomplished the following:

Component-based Software Engineering

  • Introduced the customer’s process engineering teams to the concept of Component-based Software Engineering and developed supporting internal documentation.
  • Designed a uniform software development process based on Component-based Software Engineering.
  • Ensured that software engineering process definition was based on substantial technical content, including detailed definitions of concepts such a “software unit”, “component” and “interface”.
  • Introduced advanced model-driven development tools.
  • Collaborated with the Test & Integration team to define an ASPICE-compliant Component-based Test & Integration process.
  • Collaborated with System and Software architecture teams on process definition.
Component-based software engineering

Whole Product Thinking

  • Taught the process development team to see a vehicle as a component of a software system rather than treating software as a component of a vehicle.
  • Introduced the concept of “whole product” thinking for system and software architecture.
  • Created awareness that Autosar Classic is not a suitable platform for developing complex “whole product” software, thereby encouraging the shift to Autosar Adaptive and event-driven, reactive system design.
  • Promoted the need to treat software as of equal importance to hardware and mechanics at the system engineering level.
  • Ensured that the software design process fully supported and implemented Scaled Agile Framework principles.
  • Started deploying the software development process to development teams and provided close support to the teams.

The assignment was extremely rewarding. It was a pleasure to work with motivative, smart engineers who were willing to think new thoughts and adopt new processes, methods and tools. Sadly, the assignment was curtailed for budget reasons.