콘텐츠로 이동

ADR-0010 — 통합 개발 라이프사이클 확장 + 버전 통일

Context

ADR-0005에서 정한 신규 기능 8단계 워크플로는 wiki·FRD 중심으로, 다음 영역의 통합이 미흡: - 디자인 (Figma) — FRD §7에 "Figma TBD"만 있고 게이트 없음 - QA (E2E 시나리오·테스트 케이스) — FRD에 path만 있고 작성 시점·게이트 없음 - 마케팅 (카피·랜딩·SEO) — 6모 시즌 오픈챌린지 출시인데 협업 흐름 없음 - 운영 (CS·feature flag·롤아웃·모니터링) - 버전 통일 — Notion v0.x ↔ spec vY.Z 불일치 (사고력 v0.2 → spec v0.2, 챌린지 v0.2 → spec v0.2)

사용자 의문 (2026-05-21): 1. "spec.md 넣고 바로 개발 진행하는 게 맞아? 기획-프론트-백-디자인-마케팅 작업 흐름은?" 2. "버전을 맞춰야 될 거 같은데 — 노션 기획 v0.1이면 spec FRD wiki 등 0.1, 업데이트된 v0.2이면 그에 맞게 0.2"

잘나가는 스타트업 조사 (2025-2026)

회사 패턴 시사점
Linear Issue 내 PRD + 디자인 + spec 병렬 게이트는 issue status로
Notion Product spec template (PRD + Design + Spec 탭) 통합 페이지로 단일 진실원천
Stripe Spec → Design → Verify → Dev spec versioning은 OpenAPI
Figma Dev Mode 디자인 → Code Connect 컴포넌트 매핑 디자인-spec 단방향
Vercel v0 Figma wireframe → AI 컴포넌트 자동 생성 spec이 코드 input
Toss Figma 컴포넌트 기반 + 마크다운 wiki 한국 작은 팀 패턴

합의: 1. 디자인·spec 병렬, waterfall X 2. 단계별 게이트 (다음 단계 진입 조건 명시) 3. 작은 팀(2~3명) 최소 필수 = spec.md + qa-plan.md + CHANGELOG.md + wiki/log.md 4. 마케팅·CS·운영은 외부 Notion (코드 리포 밖) 5. 버전은 PRD(Notion) 버전과 1:1 매칭 (Stripe·Notion API 패턴)

Decision

1. 통합 개발 라이프사이클 — 12단계 (필수 8 + 선택 4)

필수 8단계 (ADR-0005 그대로)

# 산출물 위치
1 Notion 기획 raw sync raw/notion/<page>.md
2 추상 concept wiki/concepts/<X>.md
3 결정 사유 ADR wiki/decisions/ADR-NNNN.md (필요 시)
4 Backend 구현 명세 mvp-back/docs/frd/<X>/spec.md
5 Frontend 구현 명세 mvp-front/docs/frd/<X>/spec.md
6 코드 구현 백 → 프 순서
7 도메인 인덱스 갱신 wiki/domains/<X>.md
8 변경 이력 append /log-appendwiki/log.md

선택 4단계 (작은 팀 우선순위 낮음, 기능 규모에 따라)

# 산출물 위치 게이트
9 디자인 게이트 Figma 파일 (외부) "Ready for dev" 마크 → 단계 4·5 진입 가능
10 QA 게이트 <X>/qa-plan.md (FRD 폴더 내) E2E 시나리오 작성 → 단계 6 진입
11 마케팅·CS 산출물 외부 Notion marketing/<slug>, operations/<slug> 출시 1주 전
12 변경 이력 압축 <X>/CHANGELOG.md (FRD 폴더 내) 매 버전 신규 후

1.5. wiki/concept 페이지 v 단위 분리 정책 (사용자 추가 요청 2026-05-22)

모든 concept 페이지는 v 단위로 분리 (Minor·Breaking 무관 일관 분리):

시점 처리
v0.1 최초 작성 wiki/concepts/<X>.md 신규, status: drafted
v0.2 갱신 wiki/concepts/<X>.mdstatus: superseded + supersedes_by: <X>-v0.2 (본문 보존) + 신규 wiki/concepts/<X>-v0.2.md (status: drafted, supersedes: <X>)
v0.3 이상 동일 패턴 — 매 v 단위마다 새 페이지 + 이전 페이지 superseded

