PMDEXIT 프로젝트 용어사전

코드 프리즈 시점 잡기 - 형상 동결, 검수 빌드, 핫픽스 예외 창

“커밋만 막으면 동결이 아니다”

검수코드 프리즈형상 동결검수 빌드

유저시험과 인수시험 주에 커밋이 섞이면 검수 조서가 흔들려, 코드 프리즈 시점을 잡으시는 현장이 많습니다. 시나리오를 도는 동안 화면과 기준 데이터가 바뀌면 결함인지 새 기능인지가 갈리기 때문이죠. 하지만 개발 브랜치만 잠그고 설정 파일, 코드성 데이터, 배치 정의까지 같은 시각에 안 묶으면 조서의 화면과 운영 후보본이 어긋납니다. 이번 포스팅에서는 동결 시각과 대상 목록, 검수 빌드 태그, 핫픽스 예외 창, 해제 조건을 현장 칸으로 자세히 다뤄보도록 하겠습니다. 검수 주에 빌드가 매일 바뀌어 싸인이 막히신다면 정지와 동결을 가르는 데 도움이 될 거예요.

칸브랜치 잠금이 보여주는 것프리즈가 받아야 하는 것
대상개발 브랜치 푸시 금지소스, 설정, 코드성 데이터, 배치, 스텁
분모저장소의 최신 커밋태그로 찍힌 검수 빌드 해시
예외급한 수정 메신저범위, 재시험, 승인, 롤백이 있는 핫픽스 창
기록잠금 공지 한 줄변경 결정, 예외 번호, 해제 시각
인도다시 열린 헤드싸인된 태그, 남은 백로그 이관
브랜치 잠금과 코드 프리즈가 받는 칸

개발 브랜치를 잠그면 코드 프리즈가 된 걸까?

아닙니다. 브랜치 잠금은 커밋을 막는 스위치이고, 프리즈는 검수가 볼 형상 묶음을 기준선으로 고정하는 결정이죠. 대상 목록과 빌드 태그가 없으면 그 잠금은 개발 편의에 가깝습니다.

미국 프로젝트관리협회(PMI) 용어집에서 기준선(baseline)은 공식 변경통제를 거쳐야만 고칠 수 있는, 승인된 작업 산출물의 판입니다. 비교의 분모가 그 판이죠.

현장에서 흔히 하는 일은 개발 브랜치에 푸시를 막는 일입니다. 푸시가 멈추면 저장소는 고요해 보이지만, 시험 서버의 설정, 배치 정의, 코드성 마스터는 따로 움직이기도 합니다.

조서가 가리키는 화면과 저장소의 머리가 다른 날이 반복되면, 그 잠금은 프리즈가 아닙니다. IEEE 828-2012는 형상관리에 항목 식별, 변경 통제, 상태 기록과 함께 소프트웨어 빌드와 릴리스 공학을 넣습니다.

2023년 3월 30일 이후 이 표준은 비활성 예비(Inactive-Reserved) 상태라 계약 조항으로 복사할 필요는 없고, 취지만 현장에 남기면 됩니다. 빌드와 릴리스가 빠진 잠금은 개발자의 손만 묶은 셈이죠.

변경관리 창구가 없는 잠금은, 급한 수정이 메신저로 새어 나가기 쉽습니다. 프리즈 한 장의 첫 줄은 잠금 시각이 아니라, 무엇을 같은 판으로 묶었는지입니다.

무엇을 같은 시각에 동결해야 할까?

소스만이 아닙니다. 실행에 영향을 주는 설정, 코드성 데이터, 배치와 연계 스텁, 시험 데이터 스냅샷을 같은 시각에 묶습니다. 빠진 칸은 검수 중에 조용히 바뀌는 구멍이죠.

국제표준 ISO/IEC/IEEE 12207:2026은 형상항목을 하드웨어나 소프트웨어, 그에 딸린 정보와 데이터의 묶음으로 봅니다. 원문을 붙여 넣을 필요는 없죠.

