2.10

2.10 DORA 메트릭 프레임워크

개요 및 동기

DORA 메트릭은 DevOps 연구 및 평가 프로그램에서 나온다. 이는 수만 명의 엔지니어링 전문가를 조사하여 어떤 전달 관행이 조직 성과와 상관관계가 있는지 찾아낸, 이후 Nicole Forsgren, Jez Humble, Gene Kim이 쓴 Accelerate라는 책으로 발표된 다년간의 연구 노력이다. 그 결과는 둘씩 짝을 이루는 네 가지 메트릭이었다: 배포 빈도와 변경에 대한 리드 타임은 속도를 측정하고, 변경 실패율과 실패한 배포 복구 시간(흔히 평균 복구 시간(MTTR)으로 줄여 부른다)은 안정성을 측정한다. 이 프레임워크를 중요하게 만든 연구 결과는 최상위 성과자가 동시에 빠르고 안정적이었다는 것이었으며, 이는 속도와 안전이 서로를 맞바꾼다는 가정을 뒤집었고, 그 발견은 여전히 주제 1.2의 가드레일 짝짓기 원칙에 대해 이 책이 가진 가장 명확한 실제 적용 사례다: 안정성 가드레일과 짝을 이루는 인센티브가 부여된 속도 메트릭은 최고의 성과를 내는 조직이 실제로 하는 것이다.

이 책은 이 부의 조직 프레임워크로서가 아니라 의도적으로 DORA를 이 부의 마지막에 다룬다. 그 배치는 여전히 진정으로 엄격하고 사용할 가치가 있는 연구를 거부하는 것이 아니다. 그것은 특정하고 실제적인 한계를 반영한다: DORA는 파이프라인이 얼마나 빠르고 얼마나 안전하게 움직이는지 측정하지만, 무엇이 파이프라인을 통해 이동하고 있는지에 대해서는 침묵한다. 팀은 실제 산출물이 조용히 결함 재작업 쪽으로 드리프트하거나 기술 부채와 보안 작업의 역량을 굶주리게 하는 동안에도 훌륭한 DORA 수치를 게시할 수 있으며, 이는 주제 2.1부터 주제 2.4까지의 플로우 프레임워크가 구체적으로 드러내도록 만들어졌고 DORA가 볼 수 없는 패턴이다. 이 주제가 제시하는 대로 DORA를 사용하라: 전달 건강의 전체 그림이 아니라 잘 검증되었지만 더 좁은 파이프라인 역학의 참조 측정치로.

대규모 팀에게 DORA의 남은 진정한 가치는 비교 가능성이다. 파이프라인과 인시던트 데이터로부터 일관되게 계산된 메트릭은 조직이 대부분의 팀 간 비교를 괴롭히는 사과 대 오렌지 문제 없이 다른 영역에서 일하는 많은 팀에 걸쳐 전달 역량을 비교할 수 있게 한다. 엔터프라이즈 조직은 여전히 그것을 사용해 플랫폼 투자의 우선순위를 정하고, 정부 조직은 여전히 그것을 사용해 현대화 프로그램이 측정 가능하게 전달 역학을 개선했다는 것을 증거로 입증한다. 그것을 DORA의 적절하고 제한된 역할로 취급하고, 애초에 올바른 것이 전달되고 있는지에 대한 더 넓은 질문을 위해서는 이 부의 앞선 플로우 프레임워크 주제를 사용하라.

핵심 원칙

  • DORA는 그것을 통해 흐르는 가치가 아니라 파이프라인을 측정한다. 주제 2.1은 이 간극을 직접 이름 붙인다. DORA가 볼 수 없는 것을 보기 위해 플로우 분포(주제 2.3)를 사용하라.
  • 속도와 안정성은 결코 별도로가 아니라 함께 측정된다. 두 절반 모두가 없는 DORA 기반 대시보드는 실제로 이 프레임워크를 사용하고 있는 것이 아니다.
  • 정의의 일관성이 원시 수치보다 더 중요하다. 일관되게 정의된 메트릭에서 “중간”에서 “높음” 성과로 이동하는 팀은 실제 신호다. 다르게 계산된 두 팀을 비교하는 것은 그렇지 않다.
  • DORA는 개인이 아니라 시스템을 측정한다. 이 메트릭을 개별 엔지니어에게 적용하는 것은 이 프레임워크의 통계적 기반을 무너뜨리며 정확히 주제 1.2가 경고하는 게임을 초래한다.
  • 네 가지 메트릭 모두 목표가 아니라 대리 지표다. 그것들은 조직 성과와 상관관계가 있다. 진정한 전달 개선으로부터 분리된 채 그 수치 자체를 좇는 것은 프레임워크의 취지를 무너뜨린다.

