파이어맨 이야기

이번 내용은 파트 2 형상관리 프로세스 영역을 설명 드리도록 하겠습니다. 


이전 링크

CMMI for Development, Version 1.3 Part 1 1부 한글 : CMMI 소개 

CMMI for Development, Version 1.3 Part 1 2부 한글 : 프로세스 구성요소

CMMI for Development, Version 1.3 Part 1 3부 한글 : 모두 함께 하기

CMMI for Development, Version 1.3 Part 1 4부 한글 : 프로세스 영역 사이 관계

CMMI for Development, Version 1.3 Part 1 5부 한글 : CMMI 모델 사용하기

CMMI for Development, Version 1.3 Part 2 1부 한글 : 일반 목표와 일반 프랙티스 1

CMMI for Development, Version 1.3 Part 2 2부 한글 : 일반 목표와 일반 프랙티스 2.1~2.5

CMMI for Development, Version 1.3 Part 2 3부 한글 : 일반 목표와 일반 프랙티스 2.6~2.10

CMMI for Development, Version 1.3 Part 2 4부 한글 : 일반 목표와 일반 프랙티스 GP 3

CMMI for Development, Version 1.3 Part 2 5부 한글 : 원인 분석 및 해결 (CAR)


형상 관리

성숙도 레벨 2에 지원 프로세스 영역

 




목적

형상관리(CM)의 목적은 형상식별, 형상제어, 형상 현황 관리, 형상 감사에 사용되는 산출물의 무결성을 확립하고 유지하는 것입니다.

 




입문 노트

 

형상관리 프로세스 영역은 다음과 같은 활동을 포함합니다.

l  주어진 시점을 기준으로 구성된 선택된 산출물의 구성을 식별하는 것

l  구성 항목의 변경을 제어하기

l  형상관리 시스템으로부터 산출물을 만들기 위해서 사양서를 만들거나 제공하기

l  베이스라인의 무결성을 유지하기

l  개발자, 최종사용자, 그리고 고객에게 정확한 상태와 현재 구성 데이터를 제공하기

형상관리에 있는 산출물은 고객에게 전달된 제품, 지정된 내부 산출물, 획득한 제품, 도구, 그리고 이러한 산출물을 생성하거나 설명하는데 사용되는 다른 항목들이 포함됩니다.

l  형상관리에 포함되는 산출물의 예

n  하드웨어와 장비

n  도면

n  제품 사양

n  도구 구성

n  소스코드와 라이브러리

n  컴파일러

n  테스트도구와 테스트 스크립트

n  설치로그

n  제품 데이터 파일

n  제품 기술 발행물 (Product technical publications)

n  계획

n  유저스토리

n  반복적인 백로그들

n  프로세스 설명

n  요구사항

n  아키텍쳐문서와 설계 데이터

n  제품 라인계획, 프로세스, 그리고 핵심 자산

획득된 제품은 공급자와 프로젝트에 의해 형상관리에 배치될 필요가 있습니다. 형상관리 수행에 대한 규정은 공급계약에 확립되어야 합니다. 데이터의 완벽성과 일관성을 확인하는 방법은 확립되고 유지되어야 합니다.

공급계약확립에 대해서 더 많은 정보를 위해서는 공급계약 관리 프로세스를 참조하세요

산출물의 형상관리는 여러 세분화 수준으로 수행될 수 있습니다. 형상 항목은 형상 구성요소와 형상 단위로 분리될 수 있습니다. “형상 항목”, 이 용어는 이 프로세스 영역에 사용됩니다. 그러므로, 이러한 프랙티스에서, “형상 항목형상 구성요소형상 단위로 적절하게 해석될 것입니다.

 

베이스라인은 형상 항목의 계속적인 발전을 위해서 안전한 기반을 제공합니다.

베이스라인의 예는 내부적으로 요구사항의 일관된 버전, 요구사항 추적 메트릭, 설계,명확한 훈련 항목, 그리고 최종 사용자 설명서를 포함하는 제품의 승인된 설명입니다.