현장에 옮기면 소스가 전부가 아니라는 뜻입니다. 화면 로직은 그대로인데 요율 테이블이 바뀌면 정산 시나리오가 깨집니다.

배치 크론이 바뀌면 마감 시각이 조서와 어긋나죠. 연계 스텁을 실연계로 슬쩍 바꾸면 타임아웃이 갑자기 납니다.

그래서 동결 목록은 저장소 경로만이 아닙니다. 설정 파일과 시크릿을 뺀 환경 값, 코드성 마스터, 배치 정의, 연계 스텁 버전, 시험 데이터 스냅샷 시각.

이 다섯이 한 장의 같은 칸에 있어야 합니다. 과학기술정보통신부 고시 소프트웨어사업 계약 및 관리감독에 관한 지침(제2023-15호, 2023년 5월 15일 시행)은 사업 성과물과 산출물의 형상, 문서를 어떻게 관리할지 구체적으로 제시하라고 요구하는 취지입니다.

공공 구축이 아니어도 목록이 없는 프리즈는 구호에 가깝죠. WBS 시험 단계 앞에 동결 산출물 한 줄을 두지 않으면, 그 주는 커밋 금지 구호만 남습니다.

구호는 주간보고에 적히고, 설정은 밤에 바뀝니다.

검수 빌드 태그와 최신 커밋은 같은 칸일까?

같은 칸이 아닙니다. 검수가 싸인하는 대상은 태그로 찍힌 빌드이고, 저장소의 최신 커밋은 그 다음 후보일 수 있죠. 태그 없는 최신은 조서의 분모가 매일 바뀐다는 뜻입니다.

검증(Validation)이 묻는 것은 이 시스템이 합의한 쓰임에 맞는가입니다. 그 물음은 움직이는 헤드가 아니라, 고정된 빌드를 전제로 하죠.

태그 없이 매일 최신을 올리면, 어제 실패했던 시나리오가 오늘 통과해도 고친 건지 다른 본인지가 안 남습니다. QA vs QC가 매주 올리는 결함 건수는 그 분모가 같아야 비교가 됩니다.

분모가 바뀌면 조치는 숫자만 예쁘고 재현은 불가능하죠. PMI 용어집에서 변경통제는 산출물과 기준선에 대한 수정을 식별, 기록, 승인 또는 거절하는 과정입니다.

검수 주에 태그를 안 찍고 핫픽스를 머지하면, 그 머지는 기록 없는 수정입니다. 기록 없는 수정은 나중 분쟁에서 어느 본을 인도했는지 증명하지 못합니다.

시험 환경 URL 옆에 빌드 해시와 태그 이름을 붙여 두세요. 조서 표지에도 같은 문자열을 복사합니다.

문자열이 다르면 그 주의 시험은 다른 제품을 본 겁니다. 다른 제품을 본 싸인은 다음 주에 다시 받아야 합니다.

핫픽스는 프리즈를 깨는 일일까?

예외 창이 없는 핫픽스는 프리즈를 깨는 일입니다. 창이 있으면 깨는 일이 아니라, 좁힌 변경통제로 한 건을 통과시키는 일이죠. 창 없이 머지하면 그 주는 이미 프리즈가 아닙니다.

미국 국립표준기술연구소(NIST) SP 800-53 Rev. 5의 CM-3는 형상 변경의 유형을 정하고, 제안된 변경을 검토해 승인 또는 거절하며, 결정을 기록하고, 승인된 것만 구현하며, 기록을 남기고, 활동을 감시하라고 적습니다.

통제 요소(형상통제위원회 등)가 정해진 주기나 조건에서 감독하도록 두죠. 같은 가문의 강화 항목 CM-3(8)는 조직이 정한 상황에서 구성 변경을 막거나 제한하라고 합니다.

검수 주, 오픈 창, 장애 대응 중이 그 상황에 해당합니다. 제한이 곧 영구 정지는 아닙니다.

막을 것과 예외로 통과시킬 것을 나눠 적으라는 뜻이죠. 현장에 옮기면 핫픽스 창은 네 칸입니다.