권장 사항

파이프라인으로부터 배포 빈도를 계측하고, 오직 프로덕션 릴리스만 세라

배포 빈도는 팀이 얼마나 자주 성공적으로 프로덕션에 릴리스하는지 측정한다. 오직 성공적인 프로덕션 배포만 세고, CI/CD 파이프라인 데이터로부터 자동으로 계측하며, 결코 자가 보고하지 마라. 순전히 개수를 부풀리기 위해 하나의 의미 있는 변경을 여러 사소한 배포로 쪼개는 대체 게임을 특히 경계하며, 빈도와 함께 배포 크기를 추적하라: 상승하는 개수 옆의 줄어드는 평균 크기가 이것이 일어나고 있다는 가장 명확한 신호다.

첫 커밋부터 프로덕션까지 변경에 대한 리드 타임을 계측하라

변경에 대한 리드 타임은 코드 변경의 첫 커밋부터 프로덕션에서의 성공적인 배포까지의 시간을 측정한다. 치우친 시간 기반 데이터에 대한 주제 1.6의 지침을 따라 평균뿐 아니라 중앙값과 높은 백분위수 둘 다를 보고하고, 아무런 진정한 개선 없이 수치를 치장하는 양쪽 끝점의 정의 드리프트를 경계하라.

팀 간 비교 전에 서면으로 변경 실패율을 정의하라

변경 실패율은 롤백, 핫픽스, 혹은 인시던트를 필요로 하는 실패를 초래하는 배포의 백분율을 측정한다. 이것은 네 가지 중 일관되게 정의하기 가장 어려운데, “실패”가 자명하게 객관적이지 않기 때문이다. 팀을 비교하기 전에 서면 정의에 합의하라. 그것 없이는, 겉보기에 공정한 비교가 심각하게 오도할 수 있다. 진정한 프로세스 변화 없이 의심스러울 만큼 빠른 개선을 경계하라. 이는 진정한 진전이 아니라 정의 게임의 가장 명확한 신호다.

배포 사건이 아니라 탐지로부터 복구 시간을 측정하라

실패한 배포 복구 시간은 배포가 실패를 초래한 후 서비스를 복원하는 데 걸리는 시간을 측정한다. 배포 사건 자체가 아니라 탐지에서 시계를 시작하여, 그 수치가 모니터링 간극이 아니라 진정한 복구 지연을 반영하게 하라. 인시던트를 조기에 해결되었다고 선언하는 것이 아니라 진정으로 이 메트릭을 개선하는 단일한 가장 흔한 지렛대인 자동화된 롤백 역량에 특별히 투자하라.

수치가 왜 움직였는지 진단하려면 DORA가 아니라 플로우 메트릭을 사용하라

DORA 메트릭이 이동할 때, 네 가지 수치만으로는 좀처럼 이유를 설명하지 못한다. DORA의 요약 수치 아래에 있는 진단 계층으로서 사이클 타임 분해(주제 2.6), 플로우 로드(주제 2.4), 플로우 분포(주제 2.3)를 사용하고, 결코 개인 성과 평가에 DORA 메트릭을 사용하지 마라. 이는 이 프레임워크가 노출된 단일한 가장 해로운 오용이다.

트레이드오프: 장단점

접근법장점단점
네 메트릭 모두 짝을 이룬 완전한 DORA 프레임워크연구로 검증됨, 짝짓기를 통해 게임에 저항함, 공정한 팀 간 비교를 가능하게 함어떤 종류의 가치가 전달되고 있는지에 대해 침묵함; 그 그림을 위해서는 플로우 프레임워크가 함께 필요함
이 부의 유일한 조직 메트릭 집합으로서의 DORA단순하고, 대부분의 엔지니어링 리더에게 친숙함가치 혼합 질문을 완전히 놓침, 이것이 이 책이 여기서 그것을 후순위로 두는 이유다
DORA와 플로우 프레임워크를 함께파이프라인 역학과 가치 혼합 둘 다 보임하나가 아니라 두 개의 메트릭 어휘를 유지해야 함
개인 수준에 적용된 DORA일부 관리자에게 직접 실행 가능하게 느껴짐프레임워크의 통계적 타당성을 무너뜨림; 강한 굿하트의 법칙 노출