베이스라인은 그들이 개발된 것처럼 형상관리 시스템에 추가됩니다. 형상관리 시스템으로부터 베이스라인의 변경과 산출물의 릴리즈는 형상관리의 형상 제어, 변경 관리, 그리고 형상 감사기능을 통해 시스템적으로 제어되고 모니터링 됩니다.

 

이 프로세스 영역은 프로젝트에 형상관리뿐만 아니라, 표준, 절차, 재사용 라이브러리, 다른 공유 지원 자산과 같은 조직 산출물의 형상관리에도 적용합니다.

 

형상관리는 배포된 제품이나 서비스를 포함하는 산출물의 관리나 기술적 관점의 엄격한 통제에 초점을 두고 있습니다.

 

이 프로세스 영역은 형상관리 기능을 수행하기 위한 프랙티스를 포함하고 형상관리 시스템에 배치되는 모든 산출물에 적용할 수 있습니다.

제품 라인의 경우, 형상관리는 제품 라인에서 제품사이나 제품과 여러 버전의 핵심자산사이에서 핵심자산의 공유 때문에 추가적으로 심사숙고가 포함됩니다.

제품라인(Product line)의 정의는 용어집에서 볼수 있습니다.

애자일 환경에서, 형상관리(CM)는 자주 발생하는 변경과 , 빌드(보통 일일), 여러 베이스라인, 그리고 여러 CM 지원되는 작업공간 (: 개잉별, 팀별, 페어프로그래밍)에 대한 지원 때문에 중요합니다. 조직이 CM(:빌드스크립트, 현황상태, 무결성 체크)을 자동화하지 않고 표준 서비스를 하나의 세트로 구현하지 않는다면, 애자일 팀은 교착상태에 빠질 수 있습니다. 시작부분에, 애자일 팀은 CM이 정확하게 구현되기 위해서 담당자를 할당해야 합니다. 각각의 반복의 시작에서, CM의 지원 필요성은 다시 확인됩니다. CM은 작업이 완료하기 위해서 팀의 불화를 최소화에 초점을 마추어서 통합되어야 합니다.

 

 



관련 프로세스 영역

계획에 대한 프로젝트 모니터링과 해결을 위한 시정 조치 관리에 대해서 더 많은 정보를 위해서는 프로젝트감시 및 통제 (PMC)프로세스영역을 참조하세요

 

프로젝트 계획을 개발하는 것에 대해서 더 많은 정보를 위해서는 프로젝트계획 (PP) 프로세스 영역을 참조하세요

 

고유 목표와 프랙티스 요약

SG 1 베이스라인 확립하기

           SP 1.1 형상 항목 식별하기

           SP 1.2 형상관리 시스템 확립하기

           SP 1.3 베이스라인을 생성 또는 릴리즈하기

SG 2 변경을 추적하고 제어하기

           SP 2.1 변경 요청을 추적하기

           SP 2.2 형상 항목을 제어하기

SG 3 무결성 확립하기

           SP 3.1 형상관리 기록 확립하기

           SP 3.2 형상 감사 수행하기

 

 목표에 의한 고유 프랙티스

l  SG 1 베이스라인 확립하기

n  식별된 산출물의 베이스라인이 확립됩니다.

u  베이스라인 확립을 위한 고유 프랙티스는 이 고유 목표를 포함됩니다. 고유 목표 SG2 변경을 추적하고 관리하기에서 이 고유 프랙티스는 베이스라인을 유지하는 역할을 합니다.

n  SP 1.1 형상 항목 식별하기

u  형상 관리에 배치된 형상 항목, 구성요소, 그리고 관련 산출물을 식별합니다.

u  형상 식별은 다음의 사양과 선택입니다.

l  고객에게 제공된 제품

l  지정된 내부 산출물

l  획득된 제품

l  도구와 프로젝트의 작업환경의 다른 중요 자산

l  이러한 산출물을 생성하고 설명하는데 사용되는 다른 항목

u  형상 항목은 하드웨어, 장비, 유형자산, 게다가 소프트웨어와 문서가 포함될 수 있습니다. 문서는 요구사항 문서와 인터페이스 문서가 포함될 수 있습니다. 테스트 결과처럼 제품이나 서비스의 형상을 식별하기 위한 다른 문서가 포함될 것입니다.

