Skip to content

Latest commit

 

History

History
186 lines (122 loc) · 6.91 KB

File metadata and controls

186 lines (122 loc) · 6.91 KB

🇺🇸 English

Chapter 2: 심층 인터뷰로 요구사항 구체화

소요 시간: ~25분 Key Insight: AI에게 "만들어줘"라고 하기 전에, AI가 "무엇을 만들지" 정확히 이해할 때까지 대화하라.

Context

Chapter 1에서 ideation 문서를 작성했지만, 많은 것이 모호합니다: 점수는 어떻게 매기는지, 필수와 권장 항목의 차이는 무엇인지, MVP 범위는 어디까지인지. 이 모호함을 해소하기 위해 **심층 인터뷰(Deep Interview)**를 수행합니다.

심층 인터뷰는 AI가 소크라테스식으로 한 번에 하나의 질문을 던져 요구사항을 구체화하는 기법입니다. 매 라운드마다 모호도 점수를 수학적으로 측정하고, 20% 이하로 떨어지면 구현으로 넘어갑니다.

The Prompt

docs/ideation.md 를 읽고 PRD를 심층 인터뷰를 통해서 컨텍스트를 보강한 다음 생성해줘.

한 문장 프롬프트입니다. 하지만 이 안에 세 가지가 담겨 있습니다:

  1. 입력: ideation.md를 읽어라
  2. 방법: 심층 인터뷰로 컨텍스트를 보강해라
  3. 출력: PRD(Product Requirements Document)를 생성해라

What Happened: 10라운드 인터뷰

AI가 자동으로 심층 인터뷰 모드에 진입하여, 3개 차원(Goal Clarity, Constraint Clarity, Success Criteria)의 가중 점수를 추적하며 질문을 던졌습니다.

Round 1 — "누가, 언제 사용하나요?" (모호도 80%)

Q: 이 CLI의 주요 사용자는 누구이며, 어떤 시나리오에서 실행하게 되나요?
   (A) 개발자 셀프 체크
   (B) 팀 리드 일괄 평가
   (C) CI/CD 파이프라인 게이트
   (D) 복합 (모두 해당)

A: 복합 (모두 해당)
Dimension Score Gap
Goal 0.35 판정 결과가 무엇인지 불명확
Constraints 0.10 기술 스택, 런타임 미정
Success Criteria 0.10 수용 기준 없음

Round 2 — "결과물 형태는?" (모호도 69%)

Q: 분석 결과가 사용자에게 어떻게 전달되어야 하나요?

A: 복합 (점수 + 등급 + 권고)

점수만이 아닌 등급 + 개선 권고까지 포함하는 포괄적 리포트로 확정.

Round 3 — "기술 스택은?" (모호도 60%)

Q: 이 CLI를 어떤 기술 스택으로 구현하고 싶으신가요?

A: TypeScript + Node.js

Round 4 (Contrarian Mode) — "정말 6개 다 필요한가?" (모호도 54%)

AI가 도발적 질문을 던집니다:

Q: 6개 카테고리 중 하나만 통과해도 준비 완료라면 어떤 것이 가장 중요?
   없어도 가능한 것은?

A: 계층적 구조 — 필수/권장을 분리

이 질문 덕분에 필수(must) vs 권장(nice) 개념이 탄생했습니다.

Round 5 — "필수와 권장 분류" (모호도 49%)

Q: 6개 카테고리 중 필수(must-have)와 권장(nice-to-have) 분류는?

A: 검증력 우선
   필수: 테스트, CI/CD, 훅 검증
   권장: 리포 구조, 문서화, 바이브코딩 설정

Round 6 (Simplifier Mode) — "MVP 범위" (모호도 40%)

Q: MVP로 가장 단순한 버전을 먼저 만든다면, 어떤 범위까지?

A: 단일 리포 + 터미널 출력

JSON/HTML 출력, CI 게이트 모드, 복수 리포 일괄 점검은 모두 후속 버전으로 밀렸습니다.

Round 7 — "완성 기준" (모호도 34%)

