다섯 살도 알 수 있게 · SW공학
소프트웨어 형상관리(SCM)가 뭐예요?
형상관리를, 원고의 모든 판을 번호 매겨 지키는 보관 서가 이야기로 풀어봤어요.
작가·편집장·교정자가 같은 원고를 각자 고쳤어요.어느 게 최신판인지 아무도 몰라요.
덮어쓰면 남의 수정이 사라져요.나중에 저장한 사람이, 앞사람 수정을 지워버려요.
형상관리(SCM)는 번호 매긴 보관 서가예요.예전 판이 필요하면, 그 판 번호 칸에서 그대로 꺼내 쓰면 돼요.
버전 번호 매기기모든 판에 고유 번호를 줘요
변경 이력 남기기누가 뭘 언제 고쳤는지 기록해요
가지치기(브랜치)원본은 두고 복사본에서 실험해요
합치기(병합)실험한 사본을 원본과 하나로 합쳐요
가지치기(브랜치)와 합치기(병합)로 실험해요.원본은 그대로 두고 복사본에서 고쳐 보고, 잘 되면 다시 하나로 합쳐요.
서가가 모든 충돌을 해결해주진 않아요.같은 부분을 동시에 고치면 사람이 직접 조율해야 해요(병합 충돌). 백업·재해복구는 또 다른 이야기예요 → 보관실의 복사본.
한 줄로
형상관리(SCM) = 원고의 모든 판을 번호 매겨 보관하고, 누가 뭘 바꿨는지 기록하며, 실험은 가지쳐서 나중에 합치는 서가.
형상관리는 소프트웨어 산출물(코드·문서·설정)의 변경을 식별하고, 버전을 통제하며, 이력을 추적 가능하게 관리하는 활동이에요. 형상식별·형상통제·형상감사·형상기록관리의 네 활동으로 이뤄지고, Git 같은 버전관리시스템(VCS)이 실무 도구로 쓰여요.
어른들은 이렇게 불러요
- 형상관리(SCM)
Configuration Management - 원고의 모든 판을 지키는 서가. 식별·통제·감사·기록의 네 활동으로 이뤄져요.
- 버전관리(VCS)
Version Control System - 서가를 실제로 운영하는 도구. Git 같은 도구가 대표적이에요.
- 베이스라인
Baseline - 공식적으로 확정한 판. 이후 변경은 전부 이 기준과 비교해요.
- 브랜치
Branch - 실험용 사본이 갈라져 나온 가지. 원본을 건드리지 않고 따로 고쳐 봐요.
- 병합(merge)
Merge - 실험이 끝나면 다시 합치는 일. 병합이 자동 배포까지 이어지면 → 서고 자체가 운영 기준이 되는 방식.
- 롤백(rollback)
Rollback - 예전 판을 그대로 꺼내 쓰는 일. 새 판에 문제가 생기면 이전 칸으로 되돌려요 → SRE 분야의 되돌리기.
- 형상통제위원회(CCB)
Change Control Board - 어떤 변경을 받아들일지 결정하는 모임. 중요한 변경은 아무나 서가에 바로 꽂지 못해요.
- 형상감사
Configuration Audit - 서가의 판이 승인된 문서·요구와 맞는지 확인하는 일. 감리가 점검하는 항목 중 하나예요 → 출간 과정을 곁에서 살피는 검수관.
다음 이야기
자동 교정 기계 돌보기 →