핵심 긴장은 역학적 엄격함 대 비즈니스 가독성이다. DORA의 네 가지 메트릭은 정밀하게 정의되고 연구로 검증되어 있으며, 이는 팀 간 파이프라인 성과 비교에 그것들을 탁월하게 만들지만, 그 동일한 정밀함은 파이프라인 자체로 좁게 범위가 정해져 있고 올바른 작업이 그것을 통해 흐르고 있는지에 대해서는 아무것도 말해 주지 않는다. DORA를 결코 설계되지 않은 질문에 답하게 하려는 대신, DORA를 파이프라인 건강을 위한 참조 계층으로 유지하면서(이 책 구조에서 주제 2.10의 적절한 위치) 가치 혼합이라는 비즈니스 대면적인 질문을 위해서는 이 부의 앞선 플로우 프레임워크 주제를 사용함으로써 이 긴장을 해결하라.

팀과 논의할 질문

  1. 우리는 네 가지 DORA 메트릭 모두를 파이프라인으로부터 계측하고 있는가, 아니면 그중 일부는 자가 보고된 추정치인가? 객관적이고 연구로 검증된 측정 위에 세워진 프레임워크는 수치가 최선의 추측이 되는 순간 그 가치의 대부분을 잃는다. 각 메트릭의 실제 데이터 출처를 감사하라(주제 1.5).

  2. 우리가 DORA 메트릭을 사용해 비교하는 모든 팀이 배포, 변경, 실패에 대해 같은 정의를 공유하는가? 다른 정의를 사용하는 팀 간의 비교는 실제로 비교가 아니며, 상대적 성과에 대해 불공정한 판단을 만들어 낼 수 있다.

  3. 우리 조직의 누군가가 공식적으로든 비공식적으로든 개인 성과 평가에 DORA 메트릭을 사용한 적이 있는가? 이것이 이 프레임워크의 단일한 가장 해로운 오용이며 흔히 조용히 일어난다. 직접 물어보고 불편하지만 필요한 답을 준비하라.

  4. 우리의 DORA 수치가 훌륭해 보이는 동안 우리의 플로우 분포(주제 2.3)는 조용히 재작업 쪽으로나 기능에서 벗어나 드리프트했을 수 있는가? 이것이 정확히 DORA 홀로는 볼 수 없는 간극이다. 두 수치 집합을 함께 가져와 그것들이 일관된 이야기를 전하는지 확인하라.

  5. 우리의 DORA 메트릭 중 하나가 움직일 때, 우리는 왜인지 설명할 플로우 메트릭 진단을 가지고 있는가? DORA 수치 하나만으로는 무언가가 바뀌었다는 것만 알려주지 무엇이 바뀌었는지는 알려주지 않는다. 당신의 팀이 “왜 이번 달에 리드 타임이 증가했는가”에 데이터로 답할 수 있는지, 아니면 추측으로만 답할 수 있는지 확인하라.

  6. 우리가 의도적으로 각각을 게임하려고 한다면 우리의 네 가지 DORA 수치는 어떻게 바뀔 것이며, 우리는 그것을 알아챌 것인가? 배포 빈도, 리드 타임, 변경 실패율, 복구 시간을 하나씩 살펴보라. 이는 주제 1.2의 핵심 규율을 이 특정 프레임워크에 실용적으로 적용한 것이다.

분야별 관점

스타트업. DORA의 속도 메트릭은 이미 자주 배포하고 있는 소규모 팀에게 보통 자연스럽게 온다. 더 어려운 규율은 아직 아무것도 심각하게 고장 나지 않았다는 이유로 안정성을 가정하는 대신 변경 실패율과 복구 시간을 정직하게 계측하는 것이다. 비공식적인 플로우 아이템 분할(주제 2.2)과 함께 DORA를 일찍 짝짓는 것은 오직 파이프라인 속도만을 중심으로 전달 건강에 대한 잘못된 감각을 쌓는 것을 피한다.

중소기업. 대부분의 현대적인 CI/CD와 버전 관리 플랫폼은 최소한의 설정으로 배포 빈도와 리드 타임 데이터를 내보낸다. 변경 실패율을 위해 배포를 인시던트에 연결하는 것은 전형적으로 더 많은 수동 노력이 필요하다. 두 속도 메트릭부터 시작하고 그것에 연결할 비공식적인 인시던트 로그가 존재하는 즉시 안정성 추적을 추가하라.

엔터프라이즈. 이 규모에서 DORA의 가장 큰 남은 가치는 플랫폼 투자 결정을 위한 공정하고 일관된 팀 간 비교다. 조직 전체에서 정의를 표준화하고(주제 1.4), 중앙에서 계측을 자동화하며, 모든 DORA 보고서를 플로우 분포 관점과 짝지어 리더십이 파이프라인 속도와 가치 혼합 둘 다 함께 보게 하고, 하나 없이 다른 하나만 보지 않게 하라.

