형상관리(Configuration Management)는 소프트웨어에 대한 변경을 관리하기 위해 개발된 일련의 활동이다. 개발 과정에서 일어나는 변경이나 수정 사항을 체계적으로 관리하고 통제하며, 목적은 변경으로 인한 전체 비용을 최소화하고 소프트웨어의 현재 사용자에게 미치는 방해를 최소화하는 것이다. 소스 코드가 수정될 때마다 어떤 부분이 어떻게 바뀌었는지 기록하고 이전 버전으로 되돌릴 수 있게 관리하는 것이 대표적인 모습이며, 이를 통해 개발 비용 절감과 개발 과정의 안정성을 확보한다.
형상관리의 관리 항목은 기술적 산출물이다. 요구사항 정의 단계의 문서, 개발 단계의 프로그램과 설계 문서, 유지보수 단계에서 발생한 변경 사항이 모두 형상 항목에 포함된다. 반면 개발 비용은 프로젝트 관리의 재무 항목이고, 개발 인력은 인적 자원 관리의 대상이므로 형상관리의 관리 항목이 아니다. 즉 문서와 코드, 변경 이력은 관리하고, 비용과 사람은 관리하지 않는다.
형상관리에서 버전 제어 기술이 가장 중요한 도구 중 하나다. 형상관리는 개발 전 생명주기 동안 생성되는 산출물의 변경 사항을 식별·추적·통제해 시스템의 무결성과 일관성을 유지한다. 이때 위험 관리는 불확실성에 대응하고, 프로젝트 관리는 일정과 자원을 조율하며, 유지보수 관리는 변경 수행 과정 전반을 다루는 별개의 활동이고, 책임 프로그래머 팀은 한 명의 책임 프로그래머가 주도하는 개발 조직의 한 유형일 뿐 형상관리를 위한 팀이 아니다.
예제
시험에서는 '변경으로 인한 전체 비용 최소화와 사용자에 대한 최소한의 방해를 보증하는 활동은?'이라는 정의형 문제의 답으로 형상관리를 고른다. '형상관리의 관리 항목으로 거리가 먼 것은?'에서는 개발 비용이나 개발 인력이 답으로 나온다. '형상관리에 관한 설명으로 거리가 먼 것은?'에서는 책임 프로그래머 팀이 형상관리용 팀이 아니라는 점을 노린 보기가 등장한다.
대표 기출 3문항
형상관리(configuration management)의 관리 항목으로 거리가 먼 것은?
정의 단계의 문서
개발 단계의 문서와 프로그램
유지보수 단계의 변경 사항
소프트웨어 개발 비용
정답과 해설 보기
정답 ④ · 형상관리의 관리 항목에 해당하지 않는 것을 찾는 문제이다. 형상관리는 소프트웨어 생명주기 전 단계에 걸쳐 문서, 코드 등 기술적 산출물의 변경 이력을 체계적으로 추적하고 통제하는 활동이다.
형상관리는 산출물의 변경 이력을 관리하므로 개발 비용이라는 경제적 요소는 관리 대상이 아닌 ④가 틀렸다.
소프트웨어에 대한 변경을 관리하기 위해 개발된 일련의 활동을 나타내며 이런 변경이 전체 비용이 최소화되고 최소한의 방해가 소프트웨어의 현 사용자에게 야기되도록 보증하는 것을 목적으로 하는 것은?
위험 관리
형상 관리
프로젝트 관리
유지보수 관리
정답과 해설 보기
정답 ② · 소프트웨어 변경을 관리하기 위한 일련의 활동을 묻는 문제이다. 형상 관리는 소프트웨어 개발 과정에서 발생하는 변경 사항을 체계적으로 추적하고 통제하는 활동으로, 변경으로 인한 전체 비용을 최소화하고 현재 사용자에게 미치는 방해를 최소화하는 것을 목적으로 한다.
소프트웨어 변경 시 비용 최소화 및 사용자 방해 최소화를 목표로 하는 활동은 형상 관리(Configuration Management)이다.
소프트웨어 형상 관리(Configuration Managment)란?
소프트웨어 구성 항목을 관리하는 것
개발 과정의 변화되는 사항을 관리하는 것
테스트 과정에서 소프트웨어를 통합하는 것
개발 인력을 관리하는 것
정답과 해설 보기
정답 ② · 소프트웨어 형상 관리(SCM, Software Configuration Management)는 소프트웨어 개발의 전 생명 주기 동안 발생하는 각종 산출물(코드, 문서 등)의 변경 사항을 체계적으로 추적하고 통제하는 활동입니다. 소프트웨어의 구성 항목을 식별하고 버전을 관리하며, 개발 과정에서 변화되는 사항을 추적하고 관리하여 시스템의 무결성과 일관성을 유지하는 것이 핵심 목적입니다.
형상 관리는 개발 전 주기 동안 발생하는 산출물의 변경 사항을 추적·통제하여 시스템의 무결성을 유지하는 활동이다.