Pass rate 가 아니라 latency 가 metric
대부분 팀은 CI 를 잘못된 숫자에 최적화해. pass rate (main 이 얼마나 자주 green 인가) 에 집착해. 그것도 중요하지만 downstream 이야. Upstream metric 은 feedback latency: 변경을 push 한 시점부터 뭐가 깨졌는지 알게 된 시점까지의 시간.
Latency 가 왜 중요하냐면: 90 분 CI run 은 그냥 느린 게 아니야. Context-switch 세금 이지. 끝날 때쯤이면 아빠는 다른 문제로 이동했고, 다른 branch 시작했고, 점심 먹으러 갔어. Failure 가 도착하면 mental model 을 다시 load 해야 해. 90 분 run 의 실제 비용은 90 분 보다 반나절에 가까워.
계층화된 feedback
실제 팀은 feedback 을 여러 속도로 쌓아:
- Editor (초) — type 에러, lint 경고, format 문제. LSP + format-on-save 가 commit 전에 대부분 잡아.
- Pre-commit hook (초) — 절대 CI 까지 가면 안 되는 빠른 check. lint, format, typo.
- CI (분) — main test suite. 대부분은 10 분 이하, smoke subset 은 2 분 이하 목표.
- Pre-deploy (분) — integration test, end-to-end, performance budget.
- Post-deploy (분~시간) — production smoke test, error rate dashboard, 사용자 facing observability.
계층이 빠를수록 failure 가 싸. CI 의 역할은 가능한 많은 feedback 을 더 싼 계층으로 밀어내는 거야.