기타

형상관리(SCM) 사용이유 왜 필요한것일까?

태태딩 2019. 9. 17. 12:58
반응형

본문에 들어가기에 앞서 형상관리가 무엇인지에 대해 먼저 알아보아야 할 듯하다.

형상관리란 한마디로 개발과정의 시작부터 끝까지 변하는 모든 사항을 관리하는 작업이라고 할 수 있다.

많은 사람들이 개발자라면 형상관리 도구를 프로젝트에 필수적인 도구라 해서 사용하고 있지만 그 필요성을 제대로 알고 있는 사람은 많지 않을 것이다. 형상관리의 대표적인 도구인  git이나 svn을 한 번쯤 사용해보았을 것이다.  git이나 svn을 사용해보면 알 수 있듯이 단순히 말하자면 변경사항을 체계적으로 관리하는 것이라고 알 수 있다. 소프트웨어 공학론을 공부하지 않는 이상 깊게 알기란 쉽지 않다. 

형상관리의 구성요소로는 4가지로 구분할 수 있는데

형상 식별, 형상 통제, 형상 감사, 형상기록으로 이루어져 있다.

형상식별(Configuration Identification) 시스템의 효율적인 개발관리를 위해 형상항목(SCI)을 정의하고 분류하는 활동
형상통제(Configuration Control) 소프트웨어시스템의 각 베이스라인별로 형상을 설정하고 변경하는 일을 체계적인 절차(변경통제위원회 CCB)에 의해 통제하고 관리하여 결정하는 절차
형상감사(Configuration Audit)

형상 항목이 요구사항에 맞도록 잘 변경되었는지 확인하는 것 FCA와 PCA 가 있다.
소스코드를 검토하는 FCA는 실제 성능이 기능 기준선(Functional Baseline) 및 할당 기준선(Allocated Baseline)에 명시된 요구조건을 충족하는가를 확인하는 절차                        PCA는 검증된 형상품목의 형상이 설계문서와 일치하는지를 판단하고, 제품 기준선(Product Baseline)을 확인하기 위한 절차

형상기록(Configuration Status Accounting) 앞의 3가지 활동을 자료로 수집하고 기록하며, 결과의 내용을 데이타베이스화 하고 원하는 형태로 다양하게 이용할 수 있도록 하는 활동

위와 같은 4가지 요소를 토대로 관리를 하는데 결국 형상관리는 모든 변동사항을 체크하는 것이고 이는 완성도를 높이 고실 수를 줄이기 위해서가 가장 크다.

형상관리 말고도 PMS(프로젝트 관리시스템) 방법론과 사람 돈 진척률 등 프로젝트의 전체적인 사항을 관리하는 시스템 , ITSM(IT Service Management) ITIL(IT Infrastructure Library) 프레임워크를 토대로 서비스를 계획, 제공, 운영, 제어하는 전체적인 활동 시스템, ALM(application Lifecycle Management) 개발의 요구사항 분석에서부터 아키텍처, 변경관리 등 끝까지 모든 과정을 관리 등   다른 것도 존재하는데 이는 무엇의 주목하는지만 다르고 본질적으로는 형상관리와 같다 할 수 있다.

형상관리의 장점

  • 소스코드의 변경이력을 관리할 수 있어서 추적성이 높다.
  • 배포가 편리하다.
  • 여러 사람이 동일한 소스코드를 공유해 개발할 수 있으며 공유할 때 생기는 버전 충돌 문제 등을 해결할 수 있다.
  • 장애 혹은 기능상 필요할 때 이전 버전이나 Baseline으로 소프트웨어를 되돌릴 수 있다.

 

형상관리 사용 이유 요약

  • 가시성의 결핍 : 소프트웨어는 무형물 
  • 통제의 어려움 : 눈에 보이지 않는 상품의 제작은 통제하기 어려움
  • 추적의 어려움 : 프로젝트의 중간 목표들을 연결시키고 개발과정을 추적하기 어려움
  • 감시의 미비 : 가시성과 추적성의 결핍은 프로젝트의 진행을 감시하기 어렵게 함
  • 무절제한 변경 : 통제되지 않고 관리되지 않는 소프트웨어의 무절제한 변경이 발생
반응형