Automotive SPICE vs. Agility

in modern software development - a contradiction
25.09.2024
Automotive SPICE®, Consulting

In today's software development, especially in the automotive sector, two approaches are often contrasted: ASPICE and Agile. This question often comes up in assessments and meetings: "Can ASPICE and an agile approach harmonize with each other?"

Or are Agile and ASPICE as different as oil and water?

 

You are currently viewing a placeholder content from YouTube. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.

More Information

Black-and-white thinking: ASPICE vs. Agile - really a contradiction?

At first glance, ASPICE and Agile might appear to be two diametrically opposed approaches. ASPICE is a strongly process-oriented model that focuses in particular on quality assurance in software development, while agility stands for flexibility and rapid iterations. However, this black-and-white view falls short.

Automotive SPICE® is not tied to a specific development method. In practice, many projects in the automotive industry use a hybrid approach that combines the classic waterfall model with agile methods. In fact, the agile principles as defined in the Agile Manifesto can also be integrated into ASPICE-compliant processes.

ASPICE and Agile in comparison - basic features and objectives

Automotive SPICE® (ASPICE)

ASPICE stands for "Automotive Software Process Improvement and Capability dEtermination " and is a process model designed to ensure the quality of software development processes in the automotive sector. It provides a systematic basis to:

  • Master complexity,
  • ensure traceability,
  • minimize costs and risks,
  • and secure long-term orders.
  • Agile development

Agile methods, as described in the Agile Manifesto, focus on

  • the flexible and rapid iteration of software,
  • collaboration within the team and with the customer,
  • quick feedback and continuous improvement,
  • and adapting to changes in a dynamic environment.

The two best-known agile frameworks are:

  • Scrum: a structured approach with short segments (sprints), clearly defined roles and regular deliveries.
  • Kanban: a continuous process without fixed time frames that aims to improve and optimize processes.
  • Differences and similarities

At first glance, ASPICE and Agile have different focuses, but this does not mean that they are at odds with each other. In fact, there are many overlaps in their objectives - namely the efficient development of high-quality software.

Different strengths

  • ASPICE: ensures clear structures, traceability and control of complex, standards-based projects.
  • Agile: enables flexibility, quick adaptations and short development cycles, especially in a dynamic market environment.

Both approaches can complement each other in a project to ensure both quality and efficiency.

What are the challenges?

Despite the many synergies, there are also challenges when trying to combine both approaches:

  • 1. high complexity in mechatronic systems

In the automotive sector, development cycles are often characterized by prototypes such as A-samples and B-samples. Too frequent deliveries are uneconomical here, as prototypes are expensive and time-consuming. The agile idea of regular delivery can therefore be difficult to implement. This is where hardware-in-the-loop (HIL ) and software-in-the-loop (SIL) offer a solution to simulate development increments and perform tests without the need for expensive physical prototypes.

  • 2. changes during development

The second principle of the Agile Manifesto emphasizes that changes to requirements are welcome even late in the project. In ASPICE, this is also a topic that is dealt with in the SUP.10 Change Request Management process. However, changes must be analyzed and approved in detail, which can limit flexibility.

  • 3. different planning horizons

Agile development teams often work in short sprints, while ASPICE-compliant projects tend to follow long-term milestones and project plans. The challenge lies in combining both schedules without unnecessarily slowing down either system.

  • Hybrid models: Agile in an ASPICE environment

A practical example shows how hybrid approaches can overcome these problems. Many companies use agile frameworks such as Scrum for software development, while the overarching framework is controlled by ASPICE. Here, release plans are often used to determine which functionalities are to be implemented in the various prototype phases (e.g. A-Sample, B-Sample).

In these phases, the features to be developed can be divided into smaller, manageable packages that agile teams implement in sprints. In this way, the granularity of the work steps is adapted to the agile approach, while the traceability and process quality of ASPICE are maintained.

Agile SPICE™ - The bridge between ASPICE and agility

A pioneering approach is Agile SPICE™, a process reference model that facilitates the use of agile practices within an ASPICE framework. Agile SPICE™ helps to combine agile methods with the strict requirements of the Automotive SPICE® standards without losing the basic process attributes. This allows agile practices to be seamlessly integrated into the assessment according to ASPICE criteria.

Conclusion: ASPICE and Agile - a strong duo when used correctly

The question of whether ASPICE and Agile go together can be answered clearly: yes, they can complement each other perfectly in the right context. However, it is important that the teams harmonize well and that the right processes are selected for the respective project.

ASPICE helps to manage the complexity of automotive development, while Agile allows you to react quickly to changing customer requirements. Combining both approaches is not a technical challenge - it is rather up to those involved whether they are prepared to live this synergy.

The message is clear:

ASPICE and Agile can not only coexist, but complement each other in order to remain competitive in a dynamic market.