복잡한 현대 소프트웨어 개발 환경에서 Value Stream(가치 흐름)을 추적, 관리하려면 상당한 시간과 노력이 들어갑니다. GitLab을 활용하면 이 작업을 효율적으로 수행할 수 있습니다. GitLab은 전체 DevSecOps 플랫폼을 단일 애플리케이션으로 제공합니다. 이에 엔드투엔드 가시성에 필요한 모든 데이터를 GitLab에서 편리하게 볼 수 있습니다. 아울러 GitLab은 향상된 가치 흐름 관련 기능을 지원합니다. 이 기능을 활용하면 더 쉽고 빠르게 Value Stream Management 환경을 구성할 수 있습니다.

GitLab에서는 다양한 대시보드와 세분화된 데이터를 제공합니다. 이로써 고객은 가치 흐름을 다각도로 자세하게 추적하고 관리할 수 있습니다. 이는 소프트웨어 공급을 최적화하고, 고객에게 더 빠르게 가치를 제공하는 데 도움이 됩니다. 이 글에서는 소프트웨어 개발 라이프사이클 전반에 걸쳐 비즈니스 가치를 파악하도록 GitLab의 Value Stream Management 기능을 활용하는 방법을 알아보겠습니다.

GitLab의 Value Stream Management가 제공하는 가치

photo | 인포그랩 GitLab | 인포그랩 GitLab
현재 DevSecOps 상태와 이상적인 DevSecOps 상태 비교. 출처=GitLab

오늘날 소프트웨어 개발, 운영은 대부분 기업에서 선택이 아닌 필수 업무가 됐습니다. 그러나 소프트웨어 개발 프로세스는 기술 발전, 다양한 언어와 생태계, 높은 기대치, 복잡한 요구사항 등으로 인해 날이 갈수록 복잡해지고 있습니다. 이런 환경 속에서 기업은 소프트웨어를 신속하게 자주 배포하며 사용자에게 가치를 빠르게 전달하고, 더 나은 서비스를 제공하도록 요구받습니다. 복잡한 프로세스 속에서 전체 소프트웨어 개발 라이프사이클의 비즈니스 가치를 측정하고 가시화하는 일도 점점 더 어려워지고 있습니다.

GitLab의 Value Stream Management를 활용하면 이 문제를 쉽게 해결할 수 있습니다. Value Stream Management는 아이디어부터 프로덕션까지 소프트웨어 개발 라이프사이클의 전 구간을 파악하고, 여기에 들어가는 노력과 소요 시간을 측정해 이를 시각화하며 인사이트를 주죠. Value Stream Management를 활용하면 프로젝트의 속도, 개발 프로세스의 병목 현상, 불필요한 프로세스 등을 알 수 있습니다. 그 결과, 조직은 막연한 추정치나 직감이 아닌 실제 데이터와 대시보드에 기반해 의사 결정을 내리고, 문제점을 파악할 수 있습니다. 이 내용을 토대로 소프트웨어 개발 라이프사이클도 최적화할 수 있고요.

GitLab Value Stream Analytics 활용

GitLab의 Value Stream Analytics를 활용하면 개발 중 생성된 모든 기록을 저장하는 통합 데이터 모델을 바탕으로 프로세스와 가치 제공 메트릭을 가시화할 수 있습니다. 또한 백엔드 프로세스를 사용해 세 가지 핵심 객체를 포함한 스테이지별 데이터를 수집할 수 있습니다.

  • Value Streams - 스테이지 목록
  • Value Stream stage - 시작과 종료 이벤트
  • Value Stream stage events - 이벤트가 발생하는 구성 요소들(사용할 수 있는 이벤트 목록)
photo | 인포그랩 GitLab | 인포그랩 GitLab
GitLab Value Stream Analytics 화면. 출처=GitLab

스택형 차트를 보면 스테이지별로 소요된 시간과 기여한 방식, 시간에 따른 변화를 쉽게 이해할 수 있습니다. 차트의 각 영역은 스테이지를 나타냅니다. 각 스테이지의 그래프를 비교해 ‘스테이지별로 시간이 얼마나 걸렸고, 총시간에 얼마나 기여했는지’ 파악할 수 있습니다.