u  형상 항목은 지정된 형상관리를 위해 베이스라인으로 형성되고 여러 관련 산출물로 구성된 엔티티입니다. 이 논리적 그룹은 접근제어와 식별의 용이함을 제공합니다. 형상관리를 위한 산출물의 선택은 계획동안 확립된 기준을 기반으로 해야 합니다.

u  산출물의 예

1.     식별된 형상 항목

u  하위 프랙티스

1.     문서화된 기준을 기반으로 구성할 형상 항목과 산출물을 선택합니다.

n  적절한 산출물 수준에서 형상 항목을 선택하는 기준의 예

u  2개이상의 그룹에서 사용될 수 있는 산출물

u  요구사항의 변경이나 에러로 인한 시간 초가 때문에 변경이 필요한 산출물

u  서로 의존하는 산출물 (, 하나가 변경되면 다른 것이 변경되는 것)

u  프로젝트 성공을 위한 산출물 기준

n  형상 항목의 일부인 산출물의 예

u  설계

u  테스트 계획 및 절차

u  테스트 결과

u  인터페이스 설명

u  도면

u  소스코드

u  유저 스토리 또는 유저 카드(story cards)

u  선언된 비즈니스 사례, 논리, 가치

u  도구 (: 컴파일러)

u  프로세스 설명

u  요구사항

2.     형상 항목에 고유 식별자를 할당합니다.

3.     각 형상 항목의 중요한 특성을 지정합니다.

n  형상 항목의 특징의 예는 저자, 문서 또는 파일 타입, 개발 언어, 최소한의 판매할만한 기능, 그리고 형상 항목이 제공하는 목적

4.     각 형상 항목이 형상관리에 배치될 때를 명시합니다.

n  형상 관리에 산출물이 배치될 때를 결정하기 위한 예시 기준

u  산출물이 테스트할 준비가 되었을 때

u  프로젝트 생명주기의 단계

u  산출물에 바라는 제어 정도

u  비용과 일정 제한

u  이해관계자 요구사항

5.     각 형상 항목에 대해 담당하는 소유자를 식별합니다.

6.     형상 항목 사이에 관계를 명시합니다.

n  형상 항목 사이에 존재하는 관계(:부모자식, 의존관계)의 종류를 형상관리 구조(:형상관리 데이터베이스)로 통합하는 것은 변경의 효과와 영향을 관리하는데 도움이 됩니다.

 

n  SP 1.2 형상관리시스템을 확립하기

u  산출물을 제어하기 위해서 형상 관리와 변경관리 시스템을 확립하고 유지합니다.

u  형상관리 시스템은 저장매체, 절차, 그리고 시스템에 접속하기 위한 도구를 포함합니다. 형상관리시스템은 각각의 형상 관리 환경을 위해 적합하고 다른 구현을 가진 여러 서브 시스템으로 구성될 수 있습니다.

u  변경관리시스템은 저장매체, 절차, 변경요청을 기록하고 접근하기 위한 도구를 포함합니다.

u  산출물의 예

1.     제어된 산출물이 있는 형상관리시스템

2.     형상 관리 시스템 접근 제어 절차

3.     변경 요청 데이터베이스

u  하위 프랙티스

1.     여러 수준의 제어를 관리하기 위한 메커니즘을 확립합니다.

n  제어 수준은 프로젝트 목표, 리스크, 그리고 자원에 기반하여 일반적으로 선택됩니다. 제어 수준은 프로젝트 생명주기, 개발관련 시스템의 유형, 그리고 특정 프로젝트 요구사항에 따라 다를 수 있습니다.

n  제어 수준의 예

u  제어되지 않은(uncontrolled) : 누구든지 변경할 수 있습니다.

u  작업의 진행(Work-in-progress): 저자가 변경을 제어합니다.

u  릴리즈(Released) : 지정된 기관이 권한을 변경에 대한 권한을 부여하고 제어하며 변경이 발생하며 관련 이해 관계자에게 알려줍니다.

n  제어수준은 형상 항목이 개발될 때 만들어지는 변경을 추적하는 비공식적인 제어에서부터 공식적인 형상 관리 프로세스의 부분으로써 변경될 수 있는 베이스라인을 사용하는 공식적인 형상 제어까지 다양합니다.  