근거: - 사용자 의도 "v0.1·v0.2 업데이트 과정이 보이도록" - Karpathy LLM wiki "decisions are forever" — concept도 역사 보존 - 사고력·챌린지 모두 동일 패턴 → 사람·LLM 인지 부담 최소

⚠ FRD spec.md와 다른 정책: - FRD spec.md: 활성 spec은 <X>/spec.md (frontmatter version) + archive에 v0.X 보관 - wiki/concept: 모든 버전을 페이지로 공존 (Karpathy 원칙 강화)

2. 버전 통일 정책 (Notion v0.x ↔ spec v0.x 1:1)

파일 표기
mvp-back/docs/frd/<X>/spec.md frontmatter version Notion 페이지 버전 (v0.1, v0.2, ...)
mvp-front/docs/frd/<X>/spec.md frontmatter version 동상
wiki/concepts/<X>.md frontmatter version 동상
archive/spec-vX.Y-YYYY-MM-DD.md 파일명 Notion 버전 명시
wiki/concepts/<X>-v0.Y.md (신규 v 페이지) Notion 버전 명시

원칙: - version 필드 = Notion 페이지 버전 (Notion이 source of truth) - breaking/minor 구분은 CHANGELOG + 변경 이력 표 "내용" 컬럼에서 표기 ("v0.2 — Breaking" / "v0.2 — Minor") - 신규 notion_version frontmatter 필드 추가 (Notion 페이지와의 매칭 명시) - API path versioning은 별도 (/api/v1/, /api/v2/ ...) — Notion 버전과 무관

3. CHANGELOG.md per feature

FRD 폴더에 단순 changelog. v0.1 ↔ v0.2 변경 trace를 git history 외 한 페이지에 압축.

포맷:

# <기능명> Changelog

## v0.2 (YYYY-MM-DD) — Breaking / Minor
- **Notion**: [v0.2 페이지](url)
- **ADR**: [[ADR-NNNN]]
- **변경**: 항목 나열
- **PR**: #NNN
- **Archived spec**: archive/spec-v0.1-YYYY-MM-DD.md (있을 때만)

## v0.1 (YYYY-MM-DD) — Initial
- **Notion**: [v0.1 페이지](url)
- **변경**: 최초 작성

4. 게이트 정책 (작은 팀 최소 운영)

게이트 진입 조건 게이트 위치
spec 확정 단계 4·5 완료 + 변경 이력 표 갱신 spec.md frontmatter status: drafted → active
코드 진입 (단계 6) spec 확정 + (선택) Figma "Ready for dev" + (선택) qa-plan 작성 PR review 시 spec.md 갱신 동반
머지 단계 6 + 단계 7·8 완료 GitHub PR review + log.md append
출시 (선택) 단계 11 마케팅·CS 준비 완료 feature flag rollout 직전

작은 팀은 디자인 게이트·QA 게이트를 선택사항으로 운영. 기능 규모가 커지면 게이트를 강제로 격상.

Consequences

긍정: - 디자인·QA·마케팅 통합 흐름 명문화 → 큰 기능 출시 시 누락 방지 - 버전 통일 → Notion ↔ spec ↔ wiki ↔ archive 추적성 ↑ - CHANGELOG.md per feature → 사람·LLM이 한 페이지에서 변경 trace 확인 - 작은 팀 최소 필수와 풀 워크플로 분리 → 단계 가감 자유

부정: - 단계 수 증가 (8 → 12) → 인지 부담 - 버전 통일 작업 1회 (기존 spec v0.1/v0.2/v0.2 → v0.1/v0.2) — 본 PR에 포함 - 외부 Notion과 코드 리포 양쪽 관리 → 동기화 부담 (단 명확한 분리로 충돌 X)

Alternatives

옵션 평가
8단계 그대로 유지 (선택사항 없음) ❌ 디자인·QA·마케팅 흐름 누락
모든 게이트를 필수화 (12단계 의무) ❌ 작은 팀 over-engineering, 속도 저하
외부 Notion에 모든 단계 통합 (코드 리포 spec 제거) ❌ ADR-0004 (spec은 코드 옆) 위반, LLM 접근성 ↓
버전 semver (v0.1.0/v0.2.0) — 코드 버전 따로 ❌ Notion ↔ spec ↔ wiki 매칭 어려움, 사용자 의도와 어긋남
✅ 채택: 12단계 (필수 8 + 선택 4) + Notion v0.x 매칭 작은 팀 최소 + 풀 워크플로 모두 지원

Status

  • 2026-05-21: accepted

Date

2026-05-21