# [[DORA Metrics (소프트웨어 전달 성과 지표)|DORA Metrics (소프트웨어 전달 성과 지표]]

## 📌 Brief Summary
DORA(DevOps Research and Assessment) 지표는 소프트웨어 개발 조직의 전달(Delivery) 성능과 운영 효율성을 측정하는 글로벌 표준 기준입니다 [1]. 코드 리뷰의 속도와 효율성은 DORA 지표에 직결되며, 빠른 리뷰 주기를 유지하는 엘리트(Elite) 팀은 그렇지 않은 팀보다 50% 더 높은 딜리버리 성과를 보입니다 [2]. DORA 지표는 배포 빈도, 변경 리드 타임, 서비스 복구 시간, 변경 실패율의 4가지 핵심 지표를 통해 조직의 역량을 객관적으로 진단합니다 [3].

## 📖 Core Content
*   **4대 핵심 지표 (Four Key Metrics):**
    1.  **배포 빈도 (Deployment Frequency):** 코드가 프로덕션에 얼마나 자주 배포되는가? (엘리트 팀: 하루에 수회 이상) [3]
    2.  **변경 리드 타임 (Lead Time for Changes):** 코드가 커밋된 후 프로덕션에 배포되기까지 걸리는 시간 (엘리트 팀: 1시간 미만) [3]
    3.  **서비스 복구 시간 (Time to Restore Service):** 장애 발생 시 서비스가 복구되는 데 걸리는 시간 (엘리트 팀: 1시간 미만) [3]
    4.  **변경 실패율 (Change Failure Rate):** 배포 후 장애나 수정이 필요한 비율 (엘리트 팀: 0~15%) [3]
*   **코드 리뷰 속도와의 상관관계:** 코드 리뷰 처리 속도는 소프트웨어 전달 성과를 결정짓는 핵심 요인입니다 [2]. 리뷰가 지연되면 리드 타임이 길어지고 병목이 발생하여 전체 생산성이 저하됩니다.
*   **엘리트 성과자(Elite Performers)의 실천 기준:**
    *   **풀 리퀘스트(PR) 크기:** 인지 부하를 줄이기 위해 모든 PR을 400줄(LOC) 이하로 유지함 [3, 5].
    *   **첫 리뷰 시간:** PR 생성 후 1시간 이내에 첫 리뷰가 수행됨 [5].
    *   **리뷰 완료 시간:** 6시간 이내에 전체 리뷰 및 승인이 완료됨 [3, 5].
*   **품질 게이트 통합:** 코드 리뷰 체크리스트에 변경 사항이 배포 파이프라인이나 DORA 지표 측정에 미치는 영향을 점검하는 항목을 포함하는 것이 권장됩니다 [1].

## ⚖️ Trade-offs & Caveats
*   **속도 vs 철저함:** 엘리트 기준(6시간 이내 완료)을 무리하게 추구할 경우, 코드 리뷰가 피상적으로 흐르거나 보안 결함을 놓칠 위험이 있습니다 [6, 7].
*   **니트피킹(Nit-picking)의 함정:** 사소한 스타일 교정에 집착하여 리뷰 시간을 지연시키면 리드 타임이 악화됩니다 [8]. 스타일 검사는 자동화 도구에 위임하고, 리뷰어는 아키텍처 및 핵심 로직에 집중하여 속도와 철저함의 균형을 맞춰야 합니다 [10].
*   **데이터 오염:** 지표 달성 자체에만 매몰되면 개발자가 PR을 인위적으로 쪼개거나 품질을 희생하는 등 수치가 실제 생산성을 대변하지 못하게 될 수 있습니다.

## 🔗 Knowledge Connections

### Related Concepts
*   **Review-Speed Benchmarks**: DORA 데이터를 기반으로 리뷰 속도를 엘리트, 우수, 수용 가능 수준으로 구분하여 정량 평가하는 기준입니다.
*   **Pull Request Size Limits (PR 크기 제한**: 엘리트 등급의 리뷰 속도 달성을 위한 선제 조건으로, 리뷰어의 인지 부하를 최소화합니다.
*   **Automation in Code Review (코드 리뷰 자동화**: 기계적 검증을 자동화하여 인간 리뷰어가 고차원적 가치 창출(지식 공유 등)에 집중하게 돕습니다.
*   **Software Delivery Performance**: DORA 지표가 궁극적으로 측정하고자 하는 소프트웨어 전달 역량의 종합적 성과입니다.

### Deeper Research Questions
*   지리적으로 분산된 글로벌 팀이 DORA의 '첫 리뷰 1시간 이내' 기준을 달성하기 위해 비동기 협업 및 알림(Notification) 시스템을 어떻게 최적화해야 하는가?
*   리뷰 속도 단축을 위해 SAST와 같은 보안 도구가 CI/CD 파이프라인의 병목이 되지 않도록 스캔 정책을 어떻게 유연하게 설계해야 하는가?
*   레거시 시스템 마이그레이션과 같이 PR을 작게 쪼개기 어려운 상황에서 DORA 지표의 속도 벤치마크를 어떻게 합리적으로 조정(Normalization)할 것인가?
*   DORA 지표 개선이 실제 비즈니스 가치(매출, 고객 만족도 등)로 연결되는 정량적 상관관계를 어떻게 입증할 수 있는가?
*   코드 리뷰어 할당 알고리즘을 개선하여 특정 리뷰어에게 쏠리는 병목을 해소하고 팀 전체의 DORA 성과를 균등하게 높이는 방법은 무엇인가?

### Practical Application Contexts
*   **Implementation:** 모든 PR을 400 LOC 미만으로 분할하여 제출함으로써 리뷰어의 빠른 승인을 유도합니다 [3, 11].
*   **System Design:** 린팅, 포맷팅, 테스트 단계를 자동화하여 리뷰어가 기계적 결함 검토에 시간을 낭비하지 않도록 파이프라인을 설계합니다.
*   **Operation / Maintenance:** 주기적으로 '첫 리뷰까지 걸리는 시간'의 75백분위수를 추적하여 팀의 딜리버리 역량을 관리합니다 [13].
*   **Learning Path:** 신속한 응답 문화를 조성하고, 리뷰 피드백 루프 자체가 주니어 개발자의 성장을 돕는 교육 기회가 되도록 운영합니다.
*   **My Project Relevance:** 현재 팀의 평균 리드 타임과 배포 빈도 데이터를 추출하여 DORA 벤치마크와 비교 진단하고 병목 구간을 개선합니다.

### Adjacent Topics
*   **DevOps Culture**: DORA 지표가 효과를 발휘하기 위해 전제되어야 할 팀의 심리적 안전감과 실험 정신 등 문화적 측면으로 확장됩니다.
*   **Cycle Time (TTR**: PR 생성부터 병합까지의 전체 주기를 측정하고 관리하는 실무적 지표 체계입니다.

---
*Last updated: 2026-05-02*
