Maturity Score: 하나의 등급으로 보는 아키텍처 건강 상태
Drift 점수가 있습니다. Conformance 규칙이 있습니다. Insights가 있습니다. DORA 메트릭이 있습니다. 네 가지 신호, 네 개의 대시보드, 가장 단순한 질문에 답하기 위해 확인해야 할 네 개의 숫자: 우리 아키텍처는 건강한가?
답은 항상 흩어져 있었습니다. 어떤 팀은 완벽한 문서 정확도(drift 점수 95)를 가지고 있지만 끔찍한 배포 관행(DORA가 바닥)을 보일 수 있습니다. 다른 팀은 하루에 열 번 배포하지만 모든 conformance 규칙을 무시할 수 있습니다. 각 메트릭은 이야기의 한 조각을 말해줬습니다. 전체를 말해주는 것은 없었습니다.
Maturity Score가 이 문제를 해결합니다. 하나의 등급. 네 가지 차원. 아키텍처가 실제로 얼마나 건강한지 한눈에 볼 수 있습니다.
A부터 F까지. 그게 전부입니다.
Archyl에서 아무 프로젝트나 열면 문자 등급이 보입니다:
- A (90-100) — 아키텍처가 잘 문서화되어 있고, 규칙을 준수하며, 적극적으로 모니터링되고, 안정적으로 배포됩니다. 이것이 목표입니다.
- B (80-89) — 견고합니다. 한두 가지 차원에서 사소한 격차가 있지만 밤잠을 설칠 정도는 아닙니다.
- C (70-79) — 괜찮은 기반이지만 실질적인 약점이 있습니다. 문제가 어디에 있는지 알지만 아직 고치지 못했습니다.
- D (60-69) — 고전 중입니다. 여러 차원에서 성과가 저조합니다. 기술 부채가 쌓이고 있습니다.
- F (60 미만) — 아키텍처 문서가 장식품에 불과합니다. 기본부터 시작하세요.
이 등급은 허영 지표가 아닙니다. 아키텍처 실천의 서로 다른 측면을 측정하는 네 가지 가중 차원에서 계산됩니다.
네 가지 차원, 하나의 점수
Drift — 문서가 진실을 말하고 있는가?
Drift 차원은 C4 모델이 실제 코드베이스를 얼마나 정확하게 반영하는지 측정합니다. 더 이상 존재하지 않는 파일 경로. 이름이 바뀐 서비스. 병합된 컨테이너. 문서화된 모든 요소가 리포지토리와 대조 검증됩니다.
높은 drift 점수는 아키텍처 다이어그램이 실제 프로덕션에서 실행되는 시스템을 설명한다는 의미입니다. 낮은 점수는 6개월 전에 존재했던 시스템을 설명하고 있다는 뜻입니다.
Insights — 신호에 귀를 기울이고 있는가?
Archyl은 아키텍처를 지속적으로 분석하고 문제를 표면화합니다: 순환 의존성, 과대한 컴포넌트, 누락된 문서, 사용되지 않는 컨테이너. Insights 차원은 이러한 문제가 얼마나 존재하고 얼마나 심각한지 측정합니다.
심각한 insights를 빠르게 해결하는 팀은 높은 점수를 받습니다. 경고가 쌓이도록 방치하는 팀은 낮은 점수를 받습니다. 이슈가 제로인 것이 중요한 게 아니라, 이슈에 대응하는 문화가 있는지가 중요합니다.
Conformance — 자신이 정한 규칙을 따르고 있는가?
아키텍처 규칙을 정한 데는 이유가 있습니다. 프론트엔드 컨테이너가 데이터베이스를 직접 호출해서는 안 됩니다. 모든 시스템에는 최소 하나의 문서화된 API 계약이 있어야 합니다. 인증 서비스는 비즈니스 로직에 의존해서는 안 됩니다.
Conformance 차원은 규칙 중 몇 퍼센트가 통과하는지 측정합니다. 거버넌스를 가지고 있는 것과 실제로 시행하는 것의 차이입니다.
DORA — 실제로 배포할 수 있는가?
아키텍처 품질은 전달할 수 없다면 아무 의미가 없습니다. DORA 차원은 네 가지 표준 메트릭을 추적합니다: 배포 빈도, 변경 리드 타임, 변경 실패율, 평균 복구 시간.
아름다운 아키텍처를 가지고 있지만 분기에 한 번만 배포하는 팀은 전달 문제가 있습니다. DORA가 이를 포착합니다.
가중치 적용, 단순 평균이 아닙니다
네 가지 차원은 동일한 가중치를 갖지 않습니다. 각 프로젝트의 maturity score는 가중 복합 점수입니다:
| 차원 | 기본 가중치 | 보상 대상 |
|---|---|---|
| Drift | 25% | 문서의 정확성 유지 |
| Insights | 25% | 아키텍처 이슈 해결 |
| Conformance | 25% | 자체 규칙 준수 |
| DORA | 25% | 안정적인 배포 |
가중치는 상세 패널에서 확인할 수 있으며, 모든 점수는 각 기여도를 보여줍니다. 등급이 왜 그런지, 어떤 차원이 점수를 끌어내리고 있는지 정확히 볼 수 있습니다.
조직 수준 뷰
개별 프로젝트 점수도 유용합니다. 모든 프로젝트를 나란히 보는 것은 혁신적입니다.
조직 Maturity 대시보드는 모든 프로젝트를 카드로 표시합니다: 등급, 점수, 추세, 그리고 네 가지 차원의 분석. 등급별 필터링. 점수별 정렬. 이름으로 검색. 30초 안에 어떤 프로젝트에 주의가 필요한지 알 수 있습니다.
상단의 등급 분포 막대는 조직 아키텍처 건강 상태의 전체적인 모습을 보여줍니다. 대부분 A와 B인가요? 양호한 상태입니다. D와 F가 밀집해 있나요? 어디에 투자해야 하는지 알 수 있습니다.
추세가 진짜 이야기를 말해줍니다
모든 maturity 계산은 시간에 따라 추적됩니다. 각 프로젝트는 추세를 보여줍니다: 개선 중, 안정, 또는 하락 중.
지난달 C에서 B로 올라간 프로젝트는 아직 A가 아니더라도 올바른 방향으로 가고 있습니다. 3개 스프린트 동안 하락하고 있는 프로젝트는 아직 B라 하더라도 개입이 필요합니다. 추세는 종종 절대 점수보다 더 실행 가능한 정보입니다.
추천 엔진
상세 패널은 점수만 보여주는 것이 아니라 무엇을 해야 하는지 알려줍니다. 가장 약한 차원에 대해 구체적이고 실행 가능한 추천을 제공합니다:
- Drift가 가장 낮은가? "문서 정합성을 업데이트하기 위해 drift 감지를 실행하세요."
- Insights가 가장 낮은가? "심각한 아키텍처 insights를 검토하고 해결하세요."
- Conformance가 가장 낮은가? "컴플라이언스를 개선하기 위해 conformance 규칙 위반을 수정하세요."
- DORA가 가장 낮은가? "DORA 메트릭을 향상시키기 위해 배포 관행을 개선하세요."
모호함이 없습니다. "프로세스 개선을 고려하세요" 같은 말도 없습니다. 점수를 가장 크게 움직일 수 있는 항목에 연결된 구체적인 다음 단계입니다.
하나의 등급이 중요한 이유
팀은 12개의 메트릭이 있는 대시보드에 반응하지 않습니다. 이해하기 쉽고, 비교하기 쉽고, 조작하기 어려운 하나의 숫자에 반응합니다.
Maturity Score는 의도적으로 명확한 관점을 가집니다:
총체적입니다. 문서화에는 뛰어나지만 배포가 엉망이라면 A를 받을 수 없습니다. 네 가지 차원 모두 중요합니다.
비교 가능합니다. 프로젝트 A는 B등급입니다. 프로젝트 B는 D등급입니다. 엔지니어링 시간을 어디에 투자할지에 대한 대화가 훨씬 간단해졌습니다.
추적 가능합니다. 시간에 따라 그래프로 그릴 수 있는 숫자는 개선할 수 있는 숫자입니다. 목표를 설정하세요: "분기 말까지 모든 프로젝트를 C 이상으로." 이제 측정 가능한 목표가 생겼습니다.
정직합니다. 등급은 의도나 로드맵에 관심이 없습니다. 지금 현재 무엇이 사실인지를 측정합니다. 문서가 코드와 일치하거나, 일치하지 않거나. 규칙이 통과하거나, 통과하지 않거나.
시작하기
Maturity Score는 오늘부터 모든 Archyl 프로젝트에서 사용할 수 있습니다. 별도의 설정이 필요 없습니다 — 아키텍처 문서가 있는 프로젝트라면 이미 점수가 있습니다.
- 아무 프로젝트나 여세요. 프로젝트 헤더에 maturity 배지가 나타납니다.
- 클릭하면 전체 분석을 볼 수 있습니다: 종합 점수, 네 가지 차원, 추세, 그리고 추천.
- 조직 Maturity 페이지를 방문하여 모든 프로젝트를 한눈에 확인하세요.
조직의 아키텍처 건강 상태가 미스터리여서는 안 됩니다. 이제 그것은 하나의 문자 등급입니다.