역시 가장 잘 정리되어 있다고 생각되는 Wikipedia에서 Software Configuration Management(SCM)에 관한 자료를 찾아보았습니다. 따라서 본 글의 내용은 Wikipedia 의 내용을 번역하고 더 필요한 내용을 정리한 것입니다. 참고하시기 바랍니다.
Software Configuration Management(SCM)란
SCM은 Revision Control이나 Source control 및 Version Control과 같이 소프트웨어의 변경을 관리하고 작업을 추적하는 것이다. SCM은 버전관리(Revision Control)와 베이스라인 수립(establishment of baselines)를 포함하여 실행하는 것이다.
SCM은 Configuration Management (CM)의 한 부분이므로 우선 CM에 대하여 확인해볼 필요가 있다. CM은 국내에서 형상관리라고 불리우고 있다. CM는 시스템이나 제품의 성능과 기능 및 물리적 특성들을 요구사항(requirements), 설계(design), 기능적인 정보(operational information) 등과 함께 전 생애에서 지속적으로 관리하고 수립하는 것에 초점을 맞추고 있다. 관리 분야에서 제품의 성능이나 기능 및 물리적인 속성들을 요구사항, 설계, 운영 정보 등을 통하여 시스템의 일관성을 수립하고 유지하는 것이다.
특히 SCM은 "누군가 무슨 일을 하였다면, 어떻게 재현할 수 있을까?"에 대한 답을하기 위한 관점을 가지고 있다. 왜냐하면 수 많은 문제들은 결국 증가되는 변경을 제어하고 인식할 수 없기 때문에 해결하기가 어렵다고 보기 때문이다. 이러한 질문의 답은 결국 각 변경간의 차이점을 분석하여 결과를 비교하는 것이라고 볼 수 있다. 따라서 SCM은 복잡한 시스템이 개발되면서 발생하는 다양한 변경사항들을 처리할 수 있도록 구성되어 있다.
이에 따라 최근 형상관리를 넘어 SCM이 각광받고 있으며, 기존의 Revision Control 등과 구분된다.
대표적인 SCM의 개념을 지원 툴은 JIRA 등이 있지만, 보통 SCM은 다양한 툴을 종합하여 구현한다.
'Architecture for Software > Architecture' 카테고리의 다른 글
공개 소프트웨어에 대한 간략한 이해 (8) | 2009.07.28 |
---|---|
간판과 큰 시각화 차트(Kanban Boards and Big Visible Charts) (6) | 2009.07.10 |
소프트웨어와 서비스(Software and Service) (4) | 2009.04.19 |
프로젝트에서 스테이징(Staging)의 의미에 대하여 (4) | 2009.04.12 |
Convention over Configuration(CoC)에 관하여 (7) | 2009.04.04 |