Advancing software capabilities at a legacy automaker
Interview with Shareef Hakim, Ford’s Director of Platform Architecture and Prototyping. With a broad tech background, Shareef explains the complexities and opportunities going forward to deliver appealing customer experiences and increase the spectrum of capabilities in future vehicles.
August 2, 2023
How to develop robust software at speed in automotive?
Shareef Hakim has experience in running large-scale initiatives in the domains of software architecture, simulation, and cloud. Coming into the automotive industry when joining Ford in 2022, Shareef comments on the overall changes needed to enable transformation. As responsible for system architecture and as driver of many deliverables including simulation platforms, vehicle APIs and other technologies, Shareef experiences the ongoing complexities first-hand daily.
Recently Ford’s CEO commented on the software challenges for legacy car companies – can you elaborate further your view?
The interview describes well the history and future ambitions of Ford overall. In relation to software, our CEO Jim Farley explains how the industry historically has optimized for cost and for suppliers to basically deliver closed boxes with the software integrated. This may have worked when the expected experiences were well-defined and stable. Today, however, vehicles need to continuously take in new tech and bring new capabilities with software.
For a company and industry that has been around for over one hundred years, managing this shift requires a change to the whole ecosystem. We need to clearly redefine what we need to control and develop an architecture that enables us to deliver robust software while maintaining our legacy. The enthusiasm and understanding for this shift throughout our management are encouraging (Ref: Ford’s CEO Jim Farley at the Fully Charged Podcast – interview part focused on software).
What are the main shifts needed for OEMs to deliver on software?
Well, firstly, taking software ownership in-house requires not just the right people and skills. Such a transformation also requires new tools, flows and methods to enable the development and testing – including ways to do releases in the best possible way throughout the vehicle lifespan.
Managing suppliers as in “I give you requirements – you give me ready product” is vastly different. You need an agile mindset independent of what is developed internally and externally. The software needs to be built in a way to make sure all the pieces come together into vehicles that customers enjoy, that can be easily debugged and maintained. If you don’t have the right software practices in place, you have a house of cards.
We are also changing to have a more platform approach to building a vehicle. In the past, we treat each vehicle as a discreet project from a software perspective. We need to make sure that we build the software platform and the application layers with maximum leverage between vehicle programs; that will drive quality up, cost down, and allows us to rapidly bring innovations to the customers.
What is needed on an industry level to enable the transformation?
This industry is at that pivotal point, with the opportunity to build something life-changing. Developing vehicles that are living entities – something that is changing, updating, and then responding back with issues and behaviours to learn from is a major undertaking. I don’t think anyone can reach that by themselves fully.
Collaboration between developers will be key, which is why we take an active role in COVESA. The Vehicle Standard Specification (VSS), for example, describes the vehicle hierarchy in a very nice, easy, and intuitive way for developers. To make communities successful, collaborators must both use it and contribute to it, just like any other open-source project.
In what ways does the existing tooling need to change?
When it comes to the software level, I’d say the tools on hand in automotive is somewhat detached from reality, it doesn’t enable developers. To attract talent, we need to modernize the tech stack. I can’t get a brilliant software engineer from the tech industry to be productive in automotive without a significant ramp-up time on the automotive eco-system.Our objective is to have capabilities ready for our engineers to be happy and efficient.
Interestingly further, the toolings are often GUI based and you cannot scale with those. There is also a lot of generated code which often is neither efficient nor clean. Some of the tools and processes that have been put in place, may slow you down rather than make you go faster. At Ford, we are passionate about the toolsets needed for us to create fidelity, speed, and turnaround which is why we constantly are keeping our eyes out. I believe that this ecosystem and industry of giants can benefit from new actors to enable speed and push ahead bringing modern SW practices and perspectives. From what I’ve seen so far with RemotiveLabs (demo.remotivelabs.com), I like that you offer direct access to writing scripts and offer developer-appealing API layers. As mentioned before, for developers to be productive we must improve and expand the eco-system of development and operation, including toolset used, methodologies for development, cloud connection and many other modern technologies that must be introduced to automotive.