대상 범위(파일이나 화면), 재시험 시나리오, 승인 주체, 실패 시 롤백 빌드. 네 칸이 없는 긴급 수정은 메신저 배포죠.

CM-3(2)의 취지는 변경을 최종 반영하기 전에 시험하고 확인하고 문서로 남기라는 쪽입니다. 치명 결함 한 건을 고치려고 주변 화면 세 개를 같이 고치면, 그 세 개는 검수 분모를 흔듭니다.

Risk(위험) 대장에는 예외 창을 연 건을 예견이 아니라 이미 열린 변경으로 적습니다. 예견으로 적으면 다음 주 회의에서 없던 일이 됩니다.

프리즈는 언제 풀고 무엇을 남길까?

검수 싸인과 잔여 결함 한도가 같은 장에 모인 뒤에 풉니다. 풀기만 하고 해제한 시각, 다음 태그, 남은 핫픽스 목록을 안 남기면 다음 주는 다시 매일 최신이 됩니다.

프리즈를 시험 시작 전날에 걸고, 싸인이 끝나기 전에 푸는 현장이 있습니다. 남은 결함을 밤사이에 고치려는 선의죠.

선의가 분모를 바꿉니다. 잔여를 조건부 통과로 남길 때는 담당, 기한, 재시험 창을 변경관리 한 장에 붙입니다.

붙이지 않은 잔여는 프리즈 해제의 핑계가 됩니다. 안정화 계획 주에 들어갈 수정과, 검수 본에 넣을 수정을 갈라 두세요.

검수 본에 넣을 것은 예외 창을 통과한 건만입니다. 안정화로 넘길 것은 운영 백로그죠.

WBS에는 동결 시작, 검수 빌드 확정, 예외 창, 해제 예정, 다음 태그 다섯 줄을 시험 단계 안에 넣습니다. 해제 예정만 있고 다음 태그가 없으면, 개발은 헤드를 다시 올리기 시작합니다.

올린 헤드는 인도 본이 아닙니다. 인도 본은 싸인된 태그입니다.

태그 문자열, 빌드 해시, 동결 대상 목록, 예외로 통과한 변경 번호. 이 네 줄이 완료 철의 형상 칸입니다.

네 줄이 비면 인계서는 최신이라는 말만 남깁니다.

자주 묻는 것

유저시험 시작 전날에 프리즈를 걸면 충분할까
전날 잠금만으로는 부족합니다. 그날 올린 설정과 코드성 데이터가 시험 환경에 반영됐는지, 태그 문자열이 조서 표지와 같은지를 같은 시각에 확인하세요. 반영이 안 된 잠금은 저장소만 멈춘 상태입니다. 환경이 따라오지 않으면 시나리오는 어제 본을 도는 셈입니다.
치명 결함을 고치려고 프리즈 중에 머지해도 되나
예외 창의 네 칸이 있을 때만 의미가 있습니다. 범위, 재시험 시나리오, 승인 주체, 롤백 빌드가 빠지면 그 머지는 프리즈를 깨는 일입니다. 주변 화면까지 같이 고치면 검수 분모가 바뀌므로, 고치는 칸을 결함이 막은 시나리오로 좁히세요.
애자일 스프린트에도 코드 프리즈가 필요한가
고정계약 검수 창이 있으면 필요합니다. 스프린트마다 데모하는 일과, 인수 싸인의 분모를 고정하는 일은 다른 칸이죠. 데모는 움직이는 후보를 보여 주고, 검수는 태그 본을 기준으로 판정합니다. 두 칸을 한 브랜치로 쓰면 데모에서 본 화면이 조서에 없습니다.
프리즈 해제 후 바로 다음 스프린트 커밋을 올려도 되나
싸인된 태그를 인도 본으로 남겨 둔 뒤에 올리세요. 해제와 동시에 헤드를 올리면 운영 후보본이 사라집니다. 다음 태그를 일정표에 박고, 검수 본은 보호 브랜치나 태그로 읽기 전용을 유지하세요.

관련 용어

출처

다른 가이드