본문 바로가기

Dev.../형상관리

형상관리의 기능에 대해서...

단순하게 소프트웨어 형상관리에 대해서 생각하는 경우에 가장 먼저 떠오르는 것은 '소스 코드의 버전관리'일 것이다. 그리고, 그것에 대한 매타태그와 같은 인덱스를 정리하는 정도의 일들이 부가적으로 떠오른다.

하지만, 실제 개발시에 사용되는 영역과 표준화적인 요소를 많이 반영한 CMMI나 SPICE, ITIL등의 소프트웨어 공학의 관점에서는 형상관리 기능의 범위는 단순한 소스코드의 버전관리를 넘어서, 변경되는 내용과 이슈에 대한 관리, 릴리즈를 포함한 것까지 범위가 매우 넓다고 봐야할 것이다.

그리고, 실질적으로 그렇게 변경관리가 된 내용을 빌드하고 테스트한 이후에 배포까지의 프로세스의 진행에 대해서 포괄적으로 어떻게 관리할 것인가가 매우 중요한 실제 개발팀 운용과 형상관리에 핵심이 된다.

기본적으로 변경관리라는 측면에서 바라보는 CR(Change Request: 변경 요청)이 발생하고, 그것에 대한 형상항목이 만들어진 이후에, 최종적으로 빌드와 테스트를 거쳐서 배포까지 서비스 되는 것에 대한 생명주기를 관리하는 것은 매우 중요하다.

더더군다나, 국내의 개발사들은 이러한 형상관리에 대해서 투자를 게으르게 하다가, 현재에 이르러서는 소프트웨어 품질에 있어서 이것을 지원하고 구축하는 것이 중요하다는 것을 소프트웨어 개발 관리자들이 이해하기 시작하였다.

대표적으로 SW공학에서 바라본 형상관리의 기능들에 대해서 알아보자. ISO/IEC 15504(SPICE)에서 정의한 9개의  Best Practice는 다음과 같다.

1. 형상관리 전략 : 형상관리를 어떻게 진행할 것인가에 대한 활동과 활동계획의 수립. 관리방법과 효율적인 운영방법에 대해서 전략을 수립하는 것

2. 형상관리 시스템 수립 : 형상관리 도구를 기반으로 한 형상관리를 하기 위한 구성요소들에 대한 정의 및 형태에 대해서 나열하고 그 관리 방법에 대해서 성형을 하고 준비하는 것이며, 실제 형상관리 시스템을 운영할 수 있는 조직구성이나 프로세스를 포함하여 수립하는 것

3. 형상 항목 식별 : 세부적인 소프트웨어의 관리의 레벨과 시스템이나 모듈, 서비스별의 관리를 위한 식별 가이드라인과, 베이스라인등의 설정과 버전 부여방법들에 대해서 정의하는 것으로써, 이러한 항목적의에는 실제 도메인의 형태에 따라서 매우 다른 형태를 가지게 된다. 서비스 중심의 소프트웨어인지, 솔루션 중심인지, 고객이 누구인지, 개발 및 이슈의 주기가 어떻게 되느냐에 따라서 이러한 형상항목의 식별은 그 형태와 구성이 달라진다.

4. 형상 항목 기술서의 유지 : 각각의 형상항목은 계속 변화하며, 이것들에 대해서 기술되어진 내용들에 대해서 가장 최신의 기술사항을 유지할 수 있어야 한다.

5. 변경 관리 : 형상 항목의 상태와 변경요청에 대한 것들이 기록과 보고가 되어야 하고. 그 변경과정에 대한 검토 방법과 허가 방법들에 대해서 정의가 되어야 한다.

6. 제품 릴리즈 관리 : 세부적인 형상항목이외에도 인도가 결정되는 것이나, 웹서비스와 같이 실제 서비스가 개시되는 시점과 같은 부분들에 대해서 검토, 승인되는 절차가 있어야 한다.

7. 형상 항목 이력 유지 : 언제나 필요한 기능과 연관되어지는 베이스라인으로 복구되거나 상태가 변경될 수 있도록 이력들에 대한 내용들이 매우 상세하게 유지 되어야 한다.

8. 형상 상태 보고 : 현재 시스템의 통합및 구성상태에 대해서 형상항목간의 관계에 대해서 정기적으로 보고할 수 있어야 한다.

9. 형상항목 릴리즈 및 인도 관리 : 형상 항목의 저장과 취급. 릴리즈와 인도 및 서비스 개시와 같은 상황을 통제할 수 있어야 한다.

'Dev... > 형상관리' 카테고리의 다른 글

소프트웨어 형상관리에 대한 기본 정리...  (0) 2013.07.04