핵심 인사이트
- RTM(Requirements Traceability Matrix)은 요구사항과 설계·개발·테스트 산출물 간의 연결 고리를 추적하는 표 — "요구사항 RQ-001이 어느 설계 문서, 어느 코드, 어느 테스트 케이스에 반영되었는가"를 한눈에 확인하며, 누락·중복·불일치를 방지한다.
- 양방향 추적성(Bi-directional Traceability)이 RTM의 핵심 가치 — 전방 추적(Forward: 요구사항→테스트)은 "모든 요구사항이 테스트되었는가" 확인, 후방 추적(Backward: 테스트→요구사항)은 "모든 테스트가 요구사항에 기반하는가(불필요 테스트 탐지)" 확인이다.
- RTM은 변경 영향 분석의 핵심 도구 — 요구사항 변경 시 RTM으로 영향받는 설계·코드·테스트 케이스를 즉시 파악하여 변경 범위와 비용을 정확히 산정할 수 있다.
Ⅰ. RTM 기본 구조
RTM (Requirements Traceability Matrix) 구조:
목적:
요구사항 → 설계 → 구현 → 테스트 연결 추적
누락 탐지: 테스트 없는 요구사항
과잉 탐지: 요구사항 없는 기능
변경 영향 분석
기본 구성 (열):
요구사항 ID
요구사항 설명
우선순위
설계 문서 참조 (섹션)
소스코드 참조 (모듈/클래스)
테스트 케이스 ID
테스트 상태 (통과/실패/미실행)
샘플 RTM:
RQ-ID | 설명 | 설계 | 코드 | TC-ID | 상태
RQ-001 | 로그인 기능 | D-3.1 | AuthService | TC-001 | 통과
RQ-002 | MFA 지원 | D-3.2 | MFAHandler | TC-002 | 실패
RQ-003 | 세션 만료 30분 | D-3.3 | SessionManager | TC-003 | 통과
RQ-004 | 비밀번호 재설정 | D-3.4 | - | - | 미구현
RTM 분석:
RQ-002: 테스트 실패 → 버그 수정 필요
RQ-004: 코드/테스트 없음 → 구현 누락!
역방향 확인:
TC-005 가 있는데 어느 RQ에도 없음
→ TC-005는 불필요 테스트? 숨겨진 요구사항?
도구:
Jira + Xray (엔터프라이즈)
IBM DOORS (대형 시스템, 항공/국방)
Requiment 추적: Azure DevOps, Rally
📢 섹션 요약 비유: RTM은 건축 체크리스트 — "설계도 3번 항목(요구사항)이 실제 벽(코드)에 있나? 감리 검사(테스트)에서 확인됐나?" 연결 추적표!
Ⅱ. 양방향 추적성
양방향 추적성 (Bi-directional Traceability):
전방 추적 (Forward Traceability):
요구사항 → 설계 → 구현 → 테스트
목적:
"모든 요구사항이 구현되고 테스트되었나?"
위험:
RQ-004 (비밀번호 재설정): 테스트 없음
→ 기능 미구현 또는 테스트 누락
후방 추적 (Backward Traceability):
테스트 → 구현 → 설계 → 요구사항
목적:
"모든 테스트 케이스가 요구사항에 기반하는가?"
탐지:
TC-999 (없는 요구사항 테스트):
→ 개발자 추가 기능? Gold Plating?
→ 필요 없는 테스트 = 비용 낭비
→ 또는 요구사항 명세 누락 발견
완전한 추적성 확인:
요구사항 커버리지:
= 테스트된 요구사항 / 전체 요구사항
목표: 100%
테스트 정당성:
= 요구사항 있는 테스트 / 전체 테스트
목표: 100%
ISO/IEC 29119 (소프트웨어 테스트 표준):
추적 매트릭스 필수 산출물
요구사항 커버리지 측정 의무화
변경 관리 연동:
RQ-003 변경: 세션 만료 30분 → 15분
RTM으로 영향 분석:
→ D-3.3 설계 수정
→ SessionManager 코드 수정
→ TC-003 테스트 케이스 수정 (15분 기준으로)
→ TC-007 (세션 연장 테스트)도 수정 필요
📢 섹션 요약 비유: 양방향 추적은 건물+감리 체크 — 앞방향(설계→건물→감리: 누락 탐지), 뒷방향(감리→건물→설계: 불필요 감리 탐지). 양방향 확인으로 완전성 보장!
Ⅲ. 공공 SI에서의 RTM
공공 SI 프로젝트 RTM:
공공 발주 표준:
PMO (프로젝트 관리 조직) 검토 필수
감리 시 RTM 제출 의무
요구사항 정의서 (RD)
→ 기능 설계서 (FD)
→ 소스코드
→ 단위 테스트 결과
→ 통합 테스트 결과
공공 SI RTM 구성:
요구사항 분류:
기능 요구사항 (FR)
비기능 요구사항 (NFR)
- 성능: 응답 3초 이내
- 보안: 개인정보 암호화
- 가용성: 99.5%
법적 요구사항 (LR):
- 개인정보보호법 준수
- 전자정부법 표준
감리 RTM 검토 포인트:
1. 커버리지 확인:
기능 요구사항 → 테스트 케이스 100%
2. 테스트 결과 링크:
테스트 케이스 → 실제 테스트 실행 결과
3. 비기능 요구사항 검증:
성능 테스트 결과 (JMeter 보고서)
보안 취약점 점검 결과 (KISA 점검)
4. 변경 이력 관리:
요구사항 변경 이력 + RTM 변경 이력 일치
대표 도구:
엑셀 (소규모): 간단, 관리 어려움
JIRA + Xray: 자동 연결, 커버리지 리포트
IBM DOORS: 대형 공공, 방산
📢 섹션 요약 비유: 공공 SI RTM은 감리 보고서의 뼈대 — 감리원이 "이 기능 어디 구현?" 물으면 RTM이 즉시 답변. 없으면 감리 지적(하자)!
Ⅳ. RTM 자동화
RTM 자동화 도구 활용:
JIRA + Xray 자동화:
요구사항 생성:
JIRA Story: RQ-001 "로그인 기능"
테스트 케이스 생성:
Xray Test: TC-001
연결: TC-001 → RQ-001 (Covers 관계)
자동 커버리지:
요구사항 커버리지 대시보드 자동 갱신
CI/CD 통합:
테스트 자동 실행 (pytest, JUnit)
결과 → Xray 자동 업데이트
→ RTM 실시간 반영
AI 기반 추적 (최신 트렌드):
요구사항 텍스트 → NLP 분석
유사 테스트 케이스 자동 제안
Code → 요구사항 역추적:
소스코드 변경 → 영향 요구사항 자동 탐지
(GitHub Copilot + 추적 도구)
RTM 자동화 장점:
수동 엑셀 RTM:
→ 매번 수작업 업데이트
→ 불일치 오류 발생
자동화 RTM:
→ CI/CD와 연동 실시간 업데이트
→ 커버리지 대시보드 항상 최신
→ 변경 시 영향 분석 즉시
한계:
도구 초기 설정 비용
팀의 도구 적응 시간
요구사항이 명확해야 자동화 가능
📢 섹션 요약 비유: RTM 자동화는 스마트 체크리스트 — 엑셀(수동 체크) → JIRA+Xray(CI/CD 연동 자동 체크). 코드 커밋할 때마다 RTM 자동 갱신!
Ⅴ. 실무 시나리오 — 의료 기기 RTM
의료 기기 소프트웨어 RTM (IEC 62304):
규제 배경:
IEC 62304: 의료 기기 소프트웨어 수명주기
Class C (높은 위험): 완전한 추적성 필수
FDA 21 CFR Part 11: 전자 기록 추적성
"모든 요구사항이 테스트됨" 입증 필수
RTM 구성 (의료 기기):
소프트웨어 요구사항 명세 (SRS)
→ 소프트웨어 상세 설계 (SDD)
→ 소스 코드
→ 단위 테스트 (UT)
→ 통합 테스트 (IT)
→ 소프트웨어 검증 (SVT)
예시 (인슐린 펌프 소프트웨어):
RQ-INS-001: 혈당 임계값 180mg/dL 초과 시 경고
추적:
SDD 4.2.1 → 경고 알고리즘 설계
알림모듈.cpp → 구현
UT-INS-001 → 단위 테스트 (180 경계값 검증)
IT-INS-001 → 통합 테스트 (센서→알고리즘→알림)
SVT-INS-001 → 검증 (실제 혈당 시뮬레이터)
상태: ✅ 통과 (FDA 제출 증거)
감사 추적 (Audit Trail):
모든 요구사항 변경: 날짜, 담당자, 이유 기록
IBM DOORS: 변경 이력 자동 관리
FDA 검사관 요청:
"RQ-INS-001이 언제 생성됐나?"
→ DOORS 클릭 → 생성/변경 이력 즉시 제공
결과:
FDA 510(k) 심사 통과
RTM 완전성이 핵심 증거
RTM 불완전 → 심사 반려
📢 섹션 요약 비유: 의료 기기 RTM은 안전 인증서 — "이 혈당 경고(요구사항)가 실제 코드(구현)에 있고, 테스트(검증)로 확인됐다"는 FDA 증거. RTM 빠지면 의료 기기 판매 불가!
📌 관련 개념 맵
RTM (요구사항 추적 매트릭스)
+-- 추적 방향
| +-- 전방 (요구사항 → 테스트)
| +-- 후방 (테스트 → 요구사항)
+-- 활용
| +-- 커버리지 분석
| +-- 변경 영향 분석
| +-- 감리/감사 증거
+-- 도구
| +-- JIRA + Xray
| +-- IBM DOORS (안전-필수)
+-- 적용 표준
+-- IEEE 829 (테스트)
+-- IEC 62304 (의료)
+-- ISO 26262 (자동차)
📈 관련 키워드 및 발전 흐름도
[초기 문서 추적 (1980s)]
수작업 참조 문서
방산/항공 요구
|
v
[IEEE 830 요구사항 표준 (1993)]
요구사항 명세 표준화
RTM 개념 공식화
|
v
[CASE 도구 (1990s~)]
DOORS, Requisite Pro
자동 추적 관리
|
v
[애자일 + RTM (2000s~)]
JIRA 스토리 ↔ 테스트 연결
CI/CD 자동화 RTM
|
v
[현재: AI 기반 추적]
NLP 요구사항 분석
코드↔요구사항 자동 매핑
👶 어린이를 위한 3줄 비유 설명
- RTM은 연결 지도 — "요구사항 001번이 어느 코드(지점 A), 어느 테스트(검사소 B)에 있나?" 지도. 없으면 길을 잃어요!
- 양방향 추적 — 앞으로(요구사항→테스트: 테스트 빠진 것 찾기), 뒤로(테스트→요구사항: 불필요 테스트 찾기). 양방향 확인!
- 의료 기기 RTM은 안전 인증서 — 혈당 경고 기능이 코드+테스트로 증명돼야 FDA 통과. RTM이 없으면 의료 기기 판매 금지!