How the software factory gives automakers the best of both worlds in software development

Software developers are often faced with a choice: prioritize speed or quality? Due to time constraints or a lack of efficiency, developers typically can’t have their cake and eat it too. However, by adopting the “software factory” approach, organizations can do exactly that. After all, what good is cake if you can’t eat it?

The software factory is a structured, repeatable approach to software development.  It is not a physical factory. It’s based on principles familiar to those in manufacturing, where standardization, automation, efficiency, and quality control are all critical. In a software factory, software is produced in a process that resembles an assembly line, with a specific tool and defined process for each stage of development. And in contrast to conventional thinking around software development — where developers would use a more ad-hoc approach — the software factory approach adopts an intentional, strategic process to arrive at a common goal across the organization. Coordinating all of an organization’s talent, tools, and processes around a common goal leads to better software.

A software factory creates a defined path that developers can use to create and update software while creating opportunities for enhanced operational efficiency and agility along the way. And by adhering to Agile principles, this approach allows for iterative improvements and adjustments based on real-time feedback.

Virtually every software organization should adopt the software factory approach because of the significant, objective benefits it offers over time.

How the software factory improves quality

Software quality issues have caused major problems across the entire auto industry this year.

For some automakers, they have led to delays of critical product launches while others have had to recall millions of vehicles to fix software glitches. At Ford, for example, more than 30% of recalls in 2023 were related to software, compared to just 8% ten years ago.

With a more organized approach to software, developers can remedy much of this struggle.

A core aspect of the software factory is automation. Often, repetitive tasks like testing or source code management can be automated, and developers should look to do this on a regular basis.

By modernizing the development process through automation, developers introduce a number of benefits to their operations. This includes a reduction of errors and increased speed of deployment – all leading to higher quality software.

A recent case study published by Envorso outlines work with a traditional OEM to deliver higher-quality software by adopting the software factory. This automaker was focused on avoiding launch delays and costly recalls to overcome the competitive edge of new market entrants.

After conducting a comprehensive analysis of the automaker’s staff and workflows, Envorso created and integrated a software strategy to overcome these challenges. By the end of the project, the automaker achieved 90% code coverage, ensuring high-quality software output. What’s more, it reduced onboarding time from three months to just two days, a dramatic 97% decrease.

How the software factory increases

The software factory uses continuous integration (CI) and continuous delivery/development (CD) to ensure that code is ready to hit the market at a moment’s notice while allowing developers to simultaneously make improvements to a project. CI/CD relies on automation to test code throughout the project lifecycle and integrate and deploy code changes in real time. For the automotive industry, this can alleviate the stress of “release day,” enabling developers to find and fix bugs in code in an ongoing manner, rather than testing in bulk at the end of a project.

CI/CD improvement is a common goal for software teams across industries, and for good reason. In Red Hat’s recent Application Modernization Report, which surveyed 1,000 software and IT professionals across industries and regions, 68 percent of respondents associate application modernization with improving CI/CD pipelines. According to the report, “CI/CD pipelines play a key role in speeding development and deployment of the applications and services that organizations rely on to stay competitive.”

“In the past, quality and functional verification were afterthoughts, or left to the tail end of an engineering pipeline. This left enormous windows for defects to arise and propagate without being noticed until it was too late,” states Jeff Henshaw, Managing Director of Envorso. “A modern software factory pushes accountability for quality as early as possible in the software development lifecycle, and ensures multiple opportunities to identify defects early, and address them at very little cost compared to a recall or update to field-deployed software.”

At its core, the software factory approach empowers developers to find, check and fix problems as they go rather than waiting until the end of a project to validate the code. While it adds tasks upfront, it also leads to a problem-solving environment that reduces the chances of major problems and delays at the end of the project. This adds up to a lower stress, lower risk launch with the added confidence that the final software product will be high-quality and on schedule.

Contact Envorso today to learn how we can help you begin your software

 

 

Post A Comment

Subscribe for Post Updates

Stay ahead in a rapidly world. Subscribe to Prysm Insights,our monthly look at the critical issues facing global business.