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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

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

형상관리의 기능에 대해서...  (0) 2013.07.04
소프트웨어 형상관리에 대한 기본 정리...  (0) 2013.07.04
by 꿈꾸는자의 생각의파편들 2013.07.04 17:25

소프트웨어 형상관리(SCM)을 수행하기 위한 행위들에 대한 집합으로 다음과 같이 정의할 수 있음.

'변경사항을 통제하기 위하여 만들어진 행위들의 집합'으로 다음의 5가지로 정의가 가능함

하나. 변경될 가능성이 있는 산출물을 찾아냄

둘. 산출물 사이의 관계를 확립함

셋. 이러한 산출물들의 다양한 버전들을 관리하기 위한 메커니즘을 정의함

넷. 발생한 변경사항들을 통제함

다섯. 가해진 변경사항들에 대해서 감사하고 보고하는 행위

이상의 5가지 행위를 진행함으로써 변경사항을 통제함


이러한 소프트웨어 형상관리를 활용하는 방안과 이점은 다음과 같음.

1. 기획문서 백업

2. 기밀문서 저장

3. 프로그램 소스 백업

4. 개발자 및 관련되어진 기획자, 디자이너 간의 문서 및 소스 공유

5. 프로젝트 참여자의 문서 및 소스 공유

6. 시간의 진행에 따른 변경 내력을 관리함.

7. 주됨 개발 흐름을 유지하면서도 여러 개의 릴리스를 만들어냄

8. 팀이 작업을 수행하면서 작업을 멈추지 않음

9. 개발자들의 백업을 자동화함


형상관리용어의 대표적인 용어를 몇가지 정리함.

 Repository 프로그램 소스가 저장되는 저장소
 Check Out 저장소에서 소스를 받아 오는것 
 Commit 개발자가 수정, 추가, 삭제등의 갱신정보를 저장소에 반영하는 것 
 Update 최근에 수정된 상태를 로컬에 반영하는 것
 Revision 수정과 커밋을 일정한 규칙에 의거 정의함
 Import 비어있는 저장소에 맨 처음 소스를 넣는 작업
 Export 버전 관리파일들을 제거한 순수한 소스의 상태로 받아옴
 Tag 꼬리표와 같은 기억하기 쉬운 이름을 부여함
 Trunk 프로젝트에서 가장 중심이 되는 디렉토리
 Branch Trunk에서 발생되어진 연관 프로젝트
 Merge 브래치의 수정분을 Trunk에 병합하는 것

subversion기준의 용어 정리

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

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

형상관리의 기능에 대해서...  (0) 2013.07.04
소프트웨어 형상관리에 대한 기본 정리...  (0) 2013.07.04
by 꿈꾸는자의 생각의파편들 2013.07.04 16:54
| 1 |

티스토리 툴바