이롭게 현명하게
[Git] 형상 관리 / 형상 관리 구성 본문
목차
형상 식별
형상 통제
형상 상태 보고
형상 감사
형상 관리 구성원
[ 1. 형상 식별 (configuration identification) ]
프로젝트를 계획할 때 형상 관리 계획을 근거로 형상 관리의 대상이 무엇인지 식별하는 과정이다.
식별된 형상 항목은 유일하게 식별할 수 있도록 형상 항목의 이름, 작성자, 생성 날짜, 문서번호, 다른 형상 항목과의 관계 등과 함께 관리 목록의 번호를 부여하여 메타 데이터 베이스에 저장해서 변경관리의 대상으로 삼는다.
여기서 형상 항목은 개발 단계에서 생산되거나 사용되는 작업이나 산출물이다.
실행파일, 문서 형식의 산출물, 원시 코드, 개발 이력,개발 도구 등이 이에 해당한다.
형상 식별은 형상 항목 선정, 형상 식별자 규칙 선정, 베이스라인 기준 선정으로 세분화할 수 있다.
<형상 항목 선정>
형상 관리를 하려면 가장 먼저 어떤 항목을 관리 대상으로 할 것인지 결정해야 한다.
형상 항목은 개발 프로세스마다 선정 기준이 다르고, 형상 항목의 대상을 고르는 범위도 프로젝트의 목적과 조직의 관리 범위 표준에 따라 달라진다.
따라서 제품 개발 초기 단계에 관리 방법이나 변경에 대한 통제 여부에 따라 산출물을 구분하고, 이중 변경에 대한 통제가 필요한 산출물을 선정한다.
<형상 식별자 규칙 선정>
형상 식별자란 어떤 프로젝트에서 사용되는 파일인지, 어떤 내용의 문서인지, 버전이 어떻게 되는지를 같은 작업을 하는 소속 팀원들끼리 한눈에 알아볼 수 있도록 이름을 작성하는 규칙이다.
<베이스라인 기준 선정>
기준선 (Baseline) : 각 형상 항목들의 기술적 통제 시점으로 모든 변화를 통제하는 시점의 기준을 말한다.
예시 ) 기능적 기준선, 설계 기준선 등
각 형상 항목들의 기술적 통제시점(Technical Control Point)으로 개발과정의 각 단계별 산출물을 검토, 평가, 조정, 처리 등의 변화를 통제하는 시점의 기준이다.
평상 통제 위원회에서 고객 또는 개발자 등의 변경 의뢰를 심사한 후 문서 통일 이후 프로젝트를 진행한다.
개발의 중간 목표이며 프로젝트의 관리를 하여 기준선을 활용한다.
기준선을 사용하는 이유는 산출물 적용과 활용의 판단을 제시하고, 고객으로부터 승인된 소프트웨어 생명주기의 산출물이 나온다. 또한 기준선을 확정해야지 형상관리가 가능하다.
<기준선 종류>
기능적 기준선: 프로젝트 수행 계획서, 요구사항 관리대장, SW 기능 구조도
분배적 기준선: 엔티티 정의서, 데이터 흐름도, 용어집
설계 기준선: 인터페이스, ERD, UI 정의서
시험 기준선: 소스 코드, 단위 테스트 관리 대장
제품 기준선: 테스트 계획서/시나리오
운영 기준선: 사용자/운영자 매뉴얼, 최종 산출물
[ 2. 형상 통제 (configuration control) ]
식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선 (Baseline)이 잘 반영될 수 있도록 조정하는 작업으로 형상 항목의 버전과 변경에 대한 판단을 내리는 것
소프트웨어 개발에서 가장 어려운 부분 중의 하나가 사용자 요구 사항이 자주 변경되는 것이다.
사용자의 요구사항의 변경되면 개발자도 개발하던 것을 수정해야 하기 때문이다.
변경에 대한 요구를 무조건 다 수용하게 된다면, 소프트웨어 개발이 매끄럽게 진행되지는 못할 것이다.
따라서 변경을 위해서는 변경하고자 하는 요구를 정해진 양식에 맞추어 작성하고 형상 통제 위원회(CCB: Configuration Control Board)에서는 그 변경 요청을 수용할 것인지, 거절할 것인지 결정하여 결과를 통보해준다. 이처럼 형상 목록의 변경 요구를 검토 및 승인하여 현재의 소프트웨어 기준선에 반영될 수 있도록 통제하는 일련의 과정을 형상 통제(configuration control)라 한다.
형상 통제는 변경 요청, 변경 심사, 변경 실시 변경 확인 등으로 세분화할 수 있다.
<변경 요청>
변경 사항이 생겼다고 하여 즉각적으로 변경할 수는 없다.
따라서 고객이나 개발자는 변경 사항이 새겼을 때 변경 요청서를 작성하여 변경 관리 담당자에게 제출한다.
<변경 심사>
고객이나 개발자가 작성한 변경 요청서를 받으면 형상 통제 위원회는 이것을 검토하여 변경 요청을 받아들일지, 거절할 것인지 결정한다.
변경이 가능할 경우 변경사항을 수행하고, 변경 사항이 거절될 경우 자세한 이유와 함께 고객에게 전달한다.
이런 결정을 위해 형상 통제 위원회가 검토해야 할 항목들은 변경 이유의 타당성, 변경 범위, 변경이 미치는 영향(기간, 예산, 인력 등), 변경 실시이다.
변경이 가능했다면 변경 작업을 수행하고 변경을 위해서 저장소에 보관 중인 해당 항목을 가져와야 한다(체크아웃).
그리고 체크아웃된 형상 항목을 변경한다.
변경 시 만들어지는 결과물에 대해서는 이력 관리가 이루어져야 한다.
<변경 확인>
변경이 완료되면 개정 이력들과 함께 새로운 버전 번호가 부여된다. 형상통제위원회는 변경된 내역을 확인 및 승인 후 체크인한다.
그리고 저장소에 새로이 저장된 변경 항목은 다시 베이스라인으로 수립된다.
[ 3. 형상 상태 보고 (configuration status reporting) ]
기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업으로 요구대로 형상 항목의 변경이 제대로 이뤄졌는지 살펴보는 것
형상 항목의 개발 상태에 대한 가시성을 통해 형상을 효율적으로 관리하기 위하여 베이스라인으로 설정된 형상 항목의 구조와 변경 상태를 기록하고, 관련된 사람들에게 보고하는 것을 형상 상태 보고(configuration status reporting)라 한다. 이때 보고하는 형상 상태 보고서는 베이스라인의 모든 변경에 대한 추적을 목적으로 하며, 변경 요청 상태 형상 담당자가 작성하여 상위 관리자에게 보고한다.
형상 상태 보고서에는
• 프로젝트에서의 변경 횟수
• 최근 소프트웨어 항목의 버전, 릴리스 식별자, 릴리스 횟수, 릴리스 간의 비교 내용
• 베이스라인의 상태
• 변경 제어 상태
• 형상통제위원회 활동 내역
과 같은 내용이 있어야한다.
[ 4. 형상 감사(configuration audit) ]
형상의 식별, 통제 , 감사 작업의 결과를 기록/ 관리하고 보고서를 작성하는 작업으로 변경된 형상 항목을 관계된 사람들에게 알리는 것
감사 : 일을 처리하는데 문제가 있는지 없는지 확인하는 활동
형상 감사(configuration audit)도 형상 관리 계획서대로 형상 관리가 진행되고 있는지, 형상 항목의 변경이 요구 사항에 맞도록 제대로 이뤄졌는지 등을 살펴보는 활동이라고 할 수 있다. 따라서 단계별 베이스라인의 적정성과 무결성을 평가하고 승인한다. 형상 감사는 형상 담당자에 의해 실시되며 형상 감사 수행 전에 형상 관리 계획서 상에 형상 감사를 위한 계획이 수립되어 있어야 한다.
형상 감사는 감사 일정 및 절차 정의, 정해진 베이스라인에 따른 감사 실시, 감사 보고서 작성으로 세분화할 수 있고 다음과 같은 내용을 중심으로 검증한다.
• 승인된 변경 요청이 제대로 반영되었는지 검증
• 승인되지 않은 내용이 혹시 반영되었는지 검증
• 승인된 변경과 관련된 항목들이 갱신되었는지 검증
[ 형상 관리 구성원 ]
역할 | 책임 |
프로젝트 관리자 | 형상 관리 계획서를 승인하고 형상 관리가 적절히 수행될수 있도록 지원/감독 |
형상 관리 책임자 | - 프로젝트 계획 수립 시 해당 프로젝트의 형상 관리 계획 수립 - 형상 관리 활동이 적절히 수행될 수 있도록 지원/감독 - 형상 관리 활동에 대해 프로젝트 관리자와 팀원에게 보고 및 공지 |
형상 관리 담당자 | 형상 관리 책임자와 협조하여 형상관리 계획에 따라 형상관리 활동 수행 |
라이브러리 담당자 | - 시스템의 개발 및 유지보수에 필요한 라이브러리 구축 및 접근 통제 - 형상 관리 계획에 따라 백업 수행 |
형상 관리 위원회(CCB) | - 베이스라인 승인 - 변경요청을 검토하여 변경여부를 결정한다. |
잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊
댓글과 좋아요는 큰 힘이 됩니다!
'Git' 카테고리의 다른 글
[Git] 깃헙에 코드를 올리는 과정 / 깃허브 명령어 (0) | 2022.12.06 |
---|---|
[Git] 깃허브(GitHub)란? (0) | 2022.12.05 |
[Git] Git 설치하기 / Git 설치 / Git 2.38.1 설치 (0) | 2022.11.22 |
[Git] 형상 관리 / 형상 관리 버전 관리 (1) | 2022.11.17 |
[Git] 형상 관리 / 소프트웨어 형상 관리 도구 (2) | 2022.11.16 |