Agile is a common methodology for software development across many industries. It helps cut down the time and cost of software development. Also, automotive companies are seeking a solution to reduce the software development cycle time and make it more efficient. More and more of them are considering adopting Agile methodology but have concerns about how it will work in a strictly regulated automotive environment.
In this article, we’re taking a closer look at how Agile and ASPICE can be combined in automotive projects.
Why combine ASPICE with Agile?
ASPICE is a framework for the improvement and evaluation of embedded automotive software development processes. It provides best practices and processes for quality assurance of embedded automotive software and system parts.
ASPICE ensures mature, systematic and well-documented automotive software development and allows achieving repeatable and predictive results with a minimal risk of errors. It focuses on the continuous improvement of the implemented processes to raise the supplier’s capability level, leading to better quality and more innovative products. It also opens the door to new contracts with the world’s biggest OEMs as it is a widespread and recognisable framework in the automotive industry.
However, ASPICE also makes automotive software projects more complex and costly. Usually, in software development, these two challenges are mitigated by implementing Agile methodology. Is it possible to combine ASPICE and Agile, though? Don’t the two conflict?
How does ASPICE relate to Agile engineering?
ASPICE framework is based on a Verification and Validation model, also known as the V-model. It means that there’s a testing phase alongside each stage of the development. This linear development approach implies that the requirements must be clearly determined at the beginning of the project. Early design decisions very often cause delays. Once the development process has started, it’s difficult to adjust to the changes in requirements because the tests are also created upfront.
After the development, the software is tested against the requirements in sequential order. Additionally, long cycles between specifying initial requirements to testing and feedback create the need for changes late in the development process, which generates extra costs.
On the contrary, Agile software development follows the incremental approach and gives the flexibility to make changes after the initial planning is done. Therefore, if the requirements change is during the development cycle, it’s relatively easy to re-plan the works. As a result, the time to market is significantly shortened.
Given such a significant difference between how the development process looks like in Agile vs ASPICE is it possible to follow the ASPICE framework in Agile methodology? It is certainly possible to some extent. In fact, many automotive software development companies do so successfully.
ASPICE has long been associated with a waterfall approach to software development because it determines certain sequences in which activities should be performed and work products should be delivered. However, it doesn’t mean that the only way to maintain the sequential development cycle is by following the waterfall model.
ASPICE doesn’t impose the way of doing things. It determines what should be done and what results should be achieved, but it doesn’t specify how. Thus, there’s space to implement certain strengths of Agile methodology that allows target results to be achieved in shorter, efficient cycles, with the flexibility to apply possible changes during the process.
Agile methodology, or its elements, will work well in the case of automotive projects with a special emphasis on user experience, for example, HMI development. Working in short sprints allows the idea or assumption to be tested and then adjusted according to user feedback. Agile will also work well in most automotive projects where there’s a need for flexible planning and frequent changes. The only condition is to ensure that all the ASPICE processes and best practices are followed.
How can ASPICE and Agile work together?
There are a lot of concerns regarding whether the Agile approach to automotive software development interferes with ASPICE compliance. It’s important to keep in mind that Agile methodology can and should be adjusted to our needs in heavily regulated industries, such as automotive.
Probably the most well-known approach to combining Agile with ASPICE is Agile SPICE ™. It’s an add-on for Automotive SPICE, prepared by the Intacs Working Group, to help implement Agile best practices and achieve Automotive SPICE expectations at the same time. It redefines the process attributes to include agility in team orientation, flexible reaction to change and cooperation with the customer.
The practices of Agile SPICE ™ support the principles of Agile Manifesto without favouring one specific Agile practice, like Scrum, Kanban, or SAFe. It also aims to bridge existing PAM processes and outcomes as well as retain existing process attributes or generic practices on CL1-3 (projects mainly operate in CL1-2, while CL3 relates to processes on an organisational level). It’s important to note is that Agile SPICE is flexible when it comes to requirement changes. It assumes they should be prioritised and systematically integrated into the continuous development work for the customer’s competitive advantage.
AGL.1 Work Management
In Agile SPICE ™, “AGL. 1 Work Management” summarises the best practices of project planning and control, which are an agile version of ASPICE’s “Man.3 Project Management”. These include:
- Identifying demand and work boundaries (mapped to MAN.3 Practices BP1 , (BP3), (BP7])
- Building a team (mapped to MAN.3 Practices BP6 , (BP7))
- Defining work approach
- Managing stakeholders and interfaces
- Planning infrastructure
- Evaluating feasibility
- Estimating work
- Work planning
- Inspection and adoption
- Managing impediments
- Improving work approach
AGL.2 Partner Collaboration Management
This part of Agile SPICE defines best practices for establishing and maintaining ways to collaborate and communicate with partners. It also provides a guide to establishing a technical approach, reviewing technical content, inspecting joint progress and acting on risks and impediments.
AGL. 3 Agile Quality Assurance (AQA)
This part describes best practices concerning identifying quality objectives, defining quality assurance strategy, ensuring conformance, recording and resolving impediments, as well as establishing and ensuring effective escalation mechanisms.
To sum up
Hopefully, having read this article, you will be reassured that Agile can be combined and work well with ASPICE. Following Agile methodology tailored to ASPICE requirements, like Agile SPICE ™, allows you to gain a competitive advantage while maintaining full regulatory compliance. In other words, you can produce working products faster, without concerns about software quality.
The development of embedded automotive systems is one of our core competencies. Our experts ensure that all ASPICE standards are followed during the whole process – from requirements analysis to qualification tests. Additionally, we support our partners in implementing the remaining processes required by A-SPICE, such as MAN – Management Process Group and SUP – Supporting Process Group).
See our automotive offer and book a free, no obligation meeting to discuss how we can help you.