📑 이 챕터에서 다룰 내용
새 1장에서 5파일+의 정체성을 정의했습니다. 5파일이 9개 표준 도구의 산출물을 흡수하고, 5확장이 표준 미점유 영역을 메운다는 것까지. 새 2장에서 빈 5파일과 git 폴더를 만들었고, 새 3장에서 Claude Code 런타임을 설치했습니다. 이 장은 한 단계 더 들어갑니다. 5파일이 "한 번 만들어지고 끝"이 아니라 "사이클로 돈다"는 의미를 풀어드립니다.
SPEC v1을 적으면 → 외부 검토 받음 → SPEC v2가 나옴 → 사용자 직관 → SPEC v3 → 두 검토자 → SPEC v4. 이게 한 "명세 사이클"입니다. 그 후 PLAN.md를 적고, REVIEW.md로 점검하고, BUILD.md를 매일 갱신합니다. 5파일이 서로 영향을 주고받으면서 점진적으로 단단해집니다.
이 "사이클"의 모습이 이 장의 핵심입니다. 다섯 개의 절로 풀어보겠습니다.
| 절 | 내용 |
|---|---|
| 4-1 | 5파일+ 한 사이클의 7단계 (SPEC v1 → 외부 검토 → ... → BUILD) |
| 4-2 | 9개 표준 도구의 워크플로우와 비교 |
| 4-3 | 표준 흡수 + 5확장 결합이 매 사이클마다 어떻게 작동하는가 |
| 4-4 | 줍줍·TSV 두 프로젝트의 한 사이클 비교 |
| 4-5 | "새 세션 시작 한 줄" — 사이클 진입의 마법 |
먼저 5파일+ 사이클을 한 그림으로 봅니다. 5파일을 만드는 "한 사이클"은 다음 7단계를 거칩니다.
[① SPEC v1 작성]
↓
[② 외부 검토 1차] (Claude로 만들고 → Gemini로 검토)
↓
[③ SPEC v2 패치]
↓
[④ 사용자 직관 점검] (자기가 다시 SPEC을 펼쳐서 빠진 것 점검)
↓
[⑤ SPEC v3 → 두 검토자 (Claude + Gemini) → SPEC v4]
↓
[⑥ PLAN v1 → v2 작성] (SPEC v4 기반)
↓
[⑦ REVIEW.md 작성 → READY: YES → BUILD 시작]
각 단계에서 무슨 일이 일어나는지 짧게 풀어드립니다.
단계 ① — SPEC v1 작성
"무엇을 만들 것인가"를 7항목 (한 줄 정의 / 타겟 사용자 / 핵심 기능 / 비기능 / 제약 / 성공 기준 / 수익화)으로 처음 적습니다.
시간: 약 1~2시간.
처음부터 완벽을 추구하면 영원히 v1을 못 끝냅니다. "7항목이 모두 채워졌고, 검토할 수 있는 형태"가 되면 v1입니다. 누락이 있어도 됩니다 — 그게 v2~v4에서 보완됩니다.
단계 ② — 외부 검토 1차
SPEC v1을 다른 AI에게 보여서 "빠진 것 / 약한 것"을 찾습니다.
이 책은 Gemini를 외부 검토자로 사용합니다. 이유: Claude (작성자)와 다른 회사·다른 모델이라 사각지대가 다릅니다. "같은 의료 시스템에서 교육받은 두 의사가 같은 맹점을 가지듯", 같은 AI 회사 모델은 같은 약점을 가집니다.
시간: 약 30분 (검토 요청 + 결과 받기).
Spec-Kit의 /speckit.analyze가 비슷한 역할을 합니다. 다만 Spec-Kit은 단일 모델 (보통 Claude) 검증입니다. 5파일+는 "의도적으로 다른 회사 모델"을 사용해서 사각지대 차이를 활용합니다. 이게 5확장 E3 (두 검토자 사각지대)의 핵심입니다.
단계 ③ — SPEC v2 패치
외부 검토 결과 (보통 5~7건의 발견)를 SPEC v1에 반영해서 v2를 만듭니다.
시간: 약 1시간.
- 받아들임 (즉시 반영) — 명백한 누락·오류
- 받아들이지만 PLAN으로 미룸 — 중요하지만 v1 시점에 적기 어려운 항목
- 기각 — 검토자가 컨텍스트를 모르고 잘못 지적한 경우
이 정직한 평가가 v2의 품질입니다.
단계 ④ — 사용자 직관 점검
가장 자주 잊혀지는 단계입니다. "외부 검토는 끝났지만 — 내가 다시 한 번 SPEC을 펼쳐서 직관으로 점검"입니다.
왜: 외부 검토자는 사용자의 "시장 직관"이 없습니다. "이 사용자 유형은 정말 베팅을 안 할 사람들인가?", "이 수익화 모델이 정말 한국 시장에 맞는가?" 같은 직관은 사용자만 갖고 있습니다.
시간: 약 30분~1시간. / 산출물: SPEC v3 (사용자 직관이 v2 위에 더해진 버전).
단계 ⑤ — SPEC v3 → 두 검토자 → SPEC v4
SPEC v3에 대해 두 번째 검토를 받습니다. 이때 처음과 다른 패턴:
- Claude 시뮬레이션 검토 (Claude에게 "이 SPEC의 약점을 찾아줘" 요청)
- 외부 Gemini 검토 (실제 외부 모델)
SPEC v2 → v3 진화 과정에서 새 결정 (사용자 직관 기반)들이 추가됐습니다. 그 새 결정들이 또 다른 약점을 만들었을 수 있습니다.
관찰되는 패턴: 12건 발견 중 "Claude만 잡은 것 4건 + Gemini만 잡은 것 6건 + 둘 다 잡은 것 2건". 한 검토자만 받으면 6개 또는 4개를 놓칩니다. 이게 5확장 E3의 핵심 메시지입니다.
시간: 약 1.5시간 (두 검토 + v4 통합). / 산출물: SPEC v4 (12건 모두 반영 + 통합).
단계 ⑥ — PLAN v1 → v2 작성
SPEC v4를 기반으로 "언제 · 어떤 순서로 · 얼마나"를 PLAN.md에 적습니다.
4가지 골격:
양방향 추적 가능 — SPEC §3-2 ↔ PLAN Day 4
1시간 단위로 구체화
측정 가능 통과 조건
영향·확률·완화책·트리거
PLAN v1 작성 → 시간 산식 점검 → "+29h 부담 발생" 같은 갭 발견 → 옵션 A·B·C 중 채택 → PLAN v2.
시간: 약 3시간 (v1 작성 + 갭 분석 + v2 패치). / 산출물: PLAN v2.1 (시간 갭 흡수 옵션 채택 후).
단계 ⑦ — REVIEW.md 작성 → READY: YES → BUILD 시작
10가지 체크리스트로 SPEC v4 + PLAN v2.1을 점검합니다. 외부 검토와 다른 자기 검증.
3단계 판정: PASS — 명확히 통과 / WITH-CONDITIONS — 조건부 통과 / FAIL — 미통과
READY 진입 기준: FAIL 0건 + WITH-CONDITIONS ≤ 3건.
이건 결함이 아니라 그물이 작동했다는 증거입니다. 75분~3시간 패치로 WITH-CONDITIONS를 1건만 남기고 모두 해결합니다.
시간: 약 2시간 (10가지 체크 + 패치). / 산출물: REVIEW.md + READY: YES + BUILD.md 첫 entry.
5파일+ 사이클의 7단계가 어떻게 "표준 도구의 워크플로우"와 같고 다른지를 보겠습니다.
GSD (TÂCHES) 워크플로우
/gsd-new-project → 질문 + 연구 + 요구사항 + 로드맵 (자동) /gsd-discuss-phase 1 → 1단계의 세부 결정 논의 /gsd-plan-phase 1 → 1단계 작업 계획 수립 /gsd-execute-phase 1 → 코드 실행 (병렬 wave) /gsd-verify-work 1 → 결과 검증 /gsd-ship 1 → PR 생성 + 출시
한 줄 평가: 6개 명령으로 한 phase 완성. 자동화 깊이 가장 깊음. "질문 → 연구 → 요구사항 → 로드맵"이 한 명령 (/gsd-new-project) 안에서 자동 진행.
GitHub Spec-Kit 워크플로우
/speckit.constitution → 프로젝트 헌법 정의 (한 번) /speckit.specify → 명세 작성 /speckit.clarify → 모호함 객관식 정리 /speckit.analyze → 명세 일관성 자동 검증 /speckit.checklist → 검증 체크리스트 /speckit.implement → 코드 생성
한 줄 평가: 헌법 + 명세 + 분석 + 구현. "NEEDS CLARIFICATION"으로 모호함 자동 표시.
OpenSpec 워크플로우
openspec/changes/{name}/proposal.md 작성
↓
/opsx-explore → 대화형 elicitation
↓
/opsx:apply → 구현
↓
openspec/specs/ 머지 → source of truth
한 줄 평가: "전체 명세"가 아니라 "변경 제안 (delta)"만 적음. 가벼움.
BMAD-METHOD 워크플로우
Mary (분석가) → requirements.md ↓ Preston (PM) → PRD ↓ Winston (아키텍트) → architecture.md ↓ Sally (PO) → story breakdown ↓ Devon (개발자) → 구현 ↓ Quinn (QA) → test strategy
한 줄 평가: 7~8개 페르소나 협업으로 단계별 산출물. 깊이 가장 깊지만 무거움.
5파일+ 사이클의 자리
| 표준 흡수 | 5파일+의 단계 |
|---|---|
GSD /gsd-new-project (자동) | 단계 ① — "수동 SPEC v1 작성" (학습 가치) |
Spec-Kit /speckit.analyze | 단계 ②·⑤ — "두 검토자"로 확장 (E3) |
GSD /gsd-discuss-phase | 단계 ④ — "사용자 직관 점검" (E1·E2 등장) |
GSD /gsd-plan-phase | 단계 ⑥ — PLAN v1 → v2 (E2 1인 페이스) |
GSD /gsd-verify-work | 단계 ⑦ — REVIEW.md 10가지 체크 (E3 자기 검증) |
| BMAD Quinn (QA) | 단계 ⑦ — REVIEW.md 자기 검증 |
- 표준 도구: 빠르고 자동화
- 5파일+: 느리고 명시적 — 단계 ④ (사용자 직관) 같은 표준 미점유 자리를 본문에 박음
학습 단계에서는 5파일+의 "느리고 명시적"이 더 가치 있습니다. 운영 단계에서는 표준 도구의 "빠르고 자동화"가 더 가치 있을 수 있습니다.
"표준 도구가 자동화"라고 해서 "표준 도구가 더 좋다"는 뜻은 아닙니다. "자동화"는 "내부 작동을 안 보여줌"의 다른 이름입니다. 학습자는 "왜 이 결정이 내려졌는지"를 봐야 다음 결정을 직접 내릴 수 있습니다. 5파일+가 의도적으로 수동인 이유가 여기 있습니다.
5파일+ 사이클은 한 번 도는 게 아닙니다. 프로젝트 진행 내내 같은 사이클이 반복됩니다.
한 사이클의 결과물
7단계가 끝나면 손에 들리는 것:
프로젝트폴더/ ├── SPEC.md (12~24KB) — v4까지 진화 + E1 회색지대 ├── PLAN.md (18~28KB) — v2.1 + E2 1인 페이스 ├── REVIEW.md (12~17KB) — 10가지 체크 + E3 두 검토자 결과 ├── BUILD.md ( 4KB) — placeholder, BUILD 시작 후 매일 갱신 ├── CLAUDE.md ( 7KB) — 200줄 + E5 콘텐츠 SSOT 규칙 └── .gitignore + git history (첫 commit) 5파일 합계 약 53~80KB. 줍줍은 53KB, TSV는 80KB.
BUILD 단계의 작은 사이클
[Day N 작업 4시간]
↓
[BUILD.md 일자별 로그 5분] ← E4 LogOnTable 적용
↓
[CLAUDE.md 갱신 (필요 시)] ← E5 적용
↓
[git commit]
↓
[/clear]
↓
[새 세션 — "5파일 읽고 현재 파악"]
↓
[Day N+1 작업 4시간]
Phase 단위의 큰 사이클
[Phase 1.0 BUILD 33일]
↓
[Phase 1.0 게이트 통과] (Day 33)
↓
[Phase 1.1 PLAN 초안] (SPEC v5 등장 가능)
↓
[Phase 1.1 외부 검토] (E3 다시 작동)
↓
[Phase 1.1 SPEC v5/PLAN v3]
↓
[Phase 1.1 REVIEW]
↓
[Phase 1.1 BUILD 시작]
매 사이클마다 5확장이 다시 작동
| 확장 | 첫 사이클 | 두 번째 사이클 (Phase 1.1 등) |
|---|---|---|
| E1 회색지대 | Position C 결정 | 새 페르소나 추가 시 익명성 재검토 |
| E2 1인 페이스 | 33일 일정 + +29h 갭 | Phase 1.1 "이번에도 빡빡한가" 재평가 |
| E3 두 검토자 | SPEC v3 → 12건 발견 | Phase 1.1 SPEC v5 → 다시 두 검토 |
| E4 LogOnTable | Position C 결정 트레이스 | Phase 1.1 "왜 페르소나 추가하는가" 트레이스 |
| E5 콘텐츠 SSOT | Phase 1.0 STAT/OBSERVER 2 페르소나 | Phase 1.1 COACH 페르소나 추가 + SSOT 갱신 |
Intent (living spec)도 "진화하는 명세" 사상을 가집니다. 다만 Intent는 "코드 변경이 spec에 자동 반영"의 living. 5파일+는 "매 사이클마다 사람이 의식적으로 5확장을 다시 적용"의 living. 둘이 다른 종류의 "살아있음"입니다.
같은 5파일+ 사이클이 "다른 도메인"에 어떻게 적용되는지 두 프로젝트 비교로 보겠습니다.
줍줍 (2탄, B2C 앱, 10주)
| 단계 | 내용 | 시간 |
|---|---|---|
| ① SPEC v1 | 정부 지원금 정보 + 후기 공유 앱, 7항목 | 1.5h |
| ② 외부 검토 1차 | Gemini → "개인정보 수집 불명확", "통계 조작 방지 부재" 등 5건 | 30m |
| ③ SPEC v2 | IDFA 미수집 명시 + UNIQUE 제약 추가 | 1h |
| ④ 사용자 직관 | "줍줍 표현이 정부 공식 절차와 거리" 발견 → 표현 정제 결정 | 30m |
| ⑤ SPEC v3 → 두 검토자 → v4 | 12건 추가 (LLM confidence 임계값 / 두 탭 SSOT 등) | 1.5h |
| ⑥ PLAN v1 → v2 | 10주 일정 + 8게이트 + 12리스크 + R4 (1인 번아웃) | 2.5h |
| ⑦ REVIEW + READY | 10가지 체크 → PASS 6 + WITH-CONDITIONS 4 → 패치 75m → READY | 2h |
| 합계 | Phase 0 (2주차 끝까지) | 약 9시간 |
TotalSportsView (3탄, 미디어 플랫폼, 12개월)
| 단계 | 내용 | 시간 |
|---|---|---|
| ① SPEC v1 | 19리그 자동화 미디어 + 다중 페르소나, 7항목 | 2h |
| ② 외부 검토 1차 | Gemini → "법적 회색지대 명시 부재", "페르소나 사실 환각 위험" 등 6건 | 30m |
| ③ SPEC v2 | Position C 도입 + SSOT 메커니즘 추가 | 1.5h |
| ④ 사용자 직관 | "운영자 패널 페르소나 정지 필요" + "Day 14 가설 검증 게이트" | 1h |
| ⑤ SPEC v3 → 두 검토자 → v4 | 12건 추가 (페르소나 사실 환각·SEO 키워드 분리·다관점 가설 등) | 2h |
| ⑥ PLAN v1 → v2.1 | 33일 일정 + 5게이트 + 14리스크 + +29h 갭 흡수 옵션 C | 3h |
| ⑦ REVIEW + READY | 10가지 체크 → PASS 5 + WITH-CONDITIONS 5 → 패치 75m → READY | 2h |
| 합계 | Phase 0 (1~2주차 끝까지) | 약 12시간 |
두 프로젝트 비교
| 영역 | 줍줍 | TSV |
|---|---|---|
| 도메인 | B2C 정부 지원금 앱 | 미디어 플랫폼 |
| 일정 | 10주 (단기) | 12개월 (장기) |
| Phase 0 SPEC 분량 | 12KB | 24KB |
| Phase 0 PLAN 분량 | 18KB | 28KB |
| Phase 0 합계 시간 | 9h | 12h |
| 외부 검토 1차 발견 | 5건 | 6건 |
| 두 검토자 12건 패턴 | 동일 (Claude 4 + Gemini 6 + 둘 다 2) | 동일 |
| 1차 REVIEW 결과 | PASS 6 + W-C 4 | PASS 5 + W-C 5 |
5파일+의 7단계는 도메인이 달라도 같은 형식으로 작동합니다. 분량과 시간은 도메인 복잡도에 비례합니다.
한 번 익히면 어떤 도메인에도 적용 가능한 사이클. 이게 5파일+의 가치입니다.
5파일+ 사이클이 작동하는 가장 마법 같은 순간이 있습니다. 새 세션 시작의 한 줄입니다.
SPEC.md, PLAN.md, REVIEW.md, BUILD.md, CLAUDE.md를 읽고 현재 상황을 파악한 뒤 다음 단계를 알려줘.
이 한 줄이 "5파일+ 사이클의 진입점"입니다. Claude Code가 5파일을 읽으면:
- SPEC.md → 무엇을 만드는지 인지
- PLAN.md → 언제 어떤 순서인지 인지
- REVIEW.md → BUILD 진입 준비 상태 인지
- BUILD.md → 지금까지 무엇을 했는지 인지
- CLAUDE.md → 어떤 규칙·금지·완성된 것 인지
→ Claude가 "현재 상황 + 다음 단계"를 즉시 답합니다.
비개발자 동업자께 — 이게 왜 마법인가
6개월 후 동업자가 자기 컴퓨터에 이 프로젝트 폴더를 받았다고 가정해보세요. 동업자는 코드를 한 줄도 본 적 없고, "지금까지 무엇이 결정됐는지" 모릅니다.
동업자가 폴더에서 claude 명령으로 Claude Code를 켜고, 위 한 줄을 입력합니다.
Claude는 5파일을 읽고:
- "이 프로젝트는 줍줍이라는 정부 지원금 앱이군요"
- "Phase 1.0 BUILD가 Day 17까지 진행됐습니다"
- "Day 18 작업은 운영자 비상 패널 추가입니다. 어제 Day 17에 마이페이지 + FCM 연동을 끝냈고..."
즉시 답합니다. 동업자가 코드 한 줄도 본 적 없어도 "지금부터 무엇을 해야 하는지" 명확합니다.
표준 도구는 자동화가 깊지만 "무엇이 결정됐는지"가 산출물에 흩어져 있습니다 (GSD의 PROJECT.md / REQUIREMENTS.md / ROADMAP.md / STATE.md / phase별 PLAN.md / SUMMARY.md / VERIFICATION.md / UAT.md). 6개월 후 동업자가 펼쳐서 "어디부터 보지" 막힙니다.
5파일+는 5개 파일에 모든 정보가 들어 있습니다. 가독성 우선의 결정이고, 인수인계 시 가치가 가장 커집니다.
- 1️⃣ 7단계 사이클: ① SPEC v1 → ② 외부 검토 1차 → ③ SPEC v2 → ④ 사용자 직관 → ⑤ SPEC v3 → 두 검토자 → SPEC v4 → ⑥ PLAN v1 → v2 → ⑦ REVIEW + READY → BUILD
- 2️⃣ 표준 흡수 매핑: GSD, Spec-Kit, BMAD 모두 7단계 안에 통합됨
- 3️⃣ 5확장 매 사이클 작동: E1~E5가 매 사이클마다 다시 적용됨
- 4️⃣ 두 프로젝트 비교: 줍줍 53KB·9시간 / TSV 80KB·12시간 — 형식 동일, 분량은 복잡도 비례
- 5️⃣ 새 세션 진입 마법: "5파일을 읽고 현재 상황 파악한 뒤 다음 단계 알려줘" — 6개월 후 동업자도 즉시 작업 재개 가능
5파일+ 사이클은 7단계로 도는 "살아있는 명세"입니다.
매 사이클마다 5확장 (E1~E5)이 다시 작동하고, 새 세션 한 줄로 진입합니다.