정부. DORA 메트릭은 여전히 현대화 프로그램에 감독 기구에 전달 역학 개선을 입증하기 위한 방어 가능하고 연구로 뒷받침된 방법을 제공한다. 절대 치장하는 절반만 골라내지 말고 네 가지 메트릭 모두를 함께 보고하며, 보고서가 더 빠른 파이프라인이 실제로 무엇을 전달하고 있는지에 대한 더 어렵고 더 중요한 질문에도 답하도록 그것들을 플로우 분포와 짝지어라.

사례

엔터프라이즈. 한 대형 통신 회사의 플랫폼 현대화 프로그램은 40개 제품 팀에 걸쳐 일관되게 네 가지 DORA 메트릭 모두를 계측했으며 18개월에 걸쳐 저성과자에서 고성과자 밴드로의 진정한 이동을 보여 주었다: 배포 빈도는 대략 열 배 증가하고, 리드 타임은 몇 주에서 며칠로 줄었으며, 변경 실패율은 정체되었다. 그 발표를 검토하던 한 이사회 위원은 DORA 수치만으로는 답할 수 없는 질문을 던졌다: 그 더 빠른 전달 중 얼마나 많은 부분이 재작업 대비 새로운 고객 가치였는가? 엔지니어링 조직은 다음 분기에 플로우 아이템 분류를 채택할 때까지 답이 없었으며, 이는 DORA의 속도 수치가 개선되었음에도 총 산출물 중 기능 작업의 몫이 실제로 떨어졌다는 것을 보여 주었고, 이는 프로그램의 다음 해 우선순위를 재구성한 발견이었다.

정부. 한 주 정부의 IT 현대화 사무소는 여러 경쟁 공급업체 팀의 전달 역량을 비교하기 위해 계약 조건으로 DORA 메트릭을 채택했으며, 이는 프레임워크의 비교 가능성의 효과적인 사용이었다. 한 공급업체의 높은 배포 빈도는, 변경 실패율이 그것과 함께 요구되자, 그 동료보다 거의 세 배 높은 실패율과 상관관계가 있다는 것이 드러났으며, 이는 그 사무소의 계약 갱신 결정을 직접 알려준 정보였다. 그 사무소는 이후 최고의 DORA 수치를 가진 공급업체가 계약이 구체적으로 요구한 보안 개선 작업에 가장 적은 역량의 몫을 쓰고 있던 공급업체이기도 하다는 것을 발견한 후 같은 계약에 플로우 분포 요건을 추가했다.

비즈니스 사례: 동기, ROI, TCO

DORA를 그 적절한 범위 안에서 잘 도입하는 것의 수익은 “우리의 전달 파이프라인이 더 빨라지고 더 안전해지고 있는가”에 대한 방어 가능하고 증거에 기반한 답이며, 이는 여전히 엔지니어링에서 확신을 가지고 답하기 더 다루기 쉬운 질문 중 하나로 남아 있다. 그 답은 실제 수치로 플랫폼 및 도구 투자를 정당화하고, 리더십이 항상 그래 왔던 것처럼 경쟁하는 투자를 공정하고 일관된 기준으로 비교할 수 있게 한다.

총 소유 비용은 변경 실패율과 복구 시간을 위해 배포 사건을 인시던트 기록에 연결하는 통합 작업이며, 크고 이질적인 도구 환경 전반에 걸쳐 결코 사소하지 않다. 이 부의 앞선 플로우 프레임워크 주제와 DORA를 짝짓는 추가 비용은 비교적 작은데, 플로우 아이템 분류는 병렬 측정 시스템이 아니라 기존 작업 위에 겹쳐진 보고 관행이기 때문이며, 위의 통신 사례가 보여 주는 정확히 그 가치 혼합 사각지대를 잡아내는 수익은 그 적당한 추가 투자의 가치가 충분히 있다.

