156 lines
10 KiB
YAML
156 lines
10 KiB
YAML
lens-registry:
|
|
version: 2
|
|
purpose: >
|
|
서로 구별되는 12개 평가 렌즈를 다양성의 바닥으로 고정한다.
|
|
다양성은 렌즈 수에서 나오며 role headcount가 아니다. 효율화(패밀리 통합)는 이 바닥을 줄이지 않는다.
|
|
v2: LENS-ADVISORY(외부·제3자 독립 자문) 추가 — 컨설팅 패밀리가 carry. 내부 렌즈로 대체 불가(내부 편향 밖 관점).
|
|
source-document: org-os/00-role-registry/team-topology-map.yaml (executive-balance)
|
|
rules:
|
|
- R1. 패밀리 통합 시 서로 다른 lens는 절대 병합 금지. 같은 lens의 중복 role만 합친다.
|
|
- R2. divergent 모드는 tier별 최소 렌즈 수 이상을 병렬로 커버해야 한다.
|
|
- R3. converge 모드(특히 heavy)는 렌즈 의견을 하나로 뭉치지 말고 트레이드오프째 노출한다.
|
|
- R4. LENS-CONTRARIAN 담당 패밀리는 해당 옵션을 작성한 패밀리와 달라야 한다(이해상충 방지).
|
|
lenses:
|
|
- { lens-id: LENS-VALUE, name: 장기가치, question: "장기 회사가치·포트폴리오 적합성?", carrier-families: [FAM-CEO, FAM-STRATEGY, FAM-ARCHITECTURE-BIZ], primary: FAM-CEO }
|
|
- { lens-id: LENS-TECH, name: 기술, question: "아키텍처·안정성·확장성·기술부채?", carrier-families: [FAM-CTO, FAM-VPENG, FAM-ENG-FRONTEND, FAM-ENG-BACKEND, FAM-ENG-SPECIAL, FAM-PLATFORM-INFRA, FAM-ARCHITECTURE-TECH, FAM-DATA], primary: FAM-CTO }
|
|
- { lens-id: LENS-PRODUCT, name: 제품, question: "고객문제·제품가치·로드맵·P/L?", carrier-families: [FAM-CPO, FAM-PRODUCT-MGMT], primary: FAM-CPO }
|
|
- { lens-id: LENS-FINANCE, name: 재무, question: "비용·ROI·자본효율·기회비용?", carrier-families: [FAM-CFO, FAM-STRATEGY, FAM-REVOPS], primary: FAM-CFO }
|
|
- { lens-id: LENS-OPS, name: 운영, question: "운영타당성·프로세스·지원부담?", carrier-families: [FAM-COO, FAM-OPS-DELIVERY, FAM-ARCHITECTURE-BIZ], primary: FAM-COO }
|
|
- { lens-id: LENS-INTEGRATION, name: 제품기술통합, question: "제품-기술 통합·충돌 감소?", carrier-families: [FAM-CPTO], primary: FAM-CPTO }
|
|
- { lens-id: LENS-SECURITY, name: 보안, question: "위협·shift-left·데이터 무결성?", carrier-families: [FAM-SECURITY, FAM-PLATFORM-INFRA], primary: FAM-SECURITY }
|
|
- { lens-id: LENS-LEGAL, name: 법무, question: "계약·컴플라이언스·프라이버시?", carrier-families: [FAM-LEGAL], primary: FAM-LEGAL }
|
|
- { lens-id: LENS-CUSTOMER, name: 고객, question: "사용자 리서치·고객의 소리·경험?", carrier-families: [FAM-UX-RESEARCH, FAM-DESIGN, FAM-GTM-SALES, FAM-OPS-DELIVERY], primary: FAM-UX-RESEARCH }
|
|
- { lens-id: LENS-REVENUE, name: 매출, question: "매출영향·GTM motion·lead-to-cash?", carrier-families: [FAM-REVOPS, FAM-GTM-GROWTH, FAM-GTM-SALES], primary: FAM-REVOPS }
|
|
- { lens-id: LENS-ADVISORY, name: 외부자문, question: "내부 편향 밖에서 보면? 벤치마크·베스트프랙티스·독립 검증 대비 어디에 서 있나? 실무 프레임워크(MECE·Pyramid·Diátaxis·C4)로 증명되나?", carrier-families: [FAM-CONSULTING, FAM-DOC-CONSULT], primary: FAM-CONSULTING }
|
|
- { lens-id: LENS-CONTRARIAN, name: 역발상, question: "이걸 하지 말아야 할 이유·무엇이 깨지나?", carrier-families: [], carrier-policy: rotation-any-audit-capable-non-authoring-family, primary: null }
|
|
shared-lens-selection:
|
|
rule: divergent 시 공유 렌즈(carrier 다수)는 기본적으로 primary carrier 1개가 대변한다.
|
|
heavy-expansion: tier=heavy이고 그 렌즈가 결정에 핵심이면, 동일 렌즈의 추가 carrier를 서로 다른 sub-angle로 분화해 spawn한다.
|
|
example: LENS-TECH는 heavy에서 아키텍처(FAM-ARCHITECTURE-TECH)/플랫폼신뢰성(FAM-PLATFORM-INFRA)/데이터(FAM-DATA) sub-angle로 분화.
|
|
contrarian-rotation:
|
|
state-source: state/workflow-state-registry.yaml last-contrarian-family
|
|
policy: round-robin over audit-capable non-authoring families
|
|
rule: 직전 last-contrarian-family 다음 순번을 선택하고 선택 후 갱신한다.
|
|
sub-specialty-axis:
|
|
# lens 다양성(위 12 lens = 다양성 바닥)과 '별개의 축'. lens_cap이 이 축으로 판정한다.
|
|
# 근거: 리뷰 finding #12. 이전 lens_cap은 role별이 아니라 family의 carries-lenses를
|
|
# 모든 멤버에 복사해, 같은 lens면 무조건 1명만 남기고 나머지 전문분야를 삭제했다
|
|
# (아키텍트 7명: EA/솔루션/앱/기술/IT/시스템분석/SWAT → standard에서 6명 삭제).
|
|
purpose: >
|
|
같은 lens 안에서도 서로 다른 sub-specialty(전문분야)는 중복이 아니다
|
|
(application vs system architecture, PM vs TPO, product vs platform design,
|
|
security-engineering vs appsec). lens_cap은 이 축으로 '진짜 중복(같은/미분화
|
|
sub-specialty)'만 잡고, distinct sub-specialty는 tier 상한까지 허용해 전문분야
|
|
삭제를 멈춘다. lens = 다양성 축(무엇을 보는가), sub-specialty = 커버리지 축(어떤 전문성인가).
|
|
rules:
|
|
- S1. 위반 = 같은 lens 안에서 (a) 같은/미분화 sub-specialty를 2명 이상 spawn(진짜 중복),
|
|
또는 (b) distinct sub-specialty 수가 tier 상한 초과(fan-out 폭 가드).
|
|
- S2. distinct sub-specialty는 tier 상한까지 허용한다(같은 lens라도 서로 다른 전문분야는 살린다).
|
|
- S3. tier=heavy는 permissive(sub-angle 분화 전면 허용) — 상한/중복 검사 생략.
|
|
- S4. role→sub-specialty는 대소문자 무시(registry는 UPPER, 호출은 어느 case든 허용).
|
|
distinct-sub-specialties-per-lens:
|
|
# 한 lens 안에서 병렬 spawn 허용되는 '서로 다른 sub-specialty' 상한(=fan-out 폭 가드).
|
|
# 값 근거: standard는 최대 fan-out family(FAM-ARCHITECTURE-TECH 7명)에 여유 1을 더해 8.
|
|
# light는 저위험·경량이라 폭을 좁혀 3. heavy는 무제한(null).
|
|
light: 3
|
|
standard: 8
|
|
heavy: null
|
|
derivation:
|
|
rule: >
|
|
role의 sub-specialty는 아래 role-sub-specialty 매핑에서 찾는다(대소문자 무시).
|
|
매핑에 없으면 role-id 자체를 sub-specialty로 본다(각 role은 기본적으로 고유 전문분야 —
|
|
누락 role이 실수로 '미분화'로 합쳐져 전문분야가 삭제되는 것을 막는다).
|
|
lens 판별 불가한 미등록 role은 어느 lens 그룹에도 속하지 않아 위반 대상이 아니다.
|
|
soT-note: >
|
|
role-profiles.yaml은 편집하지 않는다(gen_agents가 읽는 원천). 이 매핑이 sub-specialty 축의 SoT다.
|
|
role-sub-specialty:
|
|
# LENS-TECH — architecture (FAM-ARCHITECTURE-TECH): 같은 lens, 서로 다른 전문분야
|
|
ARCH-EA: enterprise-architecture
|
|
ARCH-SOLUTION: solution-architecture
|
|
ARCH-APP: application-architecture
|
|
ARCH-TECH: infrastructure-architecture
|
|
ARCH-IT: it-systems-architecture
|
|
ARCH-SYSANALYST: systems-analysis
|
|
ARCH-SWAT: architecture-swat
|
|
# LENS-TECH — data (FAM-DATA)
|
|
ARCH-DATA: data-architecture
|
|
DATA-ENGINEER: data-engineering
|
|
DATA-BIGDATA: bigdata-engineering
|
|
# LENS-TECH — frontend eng (FAM-ENG-FRONTEND)
|
|
ENG-FE: frontend-app
|
|
ENG-FEPLAT: frontend-platform
|
|
ENG-FEUX: frontend-ux-engineering
|
|
# LENS-TECH — backend eng (FAM-ENG-BACKEND)
|
|
ENG-BE: backend-app
|
|
ENG-BEGEN: backend-generalist
|
|
ENG-PRODSERVER: product-server
|
|
ENG-PLATSERVER: platform-server
|
|
ENG-PRODUCTMINDED: product-minded-engineering
|
|
ENG-SW: software-engineering
|
|
# LENS-TECH — special eng (FAM-ENG-SPECIAL)
|
|
ENG-DESKTOP: desktop-app
|
|
ENG-PRODCHAPTER: developer-productivity
|
|
# LENS-TECH / LENS-SECURITY — platform·infra (FAM-PLATFORM-INFRA)
|
|
INFRA-DEV: infra-development
|
|
INFRA-PLATFORM: platform-engineering
|
|
INFRA-DEVOPS: devops
|
|
SRE: site-reliability
|
|
SEC-DEVSECOPS: devsecops
|
|
# LENS-TECH — executives (IC와 구별되는 전문분야)
|
|
EXEC-CTO: technology-executive
|
|
EXEC-VPENG: engineering-delivery
|
|
# LENS-PRODUCT (FAM-CPO, FAM-PRODUCT-MGMT)
|
|
EXEC-CPO: product-executive
|
|
PROD-PM: product-management
|
|
PROD-PO: product-ownership
|
|
PROD-TPO: technical-product
|
|
PROD-PPO: platform-product
|
|
# LENS-CUSTOMER (FAM-UX-RESEARCH, FAM-DESIGN, FAM-GTM-SALES, FAM-OPS-DELIVERY)
|
|
UX-RESEARCHER: ux-research
|
|
DATA-ANALYST: product-analytics
|
|
DES-PROD: product-design
|
|
DES-PLATFORM: design-systems
|
|
DES-INTERNAL: internal-tools-design
|
|
GTM-CS: customer-success
|
|
GTM-PARTNER: partnerships
|
|
OPS-CH: customer-consulting
|
|
OPS-CREW: operations-crew
|
|
# LENS-SECURITY (FAM-SECURITY)
|
|
SEC-ENGINEER: security-engineering
|
|
SEC-APPSEC: application-security
|
|
SEC-CHAMPION: security-champion
|
|
# LENS-REVENUE (FAM-GTM-GROWTH, FAM-GTM-SALES, FAM-REVOPS)
|
|
GTM-GROWTHPM: growth-product
|
|
GTM-DEMANDGEN: demand-generation
|
|
GTM-PMM: product-marketing
|
|
GTM-CI: competitive-intelligence
|
|
GTM-SALES: sales
|
|
GTM-REVOPS: revenue-operations
|
|
GTM-PRICING: pricing-strategy
|
|
# LENS-FINANCE (FAM-CFO, FAM-STRATEGY, FAM-REVOPS)
|
|
EXEC-CFO: finance-executive
|
|
STR-ANALYST: strategy-analysis
|
|
# LENS-VALUE (FAM-CEO)
|
|
EXEC-CEO: chief-executive
|
|
# LENS-OPS / LENS-VALUE (FAM-COO, FAM-ARCHITECTURE-BIZ)
|
|
EXEC-COO: operations-executive
|
|
ARCH-BA: business-architecture
|
|
ARCH-BIZANALYST: business-analysis
|
|
# LENS-ADVISORY (FAM-CONSULTING, FAM-DOC-CONSULT)
|
|
CONSULT-EM: engagement-management
|
|
CONSULT-STRAT: strategy-consulting
|
|
CONSULT-OPS: operations-consulting
|
|
CONSULT-ORG: org-change-consulting
|
|
CONSULT-DIGITAL: digital-consulting
|
|
CONSULT-FIN: finance-risk-consulting
|
|
DOC-LEAD: doc-engagement-lead
|
|
DOC-WRITER: technical-writing
|
|
DOC-IA: information-architecture
|
|
DOC-VISUAL: technical-illustration
|
|
DOC-EDU: developer-education
|
|
# 기타 렌즈 singleton
|
|
EXEC-CPTO: product-tech-integration
|
|
GTM-LEGAL: legal-compliance
|
|
QA: quality-assurance
|
|
OPS-ORCH: orchestration
|