Skip to main content

차량용 소프트웨어 품질 표준 ASPICE와 ISO 26262 이해하기

자동차 업계에서 소프트웨어가 가지는 의미가 점점 더 중요해짐에 따라, 차량용 소프트웨어 업체는 엄격한 품질 및 안전 표준을 충족시켜야 한다는 압박에 직면해 있습니다. 차량용 소프트웨어 규정 준수에 있어 가장 중요하다고 할 수 있는 두 가지 프레임워크에는 ASPICE와 ISO 26262가 있습니다. 두 프레임워크 모두 차량용 소프트웨어 개선을 목표로 하지만, 근본적으로 다른 관점에서 접근해야 합니다.

이 두 프레임워크의 차이를 이해하는 것은 개발자들에게는 단순한 이론 공부 이상으로 중요합니다. 불필요한 반복 작업 없이 표준을 준수하는 고품질의 자동차 시스템을 개발하는 데 필수적인 개념이기 때문입니다. 그렇다면 이 두 표준은 어떻게 다르며, 또 어떤 부분에서 서로 보완적일까요? 그리고 두 프레임워크의 규정 준수 작업을 동시에 간소화하는 데 도움이 되는 도구는 무엇일까요?

ASPICE와 ISO 26262의 개념

ASPICE란 무엇인가요?

차량용 소프트웨어 프로세스 수행 능력 평가를 위한 표준 프레임워크인 ASPICE(Automotive SPICE)는 소프트웨어 개발 프로세스의 성숙도와 역량에 중점을 두고 있습니다. ASPICE는 산업 전반을 폭넓게 다루는 표준인 기존 SPICE(Software Process Improvement and Capability Determination) 프레임워크를 자동차 산업에 맞게 적용한 것으로, "무엇을" 개발하는지에 집중하기보다 "어떻게" 개발하는지에 중점을 두고 평가를 내립니다. ASPICE는 조직의 소프트웨어 개발 프로세스를 역량 수준(Capability Level)에 따라 레벨 0(Incomplete)에서 레벨 5(Optimizing)까지로 평가하는데, 대부분의 자동차 OEM은 공급업체에게 최소 레벨 2(Managed) 또는 레벨 3(Established) 수준의 역량을 요구하고 있습니다.

ASPICE는 다음과 같은 항목을 평가합니다:

  • 요구사항이 체계적으로 관리되고 추적 가능한가
  • 조직의 테스트 전략이 이러한 요구사항들을 적절하게 검증하는가
  • 프로젝트 전반에 걸쳐 프로세스가 일관되게 준수되는가
  • 팀이 시간이 지남에 따라 자체 프로세스를 측정하고 개선하고 있는가

ASPICE의 주요 목표는 일관되고 견고한 프로세스를 통해 자동차 소프트웨어가 개발되도록 보장하여, 인력 변화, 프로젝트 복잡성, 시간 제약 등의 문제와 관계없이 품질을 유지할 수 있도록 하는 것입니다.

ISO 26262란 무엇인가요?

ISO 26262는 ASPICE와는 근본적으로 다른 접근 방식을 취합니다. 개발 프로세스에 초점을 맞추는 ASPICE와는 달리, ISO 26262는 도로 주행 차량의 전기 및 전자 시스템의 기능적 안전성을 확보하는 데 집중합니다. ISO 26262는 위험 분류 시스템인 자동차 안전 무결성 수준(ASILs, Automotive Safety Integrity Levels)을 통해 차량 시스템과 관련된 치명도를 표현하는데, A(가장 완화된 등급)부터 D(가장 엄격한 등급)까지로 분류됩니다. 아래와 같은 관점을 기준으로 분류된 ASIL 등급에 따라 안전 요구사항을 얼마나 엄격하게 검증해야 하는지가 결정됩니다.   

  • 고장이 발생할 가능성
  • 고장이 야기할 수 있는 결과의 심각도
  • 운전자가 상황을 제어할 수 있는 가능성

ISO 26262는 하드웨어와 소프트웨어 개발 모두에 적용되며, 따라서 다음과 같은 작업을 수행해야 합니다:

  • 체계적인 분석 방법을 통한 잠재적 위험 요소 식별
  • 안전 목표 및 기능 안전 요구사항 수립
  • 적절한 안전 메커니즘 구현
  • 엄격한 테스트를 통한 안전 요구사항 확인 및 검증
  • 종합적인 안전 케이스(Safety Case)와 같은 근거 자료 문서화

ASPICE가 소프트웨어 개발 및 구축 방식에 집중하는 집중하는 반면, ISO 26262는 제품이 고장이나 오류를 포함한 어떠한 상황에서도 안전하게 작동하도록 보장하는 데 초점을 맞추고 있습니다.

ASPICE와 ISO 26262의 주요 차이점

두 표준 모두 자동차 개발과 관련된 문제들을 다루고 있지만, 품질이라는 기준에 대해서는 전혀 다른 각도에서 접근하고 있습니다. 주요 항목들을 비교한 내용은 다음과 같습니다.

 

ASPICE

ISO 26262

기본 목적 프로세스 개선 및 소프트웨어 품질 확보 기능 안전성 및 위험 관리
개발 접근 방식 일관되고 반복 가능한 프로세스를 중시 설계 및 위험 기반 사고를 통한 안전 확보를 중시
요구사항 관리 추적 가능성 및 완성도에 집중 위험도 분석을 통해 도출된 안전 요구사항에 집중
테스트 및 검증 전체 개발 과정에 걸친 포괄적인 검증 추가적인 안전 관련 테스트 전략(FMEA, FTA)
문서화 문서화를 통한 프로세스 준수 여부 입증 안전 케이스(Safety Case) 문서화
적용 범위 소프트웨어 개발 프로세스 전체 전기/전자 시스템 안전성
평가 방식 역량 수준 레벨 (Capability levels)에 따라 CL 0-5로 분류 자동차 안전 무결성 수준 (ASILs, Automotive Safety Integrity Levels)에 따라 ASIL A-D로 분류
주요 목표 프로세스 성숙도를 통한 품질 확보 위험성 완화를 통한 안전성 확보
기반 표준 ISO/IEC 15504 (SPICE) 기반 IEC 61508 기반
집중 분야 프로세스 정의, 수행, 측정 위험 식별, 위험성 평가, 안전 메커니즘
인증 방식 프로세스 감사 안전성 평가
적용 대상 전반적인 시스템 엔지니어링에 적용 안전 관련 주요 구성 요소에 적용

 

대부분의 자동차 프로젝트는 ASPICE와 ISO 26262 표준을 동시에 충족해야 하기 때문에, 위와 같은 차이점을 이해하는 것이 매우 중요합니다. 예를 들어 현대 차량의 계기판에는 속도나 경고 표시등와 같은 중요한 정보가 표시되어야 하기 때문에 ISO 26262의 기능 안전 요구 사항을 준수해야 하며, 동시에 ASPICE가 요구하는 프로세스 규율에 따라 개발되어야 합니다. 그렇기 때문에 개발 팀이 당면한 과제는 이 두 표준을 별개의 작업으로 취급하지 않고 함께 효율적으로 충족할 수 있는 방법을 찾는 것입니다.

Axivion이 ASPICE와 ISO 26262 간의 규정 준수 간극을 해소하는 방법

Axivion과 같은 도구는 프로세스 품질과 기능 안전 요구사항을 모두 충족할 수 있는 기능을 제공함으로써, ASPICE와 ISO 26262 를 동시에 효율적으로 준수할 수 있는 방법을 찾을 수 있도록 지원합니다. 

ASPICE 규정 준수를 지원하는 기능

Axivion은 ASPICE의 프로세스 중심 요구사항에 대응하기 위해 다음과 같은 기능을 제공합니다.

아키텍처 일관성 검증: ASPICE 평가를 통해 가장 자주 발견되는 문제 중 하나는 바로 아키텍처 침식(Architecture Erosion)입니다. 아키텍처 침식이란 구현된 코드가 시간이 지나면서 기존 아키텍처와 점점 어긋나는 현상입니다. Axivion의 아키텍처 검증 기능은 구현된 코드가 설계된 아키텍처를 준수하는지를 지속적으로 확인함으로써 아키텍처 편차를 방지합니다.

코드 일관성 확보: ASPICE는 코드의 일관성과 표준 준수를 요구합니다. Axivion은 MISRA와 같은 코딩 가이드라인에 대한 검사를 자동화하여 대규모 팀에서도 코드의 일관성을 유지할 수 있도록 지원합니다.

추적성 지원: Axivion은 ALM 도구와 연동되어, ASPICE가 요구하는 요구사항부터 구현, 테스트에 이르기까지 추적성을 유지할 수 있도록 합니다.

프로세스 통합: CI/CD 통합을 통해, Axivion은 규정 준수를 위한 별도의 활동으로 분리되지 않고 자연스럽게 기존 개발 워크플로우의 일부가 됩니다. 이는 품질이 개발 프로세스에 내재되어 있어야 한다는 ASPICE의 핵심 목표와 일치합니다.

ISO 26262 요구사항을 지원하는 기능

Axivion은 ISO 26262의 안전 중심 요구사항에 대응하기 위해 다음과 같은 기능을 제공합니다.

TÜV 인증: Axivion 정적 코드 분석은 ISO 26262의 도구 적합성 요건을 충족하며, 안전 요구도가 가장 높은 ASIL D 등급 개발에까지 사용할 수 있도록 인증되었습니다.