이 차트는 Value Stream Analytics Overview 페이지(왼쪽 사이드바에서 Analyze > Value Stream Analytics 선택)에서 확인할 수 있습니다. 해당 페이지에는 4가지 항목이 있습니다.

  1. 데이터 필터 텍스트 상자(Data filter text box) - Overview 페이지 상단에서 데이터 필터를 사용해 특정 기준 또는 날짜 범위와 일치하는 데이터를 볼 수 있습니다.
  2. 스테이지 내비게이션 바(Stage navigation bar) - 데이터 필터 텍스트 상자 아래의 스테이지 내비게이션 바를 사용해 특정 스테이지에서 일어난 일을 파악하고, 스테이지 시간을 늦추는 항목(Issue/MR)을 확인할 수 있습니다.
  3. 핵심 메트릭 타일(Key metrics tiles) - 스트림 데이터 요약이 핵심 메트릭 타일의 차트 위에 표시됩니다.
  4. 오버뷰 차트(Overview charts) - 새로 추가된 총시간 차트(Total Time Chart)와 유형별 작업(Task by type) 차트입니다.

이뿐만 아니라 총시간 차트는 Value Streams 대시보드의 조직 수준 보기부터 각 프로젝트의 성과를 드릴 다운1 하는 것까지 하향식 최적화 흐름을 간소화합니다.

차트 데이터는 ‘선택한 날짜 범위 안에서 완료된 항목에 제한된다’는 점을 유의해야 합니다. 또한 ‘스테이지 이벤트’는 없을 수도 있습니다. 이 차트에는 누락된 데이터를 나타내는 점선이 표시됩니다. 이러한 표시는 워크스트림의 컨텍스트 정보를 추가하며 일반적으로 데이터 중단을 나타내지 않습니다. 특정 스테이지에서 데이터가 없으면 스테이지 선은 평평해집니다.

1.드릴 다운: 문제를 여럿으로 세분화하면서 분석하는 기법

GitLab Value Streams 대시보드 활용

Value Streams 대시보드의 중앙 집중식 UI는 모든 이해관계자가 조직과 관련 있는 동일한 메트릭 모음에 액세스하고 이를 볼 수 있는 단일 진실 공급원(Single Source Of Truth·SSOT) 역할을 합니다. SSOT는 일관성을 보장하고 불일치한 데이터를 제거하며 의사 결정과 분석을 위해 신뢰할 수 있는 통합 데이터 소스를 제공합니다.

photo | 인포그랩 GitLab | 인포그랩 GitLab
GitLab Value Streams 대시보드의 DORA 메트릭 비교 패널. 출처=GitLab

Value Streams 대시보드는 Value Stream 라이프사이클 메트릭, DORA 메트릭, 취약점 메트릭을 벤치마킹해 소프트웨어 배포 워크플로를 지속적으로 개선하는 데 중점을 두었습니다. 주요 기능 중 하나는 이번달, 지난달, 지난 180일 동안 그룹 또는 프로젝트의 메트릭을 표시하는 새로운 DevSecOps 메트릭 비교 패널입니다. 모든 조직에는 각각 특정 프로세스나 전문 용어를 사용하는 고유한 하위 그룹과 프로젝트가 있습니다. 사용자는 하위 그룹이나 프로젝트의 패널을 포함해 대시보드를 맞춤화할 수 있습니다. 이로써 대시보드를 조직에 맞게 유연하게 구성할 수 있죠.

photo | 인포그랩 GitLab | 인포그랩 GitLab
GitLab Value Streams 대시보드의 메트릭 비교 패널. 출처=GitLab

이러한 대시보드의 직관적인 인터페이스는 학습 곡선을 줄이고 광범위한 교육이 필요하지 않습니다. 관리자는 비교 패널로 팀 개선 사항을 추적하고 시간에 따른 패턴이나 트렌드를 쉽게 찾을 수 있습니다. 데이터는 간단명료하게 표시돼 메트릭의 중요성을 빠르게 이해할 수 있습니다. 또한 사용자는 각 메트릭에서 세부 보고서를 드릴 다운해 기본 데이터를 조사하고, 팀 성과에 영향을 미치는 요인을 파악하며, 실행 가능한 인사이트를 확인할 수 있습니다. 이제 누구나 GitLab의 통합 데이터 저장 기능을 활용하여 시간과 리소스를 절약하고, 생산성을 극대화할 수 있습니다.

GitLab Value Stream Management 작동 방식

GitLab의 Value Stream Management가 ‘소프트웨어 개발 라이프사이클을 최적화하도록 지원하는 방식’을 3단계로 나눠 살펴보겠습니다.

1단계: 조직 전체의 ‘엔드투엔드 뷰’ 확보하고, 집중할 가치 흐름 파악하기

photo | 인포그랩 GitLab | 인포그랩 GitLab
GitLab Value Stream Analytics 대시보드 - 조직 전체. 출처=GitLab

