ASPICE 101: What You Need to Know About Automotive SPICE
Find out more about the automotive-specific version of ISO/IEC 15504, known as the Software Process Improvement and Capability dEtermination framework here.
Join the DZone community and get the full member experience.Join For Free
Wooden panels and beltless bench seating have gone the way of the dinosaurs, and vehicles have become increasingly sophisticated with every passing year. A major part of that? Embedded systems and automotive software. So, why have functional safety requirements become more standardized while automotive software standards remain touch and go?
ISO 26262, the functional safety standard for vehicles broadly adopted worldwide, incorporates extensive safety analysis methods that account for random errors. But ISO 26262 largely fails to account for systematic errors, including software flaws. ASPICE, or Automotive SPICE, is the most current standard for automotive software best practices, but it is yet to be globally adopted. Read on for a deep dive into this essential automotive software guideline and how to go about meeting it.
What Is ASPICE?
Before we can understand ASPICE, we must tackle SPICE. Software Process Improvement and Capability dEtermination (also known as ISO/IEC 15504, or SPICE) is a framework for software process assessment developed by the ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) in 1993. Its purpose is to evaluate development factors that allow assessors to determine an organization's capacity for effectively and reliably delivering software products.
ASPICE, or Automotive SPICE, applies this framework to the automotive industry, which comes with its own critical requirements. ASPICE differs from functional safety standards (namely, ISO 26262) in that it covers how design is conducted if safety is not a concern. To ensure effective safety practices, automotive suppliers should incorporate both ASPICE and ISO 26262 guidelines. Without adhering to both, you open yourself up to various risks and potential failures.
Fundamentally, ASPICE defines best practices for embedded software in automotive development. It allows teams to organize their projects and approaches to ensure manageability, reliability, and deliverables. While ASPICE has not been conclusively mandated, every automotive supplier could at some point be assessed for ASPICE compliance. As a result, it’s a smart choice to begin integrating the associated practices as early as possible. Some organizations, such as the VDA (Verband der Automobilindustrie – Association Of Automotive Industry), have already set ASPICE as the standard process model, and others are likely not far behind.
All About ASPICE: Goals, Requirements, and Levels
ASPICE builds on the V-Model, also known as the Verification and Validation model, which requires a testing phase corresponding to each stage of development. It is a disciplined model that requires a rigorous evaluation to ensure continuous assessment and development. This approach benefits both providers, who can eliminate potential problems in the initial stages, and clients, who can assume a meticulous approach to both ideation and development. An additional goal of ASPICE is to ensure continuous innovation and product development at every stage.
The ASPICE process is best understood visually as a "V" shape, with two prongs illustrating the complete and continuous development process.
The initial phases, or the left side of the V, include:
- Requirement Analysis, or ascertaining and organizing your client's requirements.
- System Design, or mapping your client's and stakeholders' needs to restructure them into a viable work process.
- Architecture Design, or organizing these requirements into logical operations encapsulating hardware, software, and communication.
- Module Design, or the creation of software requirements to match the system requirements and the development of service units.
- Coding, the point of the V, wherein the design and implementation of the units take place.
The secondary phases, or the right side of the V, include:
- Unit Testing, or ascertaining if the code matches the design and if basic standards and requirements have been met.
- Integration Testing, or the evaluation of software architecture and whether the service units are still functional.
- System Testing, or integrating all of the services into the full system and testing for functionality and requirement achievement.
- Acceptance Testing, or the final tests performed by the client.
Each of these points includes a corresponding testing phase, plus additional traceability and management processes. Suppliers can earn ASPICE certification according to these standardized achievement phases, and their assessment will result in specific ASPICE levels that clients take into account. The ASPICE standard is scored from 0-5, with definitions as follows:
- Level 0: Basic. You can at most "partially" achieve ASPICE requirements and should focus more on managing basic tasks than meeting higher standards.
- Level 1: Performed. You can either nearly or entirely deliver the standard requirements but may have gaps in your process.
- Level 2: Managed. You can reliably deliver the work products and nearly or entirely achieve the ASPICE standards in addition to the work products.
- Level 3: Established. You have established and set the performance standards for the organization and continuously evaluate and learn from them.
- Level 4: Predictable. In addition to having established and met performance standards, you measure, record, and analyze outcomes to enable objective evaluation.
- Level 5: Innovating. You achieve and analyze performance standards to obtain quantitative feedback and causal analysis resolution and invest in continuous improvement.
While the ASPICE process may seem daunting, ASPICE itself is largely generic. It does not dictate specific tools or techniques, but rather your approach to the internally selected development methods. Many clients accept ASPICE Level 2 and Level 3; Level 3 is the universal standard for excellence. Levels 4 and 5 are aspirational achievements usually attempted by massive corporations. You don’t need to fear ASPICE, but rather treat it as a guideline to help you improve your production processes and become a more efficient automotive supplier.
Reaching Automotive SPICE® Level 3 and Beyond with ALM
How ASPICE Affects Automotive Development
Organizations can only learn by attempting to improve their standards. Without a standard for achievement, it would be challenging to determine structured goals within the industry. ASPICE standards provide a benchmark for suppliers to ensure the stability of their processes and products, leading to an overall improvement in an industry where any mistake could cost you dearly.
ASPICE certification requires both suppliers and clients to be rigorous about the products they put on the road, and that alone will improve the automotive standard. But ASPICE steps beyond that by validating feedback and innovation. Improved standards would lead to continuous innovation in the automotive industry. If every company produced work products based on established criteria and qualified input and re-evaluated at every development phase, the resulting standards and process improvement would impact not only developers but consumers en masse. In safety-critical industries, it is not only advisable but essential to integrate scrupulous standards for product development – and ASPICE is the set of standards that could make that happen.
ASPICE standards also have the potential to reduce labor time and costs by integrating the testing process throughout production, limiting dangerous missteps, and reducing product recall. If every organization followed these standards, suppliers could identify problems and manage risks before a vehicle goes to market. ASPICE also improves client-facing processes, allowing suppliers to avoid miscommunication and provide greater transparency from the get-go. Wide-scale adoption could optimize the automotive industry at a pace that has not been witnessed since the advent of the assembly line.
ALM for Automotive Embedded Systems Development
ASPICE ABCs: How to Ensure Compliance
Intimidated by ASPICE? Don't be. ASPICE is not a concrete set of systems and processes. It is a rough guideline to help suppliers develop a set of best practices that work for them. You can – and should – incorporate ASPICE standards at every level of production. The most important task is to understand the phases and certification levels. Then follow a few easy steps to assess whether your team is ASPICE compliant:
- Assess your current level of ASPICE compliance: Draw up a draft of your existing processes to visualize how they fit into the ASPICE V-Model. Don't know where to start? Try Intland's Automotive ISO 26262:2018 & ASPICE Template.
- Introduce the missing steps: If you lack a clear differentiation between two phases, create a plan to separate those two steps.
- Include stakeholders and team members: Ensure awareness of the reasons for and guidelines of ASPICE standards. This will help you to allocate the resources to begin operating under the new best practices.
- Incorporate a testing phase at each step of production: This is the most important – and most challenging – phase of ASPICE compliance. Take the time to build a rigorous testing phase into each step of your new process.
- Begin operating under your newly established ASPICE-compliant processes: Once you have drawn up the plan, informed your team, and allocated the resources – get to work!
Ready to step into the new age of automotive safety? Try Intland's ASPICE template for a ready-made framework that will get you up to date without the hassle, so you can reduce costly missteps and optimize your process today!
This blog post was written by Leah Narodetsky and originally published on Intland Software's blog.
Published at DZone with permission of Kristof Horvath. See the original article here.
Opinions expressed by DZone contributors are their own.