형상 항목을 식별하고, 변경을 통제 및 처리 상태를 모니터링함으로써 요구사항에 부합하는지 확인하는 활동
V-Model 지원 프로세스의 핵심. 무결성(Integrity)과 추적성(Traceability) 확보가 목적이다.
형상(Configuration)의 개념
일반적 의미
An arrangement of a group of things — 컴퓨터 부품들의 구성 (CPU, RAM, Motherboard, …)처럼 항목들의 조합과 그 식별 정보(부품명, LOT, Rev 등).
소프트웨어에서의 의미
소프트웨어 산출물(요구사항 명세서, 설계서, 소스 코드, 테스트 결과 등)의 구성과 버전 상태. 각 산출물에 V1.0 → V1.1 → V1.2 → V1.3 식의 버전 식별자를 부여해 누적 관리한다.
형상 관리의 필요성
요구사항 변경은 V-Model 어느 단계에서나 발생할 수 있다 (요구사항 → 분석 → 설계 → 구현 → 테스트 → 제품 & 서비스 전 구간). 변경 시 산출물 간 정합성을 잃지 않도록 통제하는 것이 형상 관리.
4가지 활동
| 활동 | 정의 |
|---|---|
| 형상 식별 | 형상 관리 할 대상 항목을 식별하고 베이스라인 기준을 정하는 과정 |
| 형상 통제 | 변경 요청을 수용할 것인지 평가하고 관련 담당자들이 모여 협의하는 과정 |
| 형상 상태 보고 | 베이스라인의 현재 상태 및 변경 항목들이 제대로 반영되었는지 확인·보고 |
| 형상 감사 | 형상 관리 계획서대로 형상 관리가 진행되고 있는지 확인 |
형상 식별
3단계 절차: 형상 항목 선정 → 형상 식별자 정의 → 베이스라인 기준 선정.
형상 항목 선정
형상 관리 대상 산출물 목록 + 개발 도구 등을 선정.
- 예: 요구사항 명세서, 설계서, 소스 코드, 컴파일러
형상 식별자
형상 항목에 유일한 이름과 버전 식별 체계를 부여 (산출물 파일명으로 활용).
| Project ID | Doc ID | Version ID | Draft ID |
|---|---|---|---|
| AProj | 요구사항 명세서 | V1.3 | DraftA |
→ AProj_요구사항 명세서_V1.3_DraftA
베이스라인 기준 선정
개발의 기초가 되며, 공식적으로 검토 및 동의되었고, 오직 형상 통제(변경 관리) 절차에 의해서만 변경될 수 있는 형상의 상태
Base 1.0 → Base 2.0 → Base 3.0
소프트웨어 개발 단계별 베이스라인 예시:
| 단계 | 베이스라인 구성 산출물 |
|---|---|
| 요구사항 분석 | 요구사항 명세서 |
| 설계 | 요구사항 명세서 + 아키텍처 설계서 + 상세 설계서 |
| 구현 | 요구사항 명세서 + 아키텍처/상세 설계서 + 소스 코드 |
형상 통제
형상통제위원회(CCB, Configuration Control Board)가 변경 요청을 평가·협의.
단계별 흐름
단계별 업무 완료 → 베이스라인 설정 → 변경 심사(고객/개발자 변경 요청) → 변경 실시 → 변경 확인 순으로 진행된다.
변경 요청서 주요 항목
- 프로젝트 명, 요청자, 접수자(일자), 현 개발 단계, 긴급도
- 변경 제목, 변경 형상 항목, 변경 요청 내역
- 형상통제위원회 변경 심의 결정 사항(승인/기각)
- 영향 분석 및 평가 결과 (관련 설계서/코드/TC 변경 필요성, 시간·비용 예상)
- 작업 지시 사항
심사 시 고려 사항
- 변경의 난이도
- 변경으로 인한 산출물 영향도
- 개발 일정 내 가능 여부
- 비용/공수 내 가능 여부
형상 상태 보고
베이스라인 상태와 변경 항목 반영 여부를 확인·보고하여 형상 항목의 개발 상태에 가시성 제공.
주요 내용:
- 형상 통제 위원회 활동 내역
- 베이스라인 상태 및 변경 내역
- 형상 통제 처리 현황 (요청/승인/진행/기각 건수)
형상 감사
형상 관리 계획에 따라 활동의 진행 여부를 확인.
체크리스트 예시:
| No. | 점검 항목 |
|---|---|
| 1 | 식별된 형상 항목들이 정의된 식별번호 체계에 따라 유일한 식별자로 부여되어 있는가? |
| 2 | 베이스라인을 구성하는 형상 항목은 CCB에서 검토되었는가? |
| 3 | 형상 관리 시스템에 등록된 베이스라인의 변경은 정의된 절차에 의해 수행되고 있는가? |
| 4 | 변경 요청서가 작성·유지·관리되고 있는가? |
| 5 | 형상 상태 보고서는 형상 항목의 상태를 정확히 기술하고 승인된 변경 내역이 반영되어 있는가? |
A-SPICE Configuration Management — Base Practices
The purpose of the Configuration Management Process is to establish and maintain the integrity of all work products of a process or project and make them available to affected parties.
| BP | 활동 |
|---|---|
| BP 1 | Develop a configuration management strategy |
| BP 2 | Identify configuration items |
| BP 3 | Establish a configuration management system |
| BP 4 | Establish branch management |
| BP 5 | Control modifications and releases |
| BP 6 | Establish baselines |
| BP 7 | Report configuration status |
| BP 8 | Verify the information about configured items |
| BP 9 | Manage the storage of configuration items and baselines |
→ A-SPICE 프로세스 그룹 중 SUP(Supporting Process)에 속함. A-SPICE의 8개 프로세스 그룹 중 SUP 참조.
이슈 추적 시스템과의 연동
결함 관리 도구(Redmine·JIRA 등)는 SCM(Git·SVN 등)과 연동되어 이슈-커밋 양방향 추적성을 제공한다. Redmine의 경우 프로젝트에 저장소를 지정하고, 버전 관리 커밋 메시지에 이슈 번호를 기재하면 Redmine이 해당 커밋을 이슈에 자동 연결한다.
→ SUP.8 형상 관리와 SUP.9 Problem Resolution의 연결 지점. 형상 항목의 변경 이력이 결함·변경 요청 단위로 추적된다.
Commit Message 규칙
이슈 추적 연동을 위한 Commit Message 작성 형식:
#이슈번호 제목
본문작성 규칙
- 제목과 본문을 한 줄 띄어 분리하여 작성
- 제목은 20자 이내로 작성
- 제목 끝에
.금지 - 제목은 명령조로 작성
- 본문은 30자마다 줄 바꾸기
→ 이슈 번호를 기재하면 결함 관리 도구가 커밋을 해당 이슈에 자동 연결해 양방향 추적성 제공.