9.2 9.2 메트릭 정의 및 공식 참조
책의 모든 공식을 한곳에 모았다. 각 항목은 게임화 위험과 가드레일을 포함한 완전한 논의가 있는 주제를 명명한다. 이것을 빠른 참조로 사용하고 주제 자체를 대체하는 것으로 사용하지 마라.
흐름 메트릭(2부)
| 메트릭 | 공식 | 주제 |
|---|
| 흐름 속도 | 단위 시간당 완료된 흐름 항목의 수 | 2.3 |
| 흐름 분배 | (한 흐름 항목 유형의 완료된 항목) / (완료된 전체 항목) x 100% | 2.3 |
| 흐름 시간 | 흐름 항목이 가치 흐름에 진입한 시점부터 전달까지의 시간 | 2.4 |
| 흐름 부하 | 가치 흐름에서 현재 활성 상태이거나 대기 중인 흐름 항목의 수 | 2.4 |
| 리틀의 법칙 | 흐름 부하(진행 중인 작업) = 도착률 x 흐름 시간(주기 시간) | 2.4, 2.7 |
| 흐름 효율성 | 활성 작업 시간 / 총 경과 시간 x 100% | 2.5 |
| 주기 시간 | 단계 기간의 합: 코딩 + 픽업 + 리뷰 + 테스트 + 배포 | 2.6 |
| 사용률 | 도착률 / 서비스율 | 2.7 |
| 완전하고 정확한 비율(%C/A) | (재작업 없이 다운스트림에서 사용 가능한 단위) / (전체 단위) x 100% | 2.8 |
| 누적 처리량 수율 | 1단계의 %C/A x 2단계의 %C/A x … x N단계의 %C/A | 2.8 |
| 택트 타임 | 이용 가능한 작업 시간 / 그 기간 동안의 고객 수요 | 2.8 |
| 첫 리뷰까지의 시간 | 풀 리퀘스트 개설부터 첫 실질적인 리뷰어 응답까지의 시간 | 2.9 |
| 배포 빈도 | 단위 시간당 성공적인 프로덕션 배포 수 | 2.10 |
| 변경 리드 타임 | 첫 커밋부터 성공적인 프로덕션 배포까지의 시간(중앙값과 90번째 백분위수 보고) | 2.10 |
| 변경 실패율 | (실패를 일으키는 배포) / (전체 배포) x 100% | 2.10 |
| 실패한 배포 복구 시간 | 실패 감지부터 진정한 서비스 복원까지의 시간 | 2.10 |
개발자 경험(3부)
| 메트릭 | 공식 | 주제 |
|---|
| 집중 시간 | 캘린더 데이터로부터, 주당 중단 없는 2시간 이상 블록의 수와 기간 | 3.6 |
| 응답률 | (받은 설문 응답) / (보낸 설문 초대) x 100% | 3.7 |
코드와 품질(4부)
| 메트릭 | 공식 | 주제 |
|---|
| 순환 복잡도 | 제어 흐름을 통과하는 독립적인 경로(매케이브에 따라 간선 − 노드 + 2) | 4.1 |
| 테스트 커버리지 | (테스트가 실행하는 줄/분기) / (전체 줄/분기) x 100% | 4.2 |
| 뮤테이션 킬 비율 | (테스트 스위트가 죽인 뮤턴트) / (도입된 전체 뮤턴트) x 100% | 4.2 |
| 코드 처리량 | 시간 창에 걸쳐 파일당 추가 + 수정 + 삭제된 줄 | 4.3 |
| 핫스팟 점수 | 처리량 x 복잡도, 파일별로 순위 매김 | 4.3 |
| 부채 보유 비용 | 항목을 고치지 않는 것의 추정된 지속적 비용(더 느려진 관련 작업, 상승한 결함 위험) | 4.5 |
제품과 비즈니스(5부)
| 메트릭 | 공식 | 주제 |
|---|
| 누락된 결함율 | (심각도 가중 누락된 결함) / (전달 단위 또는 시간) | 5.1 |
| 초기 채택 | (적어도 한 번 기능을 시도한 사용자) / (목표 청중) x 100% | 5.2 |
| 유지된 채택 | (N주 후에도 기능을 계속 사용하는 사용자) / (처음에 그것을 시도한 사용자) x 100% | 5.2 |
| 단위 비용 | 총비용(인력 + 인프라 + 도구) / 의미 있는 단위(고객, 거래) | 5.4 |
| ROI | (총 혜택 − 총 소유 비용) / 총 소유 비용, 범위로 제시됨 | 5.5 |
신뢰성, 운영, 보안(6부)
| 메트릭 | 공식 | 주제 |
|---|
| 오류 예산 | (1 − SLO 목표) x 시간 창(예: 30일의 0.1% ≈ 43분) | 6.1 |
| 오류 예산 소진율 | 소비된 오류 예산 / 할당된 오류 예산, 주어진 창에 걸쳐 | 6.1 |
| MTTD | 인시던트 시작부터 감지까지의 시간 | 6.2 |
| MTTA | 인시던트 알림부터 인지까지의 시간 | 6.2 |
| MTTR(인시던트) | 인지부터 진정한 서비스 복원까지의 시간 | 6.2 |
| 온콜 호출 분배 | 이동 평균 창에 걸쳐 개인당 받은 호출(팀 평균이 아님) | 6.3 |
| 취약점 교정까지의 시간 | 발견부터 진정한 교정까지의 시간, 심각도별로 추적됨 | 6.4 |
이 공식을 사용하는 데 대한 참고 사항
- 항상 속도나 산출 공식을 그 가드레일과 짝지어라(주제 1.2): 변경 실패율을 배포 빈도 및 리드 타임과; 누락된 결함율을 전달 속도와; 오류 예산 소진을 배포 활동과.
- 공식이 명시적으로 평균을 요구하지 않는 한 시간 기반 공식에는 평균이 아니라 중앙값과 백분위수를 사용하라(주제 1.6).
- 모든 공식은 그 수학적 정의와 함께 문서화된 소스 시스템과 수집 방법이 필요하다(주제 1.5). 다른 소스로부터 같은 공식을 계산하는 두 팀은 비교 가능한 숫자를 만들어 내지 못할 것이다.
- 심각도 가중은 위의 모든 공식에서 명시적으로 보이지 않지만 “심각도 가중”이 나타나는 곳에는 어디나 적용된다. 완전한 분류 체계는 관련 주제를 참고하라.