Value Streams 대시보드는 조직의 모든 프로젝트의 소프트웨어 개발 라이프사이클 메트릭을 보고 비교하는 ‘중앙 집중식 뷰’를 지원합니다. 이 대시보드를 활용하면 소프트웨어 개발 라이프사이클 스트림에서 성과가 저조하며, 스테이지와 사이클 타임이 더 긴 프로젝트 또는 팀을 확인할 수 있습니다. 또한 이는 가장 큰 가치 기여자가 있는 곳을 보여주는데요. 이로써 잘 작동하는 것과 그렇지 않은 것을 확인하고 배울 수 있죠. 이 정보로 활동의 우선순위를 정하고, ‘어디에 시간을 투자하는 게 효율적인지’ 파악할 수 있습니다. 이러한 중앙 집중식 UI는 모든 이해관계자가 동일한 메트릭 모음에 액세스하고, 이를 보며 분석하는 조직의 SSOT 역할을 합니다.

2단계: 특정 프로젝트를 드릴 다운 하기

photo | 인포그랩 GitLab | 인포그랩 GitLab
GitLab Value Stream Analytics 대시보드 - 특정 프로젝트. 출처=GitLab

메인 대시보드에서 프로젝트를 선택하면 해당 프로젝트의 Value Stream Analytics로 이동해 이 프로젝트의 가치 흐름을 볼 수 있습니다. 프로젝트의 메트릭은 프로젝트의 스테이지별로 표시돼 ‘주요 작업이 어디에 있는지’, ‘어떤 스테이지에서 개선이 필요한지’ 파악하는 데 도움이 됩니다. Value Stream Analytics 오버뷰는 리드 타임, 사이클 타임, 기타 중요한 메트릭에 가치 있는 인사이트를 제공해 최적화할 구간을 확인하도록 지원합니다.

3단계: Value Stream Analytics 대시보드를 자세히 살펴보고 문제 분석, 해결하기

photo | 인포그랩 GitLab | 인포그랩 GitLab
GitLab Value Stream Analytics 대시보드 - 프로젝트의 특정 단계. 출처=GitLab

주요 관심 영역을 확인하면 Value Stream Analytics를 사용해 프로젝트의 특정 스테이지로 더 자세히 드릴 다운 할 수 있습니다. 스테이지 테이블에서 Last event 열을 정렬하면 가장 최근 워크플로 이벤트를 확인하고, 기간별로 항목을 분류해 이벤트를 재배열하며 더 빠르게 인사이트를 얻을 수 있습니다. 이렇게 하면 해당 스테이지에서 프로젝트를 느리게 하는 작업을 쉽게 감지할 수 있습니다. 또 지연 원인인 작업의 Owner를 확인하고, 코드 변경 사항을 검토하며, Issue를 종합적으로 분석할 수 있습니다.

GitLab Value Streams 대시보드 로드맵

현재 Value Streams 대시보드는 새로운 기능으로 이제 막 시작 단계에 있습니다. 개발 로드맵에는 의사 결정과 운영 효율성을 지속적으로 개선하도록 다음 기능을 계획하고 있습니다.

  • 소프트웨어 성능과 조직 전반의 가치 흐름과 관련된 주요 메트릭의 경영진 수준 요약
  • 조직의 모든 그룹과 프로젝트의 DORA 메트릭 상태를 포함한 “DORA Performers 점수” 패널 추가
  • 비교 패널에 레이블별 필터 추가 - GitLab은 모든 팀이 동일한 흐름을 따르지 않는다는 것을 인식합니다. 따라서 GitLab 레이블을 필터로 사용하여 대시보드 보기를 분할하고 분석하기 위해 레이블별 필터를 추가하고 있습니다.

맺음말

지금까지 GitLab의 Value Stream Management 기능을 활용하는 방법을 살펴봤습니다. 이제는 과거처럼 소프트웨어 개발의 비즈니스 가치를 분석하기 위해 여러 메트릭을 일일이 검색하거나 찾지 않아도 됩니다. GitLab의 Value Stream Management 기능을 이용하면 필요한 메트릭에 쉽고 빠르게 접근할 수 있습니다. 이는 손쉽게 분석할 수 있고, 분석 결과는 대응 전략을 신속하게 세우는 데 도움이 됩니다.

인포그랩은 GitLab 및 DevOps에 대한 맞춤 기술 지원을 제공합니다. GitLab(Omnibus/Cloud Native Hybrid) 구축, CI/CD 관련한 지원이 필요하시면 문의하기 로 연락 바랍니다.

<참고 자료>

  1. Value stream management: Total Time Chart simplifies top-down optimization flow
  2. Getting started with the new GitLab Value Streams Dashboard
  3. GitLab's 3 steps to optimizing software value streams

본 포스트는 위 영문 포스트를 우리말로 번역하고 요약 및 내용을 추가한 글입니다.