형상 및 변경 관리 소개
SEI-CMM(Software Engineering Institute-Capability Maturity Model)을
알기 쉽게 말하면
'형상 및 변경 요청 관리가
프로젝트의 결과물에 대한 변경을 제어하고
이에 대한 무결성을 유지보수한다'는 것입니다.

형상 관리 및 변경 요청 관리(CM 및 CRM)에는 다음이 포함됩니다.
- 형상 항목 식별
- 항목에 대한 변경 제한
- 항목에 작성된 변경 감사
- 항목의 형상 정의 및 관리
조직에 대한 변경 및 형상 관리를 제공하기 위해 사용되는
메소드, 프로세스 및 툴은 조직의 CM 시스템으로 고려될 수 있습니다.
조직의 형상 및 변경 요청 관리 시스템(CM 시스템)은
제품 개발,
개발 및 유지보수 프로세스에 대한 주요 정보와
이런 프로세스의 실행의 결과로 생성된
잠재적으로 재사용 가능한 결과물의 자산 기반을 보유하고 있습니다.
CM 시스템은 전체 개발 프로세스의 필수 파트입니다.
CM 시스템은 공통 프로젝트에서 작업하는
많은 사람들이 생성한 수많은 결과물을 제어하는 데 필수입니다.
제어를 통해 비용이 많이 드는 혼동을 피할 수 있고,
결과로 생성되는 결과물이 다음과 같은 문제점 중 일부로 인해
충돌되지 않았는지 확인할 수 있습니다.
동시 갱신
둘 이상의 팀 구성원이 동일한 결과물에 대해 별도로 작업하는 경우
마지막으로 변경을 수행한 사람이 앞 사람의 작업을 파기합니다.
기본적인 문제점은 시스템이 동시 갱신을 지원하지 않으면
순차적 변경이 발생하여 개발 프로세스의 속도가 느려진다는 것입니다.
그러나 동시 갱신을 사용하면
갱신이 동시에 발생했는지 감지하고
이런 변경 통합시 통합 문제를 해결합니다.
제한된 통지
여러 개발자가 공유하는 결과물의 문제점이 수정될 때
개발자 중 일부는 변경에 대한 통지를 받지 않습니다.
다중 버전
대부분의 대형 프로그램은 전개적 릴리즈로 개발됩니다.
한 릴리즈는 고객이 사용 중인 반면 다른 릴리즈는 테스트 중이고
그 외 릴리즈는 아직 개발 중일 수 있습니다.
버전 중 어느 하나에 문제점이 발생하면
수정사항이 이들 릴리즈 간에 전해져야 합니다.
변경사항을 주의 깊게 제어하고 모니터하지 않으면
혼동을 일으켜 비용이 많이 드는 수정사항과 재작업이
필요할 수 있습니다.
CM 시스템은 전개된 소프트웨어 시스템의 다양한 변형을 관리하고,
제공된 소프트웨어 빌드에서 사용된 버전을 추적하고,
사용자 정의 버전 스펙에 따라 개별 프로그램 또는 전체 릴리즈 빌드를 수행하며
사이트 특정 개발 정책을 시행하는 데 유용합니다.
다음은 CM 시스템이 제공하는 직접적인 이익 중 일부입니다.
- 개발 방법 지원
- 제품 무결성 유지보수
- 구성된 제품의 완성도 및 정확도 확인
- 제품을 개발하기 위한 안정된 환경 제공
- 프로젝트 정책에 따라 결과물 변경 제한
- 결과물 변경 이유, 시기 및 주체에 대한 감사 추적 제공
또한 CM 시스템은 개발 프로세스 자체에 대한
세부 '계산' 데이터를 저장합니다.
이 데이터에는 특정 버전 작성자(및 시기, 이유),
특정 빌드의 소스 버전 및 기타 관련 정보가 포함됩니다.
조직의 CM 시스템은 시작에서 전개까지 제품 라이프사이클 전체에서
사용됩니다.
조직의 자산 저장소로서 CM 시스템은
요구사항 소스 파일의 현재 및 이전 버전과
특정 버전의 시스템 또는 시스템 컴포넌트를 정의하는
구현 결과물을 포함합니다.
제품
디렉토리 구조는 제품을 구현하는 데 필요한 모든 결과물을
포함하는 CM 시스템으로 표시됩니다.
이처럼, 형상 및 변경 관리(CCM) 규칙이
결과물의 결과 세트에 대한
저장소 역할을 하므로 다른 모든 프로세스 규칙과 관련됩니다.