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