2.     형상관리 시스템에 권한이 부여된 접근을 보장하기 위해서 접근 제어를 제공합니다.

3.     형상관리시스템에 형상 항목을 저장하고 가져옵니다.

4.     형상관리시스템에 제어수준의 사이에서 형상 항목을 공유하고 전달합니다.

5.     형상 항목의 획득한 버전을 저장하고 복구합니다.

6.     형상관리 기록을 저장하고 업데이트하고 가져옵니다.

7.     형상관리시스템으로부터 형상관리 보고서를 생성합니다.

8.     형상관리시스템의 내용을 보존합니다.

n  형상관리시스템의 보존기능의 예

u  형상관리 파일 백업 및 복구

u  형상관리파일의 보관

u  형상관리에러로부터 복구

9.     필요에 따라 형상관리 구조를 수정합니다.

n  SP 1.3 베이스라인을 생성하고 릴리즈하기

u  내부사용 및 고객에 배포를 위해 베이스라인을 생성하고 릴리즈합니다.

u  베이스라인은 형상 항목이나 형상 항목의 모음에 식별자를 할당으로 표시되고 시간에 다른 지점에 객체들(entities)을 관련시킵니다. 제품이나 서비스가 발전함에 따라, 개발과 테스팅을 제어하기 위해서 여러 베이스라인이 사용될 수 있습니다.

u  하드웨어 제품뿐만 아니라 소프트웨어 그리고 문서도 형상(:소프트웨어 하드웨어)과 관련된 인프라를 위해 베이스라인에 포함되어야 하며 하드웨어와 소프트웨어 인터페이스를 포함하는 시스템 테스트를 위한 준비에도 포함되어야 합니다.

u  베이스라인의 하나의 일반 집합은 시스템 수준의 요구사항, 시스템 요소 수준의 설계 요구사항, 그리고 개발종료와 생산 시작에 제품 정의를 포함합니다. 이러한 베이스라인은 각각 기능 베이스라인, 할당 기준, 그리고 제품 베이스라인으로써 일반적으로 나타냅니다.

u  소프트웨어 베이스라인은 고유 식별자가 할당된 요구사항, 설계, 소스코드, 그리고 관련된 실행코드, 빌드파일, 그리고 사용자 문서의 집합이 될 수 있습니다.

u  산출물의 예

1.     베이스라인

2.     베이스라인 설명

u  하위 프랙티스

1.     형상항목의 베이스라인을 생성이나 릴리즈전에, 형상제어보드(CCB)로 부터 권한 획득합니다.

2.     형상관리시스템에 형상항목으로부터 베이스라인을 생성하거나 릴리즈합니다.

3.     베이스라인에 포함되는 형상항목의 집합을 문서화합니다.

4.     베이스라인의 현재 집합을 이용할 수 있도록 만듭니다.

 

l  SG 2 변경을 추적하고 제어하기

n  선형상관리에 있는 산출물의 변경사항은 추적되고 제어됩니다.

u 베이스라인 고유 목표확립에 있는 고유 프랙티스에 의해서 확립된 후에, 이 고유 목표에 있는 고유 프랙티스는 베이스라인을 유지하기위해 제공됩니다.

n  SP 2.1 변경 요청 추적하기

u  형상 항목에 대한 변경 요청을 추적합니다.

u  변경 요청은 새거나 변경 요구사항뿐만아니라 산출물안에 있는 실패나 결함에 대해서도 다룹니다.

u  변경 요청은 산출물, 관련 산출물, 비용, 그리고 일정에서 변경에 대한 영향을 결정하기 위해서 분석됩니다.

u  산출물의 예

1.     변경 요청

u  하위 프랙티스

1.     변경요청데이터베이스에 변경요청을 시작하고 기록합니다.

2.     변경의 영향을 분석하고 변경요청에 제안된 것을 고칩니다.

n  변경은 그것이 모든 기술과 프로젝트 요구사항에 대해 일관성을 보장하는 활동을 통해 평가됩니다.

