임베디드 소프트웨어 개발 현장에서는 요구사항 문서 없이 프로젝트가 시작되는 경우가 많습니다.
팀원끼리 구두로 “이렇게 하면 되겠지”라고 합의해서 개발을 진행하지만,
이 방식의 가장 큰 리스크는
새로운 인력이 투입될 때, 참고할 수 있는 공식 자료가 없다는 점입니다.
결국, 기존 개발자만 알던 ‘암묵적 기준’에 의존하게 되어
[개발자A]: "이거 이렇게 해도 돼요?"
[개발자B]: "예전에 이렇게 했었어요"
[개발자C]: "아, 그건 OOO선임님만 알아요"
...
[신규 개발자]: "자료가 없어서 기존 코드만 봅니다..."
ASPICE(Automotive SPICE)는 소프트웨어 개발을 구조적으로 관리하기 위한 표준입니다.
ASPICE의 소프트웨어 엔지니어링 영역(SWE.1~SWE.6)은 다음과 같이 단계별로 구성되어 있습니다.
업무를 진행하는 순서는 아래와 같습니다.
[SWE.1 요구분석]
↓
[SWE.2 아키텍처]
↓
[SWE.3 상세설계/구현]
↓
[SWE.4 단위테스트]
↓
[SWE.5 통합테스트]
↓
[SWE.6 적합성테스트]
실무에서 “요구사항 만들 때 적합성 테스트도 동시에 개발하라”는 말을 많이 듣습니다.
이건 “요구사항을 정의할 때, SWE.6(적합성 테스트)에서 이걸 실제로 어떻게 검증할 것인지까지 반드시 고려하라”는 의미입니다.
즉,
ISO 26262는 자동차 기능안전 표준입니다.
이 표준은 Safety Goal(안전 목표) → SW 요구사항 → 설계 → 구현(코드) → 테스트
모든 단계가 반드시 추적성(traceability) 있게 명확하게 연결되어 있어야 함을 요구합니다.
예를 들어
문서와 도구(요구사항 관리툴, 설계 문서, 테스트 기록 등)로 추적할 수 있어야 합니다.
실제 프로젝트에서는
특히, 문서화 없이 개발하면
누가 어떤 기준으로 개발했는지, 왜 변경됐는지,
어디서 오류가 생겼는지 아무도 설명할 수 없는 상황이 빈번합니다.
문서화의 핵심 목적은
“누가 들어와도, 언제든 근거와 의도를 이해할 수 있게 만드는 것”입니다.
실무에서는
@nullvuild