제품 정기 배포 실전 가이드

by Jeff

현대의 소프트웨어 제품은 모바일 앱(iOS, Android), 웹 서비스, 서버 등 여러 컴포넌트로 구성된다. 이때 각 컴포넌트가 제각각의 일정으로 배포된다면, QA팀의 테스트 빈도가 불필요하게 늘어나고 제품의 품질 보장이 어려워질 수 있다. 따라서 정기적인 주기에 맞춰 배포를 통합적으로 관리하는 것이 중요하다.


정기 배포 주기

일반적으로 1~2주 단위 또는 1개월 단위로 정기 배포를 진행한다.

다만, 배포 범위나 처리 역량을 고려해 주기를 조정할 수 있다.

배포할 컴포넌트가 없는 경우에는 해당 차수 배포를 건너뛸 수 있다.


배포 프로세스

서버 배포 → 모니터링 → 클라이언트 배포

- 서버를 먼저 운영 환경에 배포하고 최소 24시간 이상 모니터링한다.

- 이상이 없다면 모바일 앱과 웹 등 클라이언트 배포를 진행한다.

- 백오피스 시스템은 상황에 따라 서버와 동시 배포 여부를 결정할 수 있다.

모든 배포는 QA 검증과 내부 승인 절차를 반드시 통과해야 한다.

앱스토어 심사가 필요한 경우(모바일 앱)는 배포 이후 즉각적인 Rollback이 어렵기 때문에, 더욱 철저한 사전 검증이 필요하다.


비정기 배포

정기 배포 외에도 시장 대응이나 사업적 요구로 인해 비정기 배포가 필요할 수 있다.

그러나 비정기 배포는 상당한 비용과 리스크가 수반되므로 가급적 최소화하는 것이 바람직하다.


핫픽스(Hotfix) 배포

정기/비정기 배포 후 발생한 치명적인 오류를 해결하기 위해 긴급 배포가 필요한 경우 핫픽스를 진행한다.

핫픽스는 해당 이슈만 빠르게 수정 후 최소한의 검증을 거쳐 배포한다.

내부 승인 프로세스는 반드시 준수해야 하며, QA 책임자의 판단하에 진행한다.

심각한 오류가 발생했을 경우 가장 우선적으로 고려해야 할 방법은 안정 버전으로의 Rollback이다.


버전 관리

제품은 컴포넌트 단위뿐 아니라 전체적으로 하나의 대표 버전으로 관리하는 것이 효율적이다.

대표 버전은 제품명-YYMMDD 형식으로 정의한다.

- 예: product-230307

배포 유형별 버전 예시:

- 정기 배포: product-YYMMDD

- 비정기 배포: product-YYMMDD-nonregular

- 핫픽스: product-YYMMDD-hotfix

Jira나 이슈 트래킹 툴에서 해당 대표 버전을 반드시 포함하도록 관리해야 한다.


CROS | 목표와 실행을 하나로 CROS와 함께 빠르게 성장하세요

작가의 이전글IT 조직이라면 누구나 겪는 성과 관리의 함정