n  변경사항은 즉시 프로젝트나 계약 요구사항에 대해 그들의 영향에 대해 평가됩니다. 다른 프로그램에서 문제가 발생하여도, 여러 제품에서 사용되는 항목에 대한 변경은 즉시 이슈를 해결할 수 있습니다.

n  변경사항은 릴리즈계획에서 변경사항의 영향에 대한 평가됩니다.

3.     변경요청에 대한 분류화하고 우선순위를 정합니다.

n  적절한 경우, 긴급요청이 확인되고 비상 권한이 참조됩니다.

n  변경사항은 미래의 베이스라인에 할당됩니다.

4.     적절한 이해관계자와 다음 베이스라인에서 다루고 동의를 받을 변경요청에 대해서 리뷰를 합니다.

n  적절한 참가자와 변경 요청 검토는 수행됩니다. 각각의 변경요청의 결정과 성공 기준을 포함하는 그 결정에 대한 이론적 근거, 적절한 경우 간단한 조치 계획, 그리고 변경에 의해 요구가 충족되었는지 아닌지를 기록합니다.

n  결정에 필요한 조치을 수행하고 관련 이해관계자에게 결과를 보고합니다.  

5.     종료를 위해 변경 요청의 상태를 추적합니다.  

n  시스템으로부터 변경 요청은 효율적으로 적시에 처리되어야 합니다. 하나의 변경 요청이 처리되면, 그것이 실용적이라면 적절한 승인된 행동을 통해 요청을 종료하는 것은 중요합니다. 조치가 필요한 리스트보다 열려져 있는 항목이 더 많을 경우, 그것은 추가적인 비용이나 혼란을 만들 수 있습니다.

 

n  SP 2.2 형상항목 제어하기

u  형상항목에 대한 변경을 제어합니다.  

u  제어는 산출물 베이스라인의 형상에 유지되어야 합니다. 이 제어는 각각의 형상항목의 형상을 추적하고 필요할 경우 새로운 형상을 승인하고, 베이스라인을 업데이트하는 것을 포함합니다.

u  산출물의 예

1.     형상항목의 리비전 히스토리

2.     베이스라인의 아카이브(archive)

u  하위 프랙티스

1.     제품이나 서비스의 수명동안 형상항목의 변경을 제어합니다.

2.     변경된 형상항목이 형상관리시스템에 적용되기 전에 적절한 권한을 획득합니다.

n  예를들면, 형상제어보드(CCB), 프로젝트 관리자, 제품소유자, 또는 고객으로부터 권한이 나올 수 있습니다.

3.     형상항목의 정확하고 무결성을 유지하면서 변경을 통합하기 위해 형상관리시스템에 형상항목을 체크인 및 체크아웃합니다.

n  체크인과 체크아웃 단계의 예

u  리비전에 권한이 있는지 확인하기

u  형상항목을 업데이트하기

u  대체된 베이스라인을 아카이브하고 새로운 베이스라인을 되찾아(retrieving)옵니다.

u  항목의 변경에 대해서 주석(Commenting)을 답니다.

u  이러한 요구사항, 유저 스토리, 테스트와 같은 관련 산출물의 변경을 묶습니다.

4.     변경이 베이스라인에 의도하지 않은 효과가 일어나지 않도록 보장하기 위해 검토를 수행합니다. (: 변경이 시스템 보안이나 안정성에 대해 손상을 일으키지 않도록 보장하기 위해)

5.     형상 항목의 변경과 적절한 변경에 대한 이유를 기록합니다.

n  만약 산출물에 제안된 변경이 승인된다면, 일정은 변경을 산출물과 다른 영향있는 영역에 통합하기 위해서 확인됩니다.

n  형상 제어 메커니즘은 변경의 분류에 맞게 만들어질 수 있습니다. 예를 들면, 승인 고려사항은 다른 구성요소에 영향이 없는 구성요소의 변경에 대해서는 덜 엄격할 수 있습니다.

n  형상변경의 검토와 승인후에 변경된 형상 항목은 릴리즈됩니다. 형상항목이 릴리즈될때까지, 변경사항은 비공식적입니다.

 

l  SG 3 무결성 확립하기

n  베이스라인의 무결성은 확립되고 유지됩니다.