안티패턴과 함정

  • DORA를 전달 건강의 전체 그림으로 취급하기: 이 주제의 배치가 대응하도록 설계된 게임 벡터다. 조직은 실제로 전달된 가치가 재작업 쪽으로나 기능에서 벗어나 조용히 이동하는 동안에도 진정으로 훌륭한 DORA 수치, 즉 빠르고, 빈번하며, 안정적인 배포를 제시할 수 있으며, DORA의 네 메트릭만으로는 그 이동을 결코 드러내지 못할 것인데, 그것들은 결코 그것을 측정하도록 설계되지 않았기 때문이다. 가드레일은 모든 DORA 보고서를 플로우 분포(주제 2.3)와 짝짓는 것이며, 그래서 잘못된 작업 혼합을 전달하는 빠르고 안정적인 파이프라인이 진정한 전달 건강으로 착각되는 대신 눈에 보이게 한다.
  • DORA의 속도 절반만 보고하기: 최고 성과자에게서 속도와 안정성이 함께 움직인다는 프레임워크의 핵심 발견을 무너뜨린다.
  • 개인 성과 평가에 DORA 메트릭 사용하기: 프레임워크의 통계적 타당성을 무너뜨리고 강한 게임을 초래한다.
  • 일관성 없는 정의를 가진 팀을 비교하기: 공정해 보이지만 그렇지 않은 비교를 만들어 낸다.
  • 파이프라인 계측된 수치 대신 자가 보고된 DORA 수치: 정확히 이 프레임워크가 제거하도록 설계된 편향을 도입한다.
  • DORA를 요약이 아니라 진단으로 취급하기: 그 아래의 플로우 메트릭 계층 없이는 팀이 수치가 왜 움직였는지 설명할 수 없게 남긴다.

성숙도 모델

  • 1단계, 시작: DORA 메트릭은, 추적된다면, 자가 보고되고, 일관성 없이 정의되며, 플로우 데이터와 결코 짝을 이루지 않는다.
  • 2단계, 개발: 일부 팀이 파이프라인으로부터 DORA를 계측하지만, 정의가 다양하고 그것에 비추어 확인할 플로우 분포의 대응물이 없다.
  • 3단계, 표준화: 네 가지 DORA 메트릭 모두가 공유된 정의로 파이프라인과 인시던트 데이터로부터 일관되게 계측되며, 일상적으로 플로우 분포와 함께 보여진다.
  • 4단계, 관리: DORA와 플로우 메트릭이 조직의 모든 수준에서 표준 짝짓기로 함께 검토되며, DORA는 결코 개인 평가에 사용되지 않는다.
  • 5단계, 조율: 조직은 플로우 분포가 훌륭한 DORA 수치 홀로는 숨겼을 가치 혼합 문제를 잡아낸 구체적인 사례를 제시할 수 있으며, 각각이 답하는 별개의 질문을 위해 두 프레임워크 모두를 의도적으로 사용한다.

논의를 위한 아이디어

  1. 우리의 네 가지 DORA 메트릭은 정직하게 현재 우리를 성과 등급 스펙트럼의 어디에 위치시키는가?
  2. 우리의 플로우 분포가 조용히 드리프트하는 동안에도 우리의 DORA 수치는 훌륭해 보일 수 있는가? 우리는 확인해 본 적이 있는가?
  3. 누군가 비공식적으로라도 개인을 판단하기 위해 DORA 수치를 사용한 적이 있는가?
  4. 만약 경쟁자가 그들의 DORA 수치를 발표한다면, 우리 것이 유리하게 비교될 것이며, 그 비교는 실제로 누가 더 많은 실제 가치를 전달하고 있는지 알려줄 것인가?

핵심 요약

  • DORA의 네 가지 메트릭, 즉 배포 빈도, 리드 타임, 변경 실패율, 복구 시간은 설계상 속도를 안정성과 짝짓고 여전히 진정으로 연구로 검증되어 있다.
  • 이 책은 DORA가 파이프라인을 측정하지, 그것을 통해 흐르는 가치를 측정하지 않기 때문에 그것을 이 부의 마지막에 배치한다. 더 완전한 그림을 위해서는 플로우 분포(주제 2.3)와 그것을 짝지어라.
  • 이 주제의 핵심 게임 벡터는 훌륭한 DORA 수치를 완전한 전달 건강으로 착각하는 것이다. 가드레일은 항상 플로우 분포와 함께 DORA를 보고하는 것이다.
  • 개인 성과 평가에 결코 DORA 메트릭을 사용하지 마라. 프레임워크의 타당성은 개인이 아니라 시스템 수준의 측정에 달려 있다.
  • 그중 하나가 움직일 때 DORA의 요약 수치 아래에 있는 진단 계층으로서 플로우 메트릭을 사용하라.

참고 문헌 및 추가 자료

  • Forsgren, Nicole, Jez Humble, and Gene Kim. Accelerate: The Science of Lean Software and DevOps. IT Revolution Press, 2018.
  • Google Cloud. DevOps Research and Assessment programme. dora.dev.
  • Kim, Gene, Kevin Behr, and George Spafford. The Phoenix Project. IT Revolution Press, 2013.
  • Kim, Gene, Jez Humble, Patrick Debois, and John Willis. The DevOps Handbook. IT Revolution Press, 2016.
  • Kersten, Mik. Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework. IT Revolution Press, 2018.