Q: MVP가 완성되었다고 판단할 수 있는 구체적인 기준은?

A: 샘플 리포 검증 — 실제 리포에 돌려서 합리적인 결과가 나오면 성공

Round 8 — "분석 깊이" (모호도 27%)

Q: 각 카테고리별로 구체적으로 무엇을 찾아야 할까요? 분석 깊이는?

A: 파일 존재 + 내용 분석 (중간 깊이)

실행 기반 분석(테스트/린트 실제 실행)은 후속 버전으로 빠지고, 파일 파싱까지만 MVP 범위로 확정.

Round 9 — "검증용 샘플 리포" (모호도 23%)

Q: MVP 검증을 위한 샘플 리포는?

A: nextintelligence-ai org 하위 리포를 활용

Round 10 — "언어별 패턴 지원?" (모호도 19% — 통과!)

Q: 언어 agnostic인가요, 언어별 패턴을 지원하나요?

A: Claude Code SDK를 사용해서 LLM으로 분석 — 패턴 매칭이 아닌 AI 판단

이 답변이 프로젝트의 핵심 아키텍처를 결정했습니다: 규칙 기반이 아닌 LLM 기반 분석.

The Result: 모호도 100% → 19%

Final Ambiguity Score: 19% (PASSED, threshold: 20%)

| Dimension        | Score | Weight | Weighted |
|------------------|-------|--------|----------|
| Goal Clarity     | 0.90  | 0.40   | 0.36     |
| Constraint       | 0.75  | 0.30   | 0.225    |
| Success Criteria | 0.75  | 0.30   | 0.225    |
| Total Clarity    |       |        | 0.81     |

10번의 질문-답변으로 다음이 확정되었습니다:

  • 사용자: 개발자 셀프 체크 (MVP)
  • 기술 스택: TypeScript + Node.js, Claude Agent SDK
  • 분석 방식: LLM 기반 (패턴 매칭 아님)
  • 결과물: 점수 + 등급 + 개선 권고
  • 카테고리: 필수 3개(테스트, CI/CD, 훅) + 권장 3개(구조, 문서, 바이브설정)
  • 스코어링: 가중 평균, 필수 카테고리 F → 전체 등급 C 캡핑
  • MVP 범위: 단일 리포 + 터미널 출력만
  • 분석 깊이: 파일 존재 + 내용 파싱

Lessons Learned

  1. 모호함은 측정할 수 있다: 3개 차원(Goal, Constraints, Success Criteria)의 가중 점수로 모호도를 수치화하면, "충분히 구체적인지"를 객관적으로 판단할 수 있다.

  2. Contrarian 질문이 핵심을 찾는다: Round 4의 도발적 질문("정말 다 필요한가?")이 필수/권장 분리라는 핵심 설계를 이끌어냈다. 편한 질문만으로는 이런 인사이트가 나오지 않는다.

  3. MVP는 적극적으로 버려야 한다: Round 6에서 JSON 출력, CI 게이트, 복수 리포 등을 과감히 후속으로 밀었다. "다 하겠다"는 "아무것도 못 한다"와 같다.

  4. 기술적 결정도 인터뷰에서 나온다: Round 10에서 "LLM 기반 분석"이라는 핵심 아키텍처 결정이 자연스럽게 나왔다. 기술 선택을 미리 정하지 않고, 요구사항 대화 과정에서 도출하는 것이 더 나은 결정을 만든다.

Try It Yourself

# Claude Code에서 심층 인터뷰 실행
claude

# 프롬프트 입력
> docs/ideation.md 를 읽고 심층 인터뷰를 통해 요구사항을 구체화해줘

# 또는 oh-my-claudecode 스킬 직접 호출
> /oh-my-claudecode:deep-interview

: 답변할 때 객관식 선택지에 얽매이지 마세요. "복합", "둘 다", 또는 완전히 새로운 답변을 자유롭게 제시할 수 있습니다. AI가 그에 맞게 모호도를 재계산합니다.


이전 챕터: 01 - 아이디어와 프로젝트 초기화 다음 챕터: 03 - MVP 구현