Evergreen
quality-gate — 결정론적 평가·개선 루프
모호한 품질 목표를 측정 가능한 rubric으로 바꾸고, 페르소나 평가로 채점한 뒤, 통과까지 개선·재평가하는 패턴.
- #workflow
- #verification
- #ai
- #design
핵심 명제
"좋아 보인다"는 사람이 확인해야 하지만, "rubric의 각 축이 4점 이상인가"는 기계가 검증할 수 있다. 디자인·콘텐츠·코드 모두 동일하다.
표준 패턴
- 목표 → rubric: "세련되게"를 8축으로 분해 (컬러 팔레트, 타이포, 일관성, 인터랙션, ...)
- 페르소나 평가: 디자이너·기획자·개발자 각자 자기 영역 채점
- 통과 기준: 평균 ≥ 4.5/5, 모든 항목 ≥ 4, FAIL 0
- 미달 시: 가장 점수 낮은 항목 1~2개 우선 개선 → 재평가
- 종료: 통과 또는 3 사이클 매몰 (진전 없음)
두 번의 적용 사례
디자인 톤
- 사이클 1: 평균 3.28/5. 누런 cream + 그림자 + 하드코딩 hex 30+. "엄청 못생겼어" 피드백.
- 사이클 3: 평균 4.44/5. white-zinc-indigo 토큰화, single source 회복.
모바일 최적화
- 사이클 1: 평균 2.75/5. iOS HIG 44 미달, viewport-fit 누락, focus trap 없음.
- 사이클 3: 평균 4.75/5. iOS Safari 패키지 + 터치 타겟 + inert 패턴 + 콘텐츠 우선순위.
핵심 인사이트 세 가지
평균이 아니라 최저 항목이 통과를 결정한다. 한 항목만 3점이어도 평균 4.7이라도 FAIL.
BLOCKING 항목은 별도 표시한다. 평균 통과해도 BLOCKING 4점 미만이면 게이트가 닫힌다.
rubric을 사전에 명확히 정의하지 않으면 평가가 흔들린다. "터치 타겟"이라는 단어만으로는 부족하고 "iOS HIG 44×44 + 간격 충분"으로 명세해야 채점 분산이 줄어든다.
임계를 어떻게 정하나 — 4.5 vs 4.7
통과 임계(평균 4.5? 4.7?)는 고정값이 아니라 작업의 외부 노출도로 정한다.
| 임계 | 적용 |
|---|---|
| 4.5 | 내부 작업, 되돌릴 수 있는 결정, 빠른 반복 |
| 4.7 | 외부 게시, 포트폴리오, 신뢰가 자산인 산출물 |
| 4.8+ | 한 번 나가면 회수 불가 (one-way door) |
임계를 높이면 사이클이 늘고 비용이 커진다. 그래서 "무조건 높게"가 아니라 노출도에 맞춘다. 외부 게시 콘텐츠를 4.7로 두는 건 — 게시 후 회수가 one-way door에 가깝고 신뢰 비용이 크기 때문이다.
rubric 차원도 작업마다 다르다. 콘텐츠라면 "일반화 가능성"(독자에게 전이되는가)을 별도 축으로 두면 자기 참조적 글이 자동으로 걸러진다. 모호한 "좋은 글"을 측정 가능한 차원으로 번역하는 게 rubric 설계의 핵심.
한계
- 페르소나가 코드만 보고 평가하면 실제 사용감 일부 놓침. 라이브 디바이스 검증이 종종 필요.
- 같은 페르소나가 두 사이클 연속 평가하면 confirmation bias 생김 — 변경 요약을 명확히 전달해 판단 기준 재설정 필요.
함정
- rubric이 너무 복잡 → 평가가 노이즈: 7축 이상은 채점 분산이 커지고 일관성이 떨어짐. 4-6축이 적정.
- 평균만 보고 최저 4 무시: 평균 4.7이라도 한 항목 2점이면 사용자 체감 큰 약점. 통과 기준에 "모든 항목 ≥ 4" 포함.
- 사이클 무한 반복: 진전 없는데 3사이클 이상 굴리면 시간만 소비. "3 사이클 매몰" 룰 강제.
- 같은 페르소나가 두 번 평가: confirmation bias. 변경 요약을 명확히 전달해 기준 재설정.
- BLOCKING 표시 안 함: 평균 통과해도 BLOCKING 4점 미만이면 게이트 닫혀야 한다. 사전에 BLOCKING 항목 명시.
관련
/notes/deterministic-loop — quality-gate가 적용하는 일반 검증 루프 /notes/codex-competition — 페르소나 평가의 모델 다양성 버전 /notes/dispatch-routing-pattern — 라우팅 결정에도 평가 루프 /notes/operationalizing-vague-requests — rubric은 모호한 목표의 번역 /notes/self-persona-evaluation — rubric에 본인 차원을 넣어 솔직한 BLOCKING 노출 /cases/quality-gate-system — 이 루프를 디자인·모바일·콘텐츠에 적용한 케이스