n  고유 목표(SG 1),베이스라인 확립하기,와 관련된 프로세스에 의해 확립되고 고유목표(SG 2), 변경을 추적 제어하기, 와 관련된 프로세스에 의해 유지되는, 프로세스의 무결성은 고유 목표의 고유 프랙티스에 의해 다루어 집니다.

n  SP 3.1 형상 관리 기록을 확립하기

u  형상 항목을 설명하는 기록을 확립하고 유지합니다.

u  산출물의 예

1.     형상 항목의 리비전 히스토리

2.     변경 로그

3.     변경 요청 기록

4.     형상 항목의 상태

5.     베이스라인 사이의 차이

u  하위 프랙티스

1.     그 내용이나 각각의 형상항목의 상태가 알려지기에 충분하고 상세하게 형상관리 행동을 기록하고 이전 버전으로 복구할 수 있습니다.

2.     관련 이해관계자가 형상항목의 형상 상태의 지식에 접근을 보장해야합니다.

n  형상 상태에 대한 대화를 위한 활동의 예

u  권한이 있는 최종 사용자에게 접근 권한을 제공하는 것

u  권한이 있는 최종 사용자가 베이스라인 복사본을 이용할 수 있도록 하는 것

u  항목이 체크인 또는 체크아웃, 또는 변경 요청에 대해 만들어진 변경이 있을 때 자동적으로 관련 이해관계자에게 경고를 보냅니다.

3.     베이스라인의 최종 버전을 명시합니다.

4.     특정 베이스라인을 구성하는 형상항목의 버전을 식별합니다.

5.     성정적인 베이스라인 사이의 차이를 설명합니다.

6.     필요에 따라 각각의 형상 항목의 상태나 히스토리(,변경, 다른 행동)를 변경합니다.

n  SP 3.2 형상 감사를 수행하기

u  형상 베이스라인의 무결성을 유지하기 위해서 형상감사를 수행합니다.

u  형상 감사는 구체적인 기준이나 요구사항에 따라 베이스라인과 문서의 결과를 확인합니다. 기록과 관련된 형상항목은 여러 데이터베이스나 형상관리 시스템에 존재할 수 있습니다. 이러한 경우, 형상 감사는 형상 항목 정보의 정확성, 일관성, 그리고 완전성을 보장하기 위해 적절하게 이러한 다른 데이터베이스로 확장해야 합니다.

u  감사 종류의 예

1.     기능 형상 감사(FCAs): 형상항목의 개발을 확인하기 위해 수행되는 감사는 ,항목이 기능적 또는 할당적 베이스라인에 설명된 기능과 품질 특성이 아카이브된 것과, 그 운영 및 지원 문서가 완전하고 만족하는 것을, 완료되었는지 확인합니다.

2.     물리적 형상 감사(PCAs) : 이미 만들어진 형상항목을 확인하기 위해 수행하는 감사는 기술 문서가 정의되고 설명하는 것을 확인합니다.

3.     형상 관리 감사 : 형상관리 기록과 형상항목을 확인하기 위해 수행되는 감사는 완전하고, 일관성 있고 정확한지 확인합니다.

u  산출물의 예

1.     형상 감사 결과

2.     작업 항목

u  하위 프랙티스

1.     베이스라인의 무결성을 평가합니다.

2.     형상 관리 기록이 정확하게 형상항목을 식별하는지 확인합니다.

3.     형상관리 시스템의 항목의 무결성과 구조를 검토합니다.

4.     형상관리 시스템의 항목의 완전성, 정확성, 일관성을 확인합니다.

n  형상관리 시스템의 내용의 완전성, 정확성, 일관성은 계획에서 말하는 요구사항과 승인된 변경 요청의 결정을 기반으로 합니다.

5.     적용할 수 있는 형상 관리 기준과 절차의 준수를 확인합니다.

6.     종료를 위해 감사로부터 작업 항목을 추적합니다.


% 오타 및 잘못된 내용이 있으면 말씀 부탁드립니다. 


출처 : http://www.sei.cmu.edu/reports/10tr033.pdf



공유하기

facebook twitter kakaoTalk kakaostory naver band