지속적 전달 성숙도 모형이란?

지속적 전달 성숙도 모델은 지속적 통합, 전달 및 배포(CI/CD)를 도입하고 구현하는 과정의 진행 상황을 평가할 프레임워크를 제공합니다.

일반적으로 성숙도 모델에서 CI/CD는 조직 문화, 배포 프로세스, 테스트, 보고 또는 피드백 등의 요소로 구분됩니다. 이 모델은 요소별로 기본적 초보 지식에서 전문 지식까지 아우르는 성숙도 수준과 관련된 관행 및 행동 양식을 설명합니다.

예를 들어, CI/CD를 처음 사용할 경우 가장 먼저 모든 코드가 소스 관리 시스템에 있는지 확인하고, 모든 팀원이 변경 사항을 정기적으로 커밋하도록 장려하며, 자동화된 유닛 테스트 작성을 시작해야 합니다.

CI/CD 여정의 초기 단계에 있는 팀은 일반적으로 몇 주간의 테스트를 거쳐 변경 사항을 수동으로 릴리스합니다. 하지만 특정 날짜에 정기적으로 릴리스하는 것을 목표로 할 때 안정적이고 예측 가능한 프로세스를 갖추고, 이후 해당 프로세스를 개선하고 자동화하는 데 집중할 수 있습니다.

기본적 틀이 마련된 후에는 자동화된 테스트를 확장하고, 운영 팀과 협력을 통해 사전 프로덕션 환경을 생성함으로써 파이프라인의 첫 단계를 자동화할 수 있습니다.

파이프라인을 지속적으로 구축하는 동안 팀은 다른 부서와 더 긴밀하게 협력하며 소프트웨어 제공을 위한 보다 큰 책임을 맡게 됩니다. 따라서 프로덕션 환경에서 소프트웨어가 작동하는 방식을 가시적으로 확인할 수 있어야 하며, 조직의 다른 부서에서도 해당 접근 방식이 도입되어야 합니다.

초기 단계에서 이러한 요소의 기반을 닦으면 훨씬 쉽게 개발을 지속하는 동시에 기술적 문제를 해결할 수 있습니다. 각 성숙도 수준에 명시된 모든 관행은 빠르고 안정적이며 반복 가능한 릴리스 프로세스 구축하는 데 도움이 되며, 해당 프로세스는 변경 사항에 대한 신속한 피드백을 제공합니다.

조직에 따라 다르지만, 최종 목표는 하루 이내에 변경 사항을 배포하는 것일 수 있습니다(중간 또는 고급 수준). 혹은 파이프라인의 모든 단계를 성공적으로 거치면 업데이트가 전달되는 지속적 배포의 달성이 목표일 수도 있습니다. 또한 프로덕션 단계의 지속적 피드백을 활용하여 가설 기반의 개발 과정에 정보를 제공할 수도 있습니다(전문가 수준).

지속적 전달 성숙도 모델을 활용하면 CI/CD를 통해 달성하려는 목표에 대한 논의가 촉진되며, 다양한 요소 구현의 단계별 접근 방식을 계획하는 데 도움이 됩니다.

달성 가능한 목표를 중심으로 파이프라인을 점진적으로 구축한다면 프로세스를 더욱 효율적으로 관리하고, 지금까지 수행된 작업을 검토하여 교훈을 얻을 수 있습니다.

각 요소와 관련한 팀의 진행 상황을 도식화함으로써 다음 단계로 나아가기 전 개선을 위해 집중해야 할 영역을 파악할 수 있습니다. 마지막으로, 비즈니스 이해 관계자에게 성숙도 모델을 공유하면 전문가 수준에 도달하지 않아도 합리적 기대치를 설정하고 CI/CD의 이점을 설명하는 데 도움이 됩니다.