ISO/IEC/IEEE 24765 용어집은 형상 관리(configuration management)를 형상 식별, 형상 통제, 형상 상태 기록, 형상 감사로 이루어진 기술적·조직적 활동으로 정의한다.[1] ISO 10007:2017은 형상 관리를 제품·서비스의 생명주기에 걸쳐 그 형상 식별과 상태, 관련 형상 정보에 기술적·관리적 지시를 적용하는 관리 활동으로 둔다. 이 표준은 형상 관리가 제품·서비스의 형상을 문서로 남겨 식별과 추적성, 물리·기능 요구사항의 달성 상태, 생명주기 모든 단계의 정확한 정보를 제공한다고 둔다.[2] MIL-HDBK-61B Change 1은 형상 관리를, 제품의 성능·기능·물리 특성과 그 요구사항·설계·운용 정보 사이의 일관성을 생명주기 내내 확립하고 유지하는 관리 프로세스로 정의한다.[3]
네 활동
ISO/IEC/IEEE 24765 용어집은 형상 관리를 이루는 네 활동을 다음처럼 정의한다.[1]
| 활동 | 정의 |
|---|---|
| 형상 식별(configuration identification) | 시스템의 형상 항목을 고르고, 그 기능·물리 특성을 기술 문서에 기록한다. |
| 형상 통제(configuration control) | 형상 식별을 공식 확정한 뒤 형상 항목의 변경을 평가하고 조정하며, 승인하거나 기각하고, 구현한다. |
| 형상 상태 기록(configuration status accounting) | 형상을 관리하는 데 필요한 정보(승인된 형상 식별 목록, 제안된 변경의 상태, 승인된 변경의 구현 상태)를 기록하고 보고한다. |
| 형상 감사(configuration audit) | 형상 상태를 실제 형상과 견주는 독립된 검사다. |
같은 용어집은 감사를 둘로 정의한다. 기능 형상 감사(functional configuration audit)는 형상 항목이 기능·할당 형상 식별에 정한 성능·기능 특성을 갖췄는지 확인하고, 물리 형상 감사(physical configuration audit)는 만들어진 형상 항목이 그것을 정의한 기술 문서에 맞는지 확인한다.[1]
ISO 10007:2017은 형상 관리 프로세스를 형상 관리 계획, 형상 식별, 변경 통제, 형상 상태 기록, 형상 감사로 두고, 형상 상태 기록을 형상 정보, 제안된 변경의 상태, 승인된 변경의 구현 상태를 공식적으로 기록하고 보고하는 일로 정의한다.[2]
MIL-HDBK-61B Change 1은 형상 관리 프로세스를 형상 관리·계획, 형상 식별, 형상 통제·변경 관리, 형상 상태 기록, 형상 검증·감사의 다섯 기능으로 나눈다.[3]
SWEBOK V4.0a에 따르면 형상 관리는 형상 항목을 식별하고, 변경을 관리·통제하고, 형상 정보를 검증·기록·보고해 제품의 변화와 무결성을 통제한다. 형상 식별은 통제할 항목을 정하고 항목과 그 버전의 식별 체계를 세우며, 형상 항목마다 고유 식별자와 버전을 추적한다. 베이스라인 식별도 이 활동에 든다.[4]
형상 항목
ISO/IEC/IEEE 24765 용어집은 형상 항목(configuration item)을 형상 관리 대상으로 지정해 형상 관리 프로세스에서 하나로 다루는 항목이나 그 묶음으로 정의하고, 형상 항목은 하드웨어·소프트웨어·문서를 모두 담은 시스템 전체부터 모듈이나 작은 하드웨어 구성품 하나까지 복잡도, 크기, 종류가 다양하다고 둔다.[1] ASPICE 4.1도 형상 항목을 하나의 단위로 형상 관리를 받는 작업 산출물이나 그 묶음으로 정의하고, 그 범위가 시스템 전체부터 요소나 문서 하나까지 걸친다고 둔다.[5]
SWEBOK V4.0a에 따르면 소프트웨어 형상 항목이 될 수 있는 항목에는 계획서, 명세서와 설계 문서, 테스트 자료, 소프트웨어 도구, 소스 코드와 실행 코드, 코드 라이브러리 등이 있다. 예전에 빌드한 소프트웨어 형상 항목을 똑같이 다시 빌드해야 하면, 맞는 버전의 도구를 쓸 수 있도록 컴파일러 같은 지원 도구와 빌드 지시도 형상 관리 아래 두어야 한다.[4]
베이스라인
ISO/IEC/IEEE 24765 용어집은 베이스라인(baseline)을 형상 항목의 생명주기 중 특정 시점에 공식 승인해 지정·고정한 형상 항목의 버전으로 정의한다. 한 시점에 지정·고정한 합의나 결과로도 정의하며, 이후 바꾸려면 근거와 승인이 있어야 한다고 둔다. 베이스라인은 이후 개발의 안정된 기준으로 삼거나 프로젝트의 특정 마일스톤을 표시하는 데 쓰고, 베이스라인에 승인된 변경을 모두 더한 것을 현재 승인된 형상으로 정의한다.[1] ISO 10007:2017은 형상 베이스라인을 한 시점의 제품·서비스 특성을 정하고 생명주기 내내 활동의 기준이 되는, 승인된 형상 정보로 정의한다.[2]
SWEBOK V4.0a에 따르면 베이스라인은 특정 시점에 고정된 관련 형상 항목 하나 이상으로 이루어진다.[4]
ISO/IEC/IEEE 24765 용어집은 베이스라인 세 갈래를 정의한다.[1]
- 기능 베이스라인(functional baseline): 시스템의 성능(기능, 상호운용성, 인터페이스 특성)과 그 달성을 보일 검증을 기술한 것
- 할당 베이스라인(allocated baseline): 상위 요구사항에서 제품·하위 시스템·구성품에 할당한 요구사항과 그 검증을 특정 시점에 승인한 것
- 제품 베이스라인(product baseline): 생산, 배치, 운용·지원을 위한 특정 시점의 상세 설계 기술[1]
MIL-HDBK-61B Change 1도 주요 형상 베이스라인으로 기능, 할당, 제품 베이스라인을 둔다.[3]
변경 통제
ISO/IEC/IEEE 24765 용어집은 변경 요청(change request)을 형상 항목을 조정해 달라고 요청을 내는 공식 절차로 정의한다. 영향 분석(impact analysis)은 변경 요청이 영향을 주는 시스템·소프트웨어 산출물을 모두 찾고 변경에 드는 자원을 어림하는 일로 정의하고, 변경 범위를 정하고 비용과 이익을 분석하는 일도 여기에 든다고 둔다.[1] SWEBOK V4.0a에 따르면 형상 항목의 변경 요청은 소프트웨어 생명주기의 어느 시점에서든 누구나 낼 수 있다.[4] 영향 분석을 돕는 산출물 사이의 연결은 추적성에서 다룬다.
같은 용어집은 CCB(configuration control board 또는 change control board)를 형상 항목에 제안된 변경을 평가해 승인하거나 기각하고, 승인한 변경이 구현되도록 책임지는 사람들의 모임으로 정의한다.[1] ASPICE 4.1은 CCB를 변경 요청 승인 메커니즘의 예로 든다.[5]
ASPICE
이 모델은 지원 프로세스 그룹(SUP)에 형상 관리를 SUP.8(Configuration Management)로, 변경 요청 관리를 SUP.10(Change Request Management)으로 둔다. SUP.8의 목적은 관련 형상 항목과 베이스라인의 무결성을 확립·유지하고, 이를 영향받는 모든 당사자가 쓸 수 있게 하는 것이다. SUP.10의 목적은 변경 요청이 기록, 분석, 추적, 승인, 구현되게 하는 것이다. SUP.8의 BP(base practice)는 다음과 같다.[5]
| BP | 하는 일 |
|---|---|
| BP1 | 형상 항목 식별(선정 기준 정의 포함) |
| BP2 | 형상 항목 속성 정의 |
| BP3 | 형상 관리 수립(병렬 수정을 통제하는 메커니즘 포함) |
| BP4 | 수정 통제 |
| BP5 | 내부용과 외부 납품용 베이스라인 수립 |
| BP6 | 형상 상태 요약·전달 |
| BP7 | 정보와 베이스라인의 완전성·일관성 보장 |
| BP8 | 백업·복구 메커니즘의 가용성 검증 |
브랜치와 병합 관리는 BP3의 병렬 수정 통제 메커니즘의 예다. SUP.10의 BP는 다음과 같다.[5]
| BP | 하는 일 |
|---|---|
| BP1 | 변경 요청 식별·기록(상태 부여 포함) |
| BP2 | 변경 요청 분석·평가 |
| BP3 | 구현 전 승인과 우선순위 지정 |
| BP4 | 변경 요청과 영향받는 작업 산출물(및 문제 보고) 사이의 양방향 추적성 수립 |
| BP5 | 구현 확인 |
| BP6 | 종결까지의 추적과 상태 전달 |
ASPICE 3.1은 SUP.8의 목적을 프로세스나 프로젝트의 모든 작업 산출물의 무결성을 확립·유지하는 것으로, SUP.10의 목적을 변경 요청의 관리, 추적, 구현으로 두었다. BP는 SUP.8에 아홉(형상 관리 전략 수립, 브랜치 관리, 형상 항목·베이스라인 보관 관리 포함), SUP.10에 여덟(변경 요청 관리 전략 수립과 상태 기록 포함)을 두었다. ASPICE 4.1은 위처럼 SUP.8에 여덟, SUP.10에 여섯을 둔다.[5][6]