14. DO-178 소프트웨어 리뷰와 SOI(States of Involvement) – Order 8110.49
이전 절까지 소프트웨어 리뷰를 위한 Job Aid를 사용하기 위해 미리 알고 있어야 할 용어나 개념에 대한 설명이 있었다. 그렇다면 이제부터 Job Aid의 SOI에 대해서 본격적으로 알아볼 시점이다. 그런데 필자의 생각에는 그에 앞서 마지막으로 전체적인 개념을 제대로 잡고 가는 것이 필요하다고 생각한다. 무작정 Job Aid의 SOI 단계에 대한 내용으로 들어가게 되면 부분적인 내용에 함몰되어 자칫 왜 이것을 하는지를 놓치게 될 가능성이 높기 때문이다.
Order 8110.49는 그런 관점에서 소프트웨어 리뷰와 SOI에 대한 전체적인 개념을 잘 정리하고 있다. 앞서 Order 8110.49의 Chapter 2에는 아래와 같이 소프트웨어 리뷰에 대한 내용과 함께 SOI가 설명되어 있다고 말한바가 있다. 그 내용을 하나씩 살펴보자.
(1) 소프트웨어 리뷰 전에 소프트웨어 개발자와 인증당국이 협의해야 할 내용
기본적으로 Order 8110.49에서의 소프트웨어 리뷰에 대한 설명은 On-site Review가 기준이다. 일반적으로 On-site Review는 소프트웨어 개발자가 위치한 곳에서 이루어 지며 때로는 소프트웨어 개발자와의 인터뷰가 필요할 수도 있다. 이런 경우 인증당국과 소프트웨어 개발자와는 다음과 같은 조율이 이루어 져야 한다.
① 리뷰가 어떤 형태로 수행될 것인지에 대한 동의
② 리뷰 날짜와 장소에 대한 동의
③ 참여할 인증당국의 인력에 대한 구분
④ 참여할 DER에 대한 구분
⑤ 안건과 기대치에 대한 개발
⑥ 리뷰 이전과 리뷰시점에 접근 가능해야 하는 소프트웨어 데이터 목록
⑦ 사용될 절차에 대한 설명
⑧ 필요로 하는 리소스에 대한 구분
⑨ 리뷰 결과를 소통할 날짜와 방법을 특정
물론 현실적으로 이러한 조율이 없는 상태로도 시작은 될 수 있겠지만 결국 진행 과정에서 결정되어야 할 내용들이므로 가능한 리뷰 이전에 확정하는 것이 원활한 진행에 도움이 된다.
(2) 소프트웨어 리뷰 프로세스의 목표(Objectives)
소프트웨어 리뷰를 왜 수행하는지에 대해서는 이미 설명한 바가 있지만 여기에서 다시 한 번 정리해 보자. Order 8110.49에서는 다음과 같이 설명하고 있다.
해석을 보자.
a. 인증당국은 소프트웨어 제품이 인증기준과 RTCA/DO-178B의 목표를 준수하는 인증 지원의 일부로써 제출되었다는 보장을 얻기 위해 그 혹은 그녀의 결정에 따라서 소프트웨어 라이프 사이클 데이터와 관련된 데이터를 리뷰할 것이다. |
소프트웨어 리뷰 프로세스의 목표가 DO-178B를 제대로 준수하는지 확인하기 위한 것이라는 점을 설명하고 있다. 참고로 소프트웨어는 단독으로 인증을 받는 것이 아니라 시스템의 ‘일부’로써 인증을 받는다는 것을 위의 설명에서도 확인할 수 있다. 인증당국은 그것을 확인하기 위해 리뷰를 수행한다. 즉, 소프트웨어 리뷰 프로세스가 공식적으로 진행되는 것이다.
(3) 인증 기준과 DO-178 목표의 달성을 보여주기 위해 제공해야 할 부분
소프트웨어 리뷰 프로세스 자체는 특정한 프로젝트의 형태로 진행된다. 이때 인증 기준과 DO-178 목표의 달성을 보여주기 위해서 제공해야 할 부분에 대해서 Order 8110.49에서는 다음과 같은 것들을 제시하고 있다.
① 인증 기준, RTCA/DO-178B 목표, FAA 정책, 이슈 페이퍼, 그리고 다른 적용가능한 인증 요구사항에 대한 적시의 기술적 해석
② 이행 준수 및 적용가능한 데이터로의 가시성
③ 소프트웨어 프로젝트가 승인된 소프트웨어 계획과 절차에 충실하다는 것에 대한 객관적인 증거
④ 인증당국이 DER 활동을 모니터링할 기회
(4) 소프트웨어 프로젝트에 인증당국(FAA)이 관여하는 정도를 결정하는 요인
기본적으로 소프트웨어 리뷰의 형태와 횟수에 대해서는 가능한 빠른 시기에 결정되어야 한다. 이때 결정에 영향을 미치는 요인들로는 아래와 같은 것들이 있을 수 있다.
- 소프트웨어 레벨
- DER 지원의 질과 양
- 지원자 그리고/혹은 소프트웨어 개발자의 경험과 히스토리
- 서비스 장애 히스토리
이 외에도 여러가지 요인들이 있을 수 있다. 결론적으로 인증당국과 지원자가 긴밀한 협의를 통해서 합의할 수 있는 수준을 빨리 찾는 것이 중요하다. 그와 관련해서 Order 8110.49에서는 다음과 같이 설명하고 있다.
해석은 다음과 같다.
c. 지원자와 FAA간의 논의는 프로젝트 라이프 사이클에서 빨리 나타나야 하며 소프트웨어 리뷰 (FAA 관여는 프로젝트 환경에 기반해서 변할 것이다)의 유형, 필요성, 횟수, 깊이, 그리고 형식을 결정해야 한다. |
(5) 소프트웨어 리뷰의 종류에 따른 소프트웨어 라이프 사이클간의 관계
소프트웨어 개발은 소프트웨어 라이프 사이클 전반에 걸쳐서 진행된다. 그리고 소프트웨어 리뷰는 소프트웨어 라이프 사이클과 연계해서 진행하게 된다. 그 중 일반적으로 제시되는 네 가지 소프트웨어 리뷰가 소프트웨어 라이프 사이클 기준으로 수행되는 시점은 다음과 같다.
- 소프트웨어 계획 리뷰(Software Planning Review)는 소프트웨어 계획 프로세스가 완료된 초기에 수행되어야 한다. (즉, 계획과 표준의 대부분이 완료되고 리뷰된 시점) 이 리뷰는 흔히 SOI#1으로 참조된다.
- 소프트웨어 개발 리뷰(Software Development Review)는 소프트웨어 개발 데이터(즉, 요구사항, 설계 그리고 코드)의 대표 범위(일반적으로 약 50%)가 완료되고 리뷰되었을 때 수행되어야 한다. 이 리뷰는 흔히 SOI#2로 참조된다.
- 소프트웨어 검증 리뷰(Software Verification Review)는 소프트웨어 검증과 시험 데이터의 대표 범위(일반적으로 약 50%)가 완료되고 리뷰되었을 때 수행되어야 한다. 이 리뷰는 흔히 SOI#3로 참조된다.
- 최종 인증 소프트웨어 리뷰(Final Certification Software Review)는 최종 소프트웨어 빌드가 완료되고 소프트웨어 검증이 완료되고 소프트웨어 적합성 리뷰(Software Conformity Review)가 수행되고 소프트웨어 어플리케이션이 공식적인 시스템 인증 승인을 위한 준비가 된 후에 수행되어야 한다. 이 리뷰는 흔히 SOI#4로 참조된다.
(6) 소프트웨어 리뷰를 진행하기 위한 소프트웨어 라이프 사이클 데이터의 준비 정도
기본적으로 소프트웨어 리뷰를 수행할 때 모든 데이터가 완벽하게 준비가 되어 있다면 가장 이상적일 것이다. 하지만 이는 현실적으로 불가능하고 실제 리뷰를 수행하는 목적에서도 오히려 적절하지 않다. 다만 이것에 대한 명확한 기준을 제시할 수 없기 때문에 Order 8110.49에서는 다음과 같이 설명하고 있다.
해석을 보자.
소프트웨어 라이프 사이클 데이터의 유효성은 데이터가 항상 완전하다는 것을 의미하는 것은 아니다. 그러나 데이터는 합당한 리뷰를 수행할 수 있을 만큼 충분히 성숙해야만 한다. 유사하게 모든 전이 기준은 프로젝트의 해당 시점에서 완전할 필요가 있는 것이 아니라 프로젝트에 적용되는 것을 보장할 정도에서 충분한 전이 기준 증거가 존재해야 한다. |
위의 설명을 보면 사실 상당히 모호한 표현을 하고 있다. ‘충분’하다는 것을 누가 결정하는 것일까? 물론 이는 기본적으로는 인증당국(혹은 DER)이라고 해야 할 것이다. 하지만 이것을 무조건 인증당국이나 DER이 정하는 것이 아니라 때로는 지원자가 이것을 제안할 수도 있다. 즉, 현재 준비된 상태를 충분히 설명하고 그에 대한 증빙의 준비를 완료함으로써 현재 시점에서 리뷰를 받기를 원한다라는 식으로 요청하는 것이다. 결국 이는 모든 경우에 적용할 수 있는 하나의 기준이 정해져 있는 것이 아니라 상황에 따라서 상호 협의에 의해서 결정될 수 있는 부분이다.