안전성 분석 기능: Axivion은 안전이 중요한 시스템에 특화된 정적 분석을 통해 잠재적인 런타임 문제, 위험한 코드 패턴, 그 밖의 안전 관련 문제를 식별하는 데 도움을 줍니다.

검증 지원: Axivion의 자동 검사는 ISO 26262가 요구하는 검증 활동에 대한 증거 자료를 제공함으로써 안전성 검증에 대한 부담을 줄여줍니다.

문서 생성: Axivion은 안전 케이스(Safety Case)에 포함될 수 있는 보고서를 자동 생성합니다. 이는 ISO 26262에서 가장 문서화하기 까다로운 항목 중 하나를 해결해주는 것입니다. 

Axivion과 같은 통합 도구를 사용할 때의 가장 큰 장점은 개발팀이 ASPICE와 ISO 26262 규정 준수를 위해 별도의 툴체인(Toolchain)을 운용할 필요가 없다는 것입니다. 동일한 분석 인프라가 두 표준을 모두 지원하므로, 안전 요구도가 높은 구성 요소는 자동으로 프로세스 품질 향상의 혜택을 누릴 수 있고, 그 반대의 경우도 마찬가지입니다.

두 가지의 표준을 동시에 준수하는 방법

두 표준 모두를 성공적으로 준수하는 팀은 일반적으로 다음과 같은 전략을 사용합니다.

  1. 공통 기반부터 시작한다
    요구사항 관리, 검증 활동, 구성 관리와 같이 두 표준이 겹치는 영역을 먼저 파악하고, 두 표준 모두를 동시에 충족하는 프로세스를 수립합니다.

  2. 규정 준수를 일상 업무 워크플로우에 통합시킨다
    Axivion는 규정 준수 확인 작업을 별도의 활동이 아닌 매 커밋의 일부로 만들어 수정 비용이 가장 적게 드는 시점에 문제를 발견할 수 있습니다.

  3. 도메인 간 교육을 실시한다
    안전 엔지니어는 프로세스의 요구사항을 숙지해야 하며, 프로세스 담당자는 각 개발 프로세스가 안전에 미치는 영향을 이해하고 있어야 합니다. 이러한 도메인 간 이해는 사일로를 방지합니다.

  4. 문서화를 자동화한다
    두 표준 모두 문서화에 대한 요구를 강조하고 있습니다. 별도로 문서를 작성하는 것이 아니라, 개발 산출물(Artifacts)로부터 직접 문서를 생성하도록 구성하는 것이 좋습니다. 

  5. 규정 준수에만 집중하지 않고 그 가치에 집중한다
    성공적인 기업들은 두 표준을 해결해야 하는 규제 장벽이 아니라 더 나은 제품을 개발하기 위한 프레임워크로 받아들입니다.

규정 준수를 통한 기업 경쟁력 확보

ASPICE와 ISO 26262를 모두 효율적으로 다루는 팀은 규정 준수를 단순한 부담이 아닌 경쟁 우위로 전환시킬 수 있습니다. Axivion과 같은 도구를 사용하여 두 표준을 효율적으로 대응한다면 다음과 같은 이점을 누릴 수 있습니다.

  • 개발 초기 단계에서 품질 및 안전 문제를 조기 발견할 수 있습니다.
  • 규정 준수 작업에 소요되는 오버헤드(Overhead)가 감소합니다.
  • 단순한 문제 해결이 아닌 기술 혁신에 더 많은 자원을 집중할 수 있습니다.
  • 효과적인 실무 사례에 대한 조직적인 지식 구축이 가능합니다.
  • 품질과 안전성을 유지하면서 동시에 제품 출시 기간을 단축시킬 수 있습니다.

차량이 소프트웨어 기반 플랫폼으로 전환됨에 따라, 프로세스 및 안전 요구사항을 모두 효율적으로 충족하는 역량이 점점 더 중요해지고 있습니다. 빠르게 변화하는 자동차 산업에서 성공하기 위한 핵심은 ASPICE와 ISO 26262를 서로 충돌하는 표준이 아닌 상호 보완적인 기준으로 바라보는 것입니다. 올바른 이해와 적절한 도구, 그리고 명확한 접근 방식만 갖춘다면 ASPICE와 ISO 26262를 준수하기 위해 두 번 작업할 필요가 없습니다. 이러한 방식은 더 우수한, 그리고 더 안전한 자동차 소프트웨어를 구축하기 위한 통합 전략이 될 수 있습니다. 

 

더 자세한 정보가 필요하신가요?

Qt Group의 소프트웨어 품질 도구를 확인해보시고 ISO 26262 규정 준수를 지원하고, Axivion을 통해 ASPICE 표준을 준수하는 방법을 알아보세요.

자동차 업계를 위한 Axivion에 대해 자세한 정보가 필요하신가요? 문의하기를 통해 데모를 요청하거나, Qt 전문가와 상담해보세요.