교육 영상 · 셀프 재생Learning video · self-running

RULE No.9

프로젝트 설계법 · 시작 전에 설계하라 · 시작을 누르면 음성과 함께 슬라이드가 자동 재생됩니다. Project Design · design before you start · Press start and slides advance with narration.

1·2 언어 전환 · ← → 수동 이동 · Space 재생/정지1·2 language · ← → navigate · Space play/pause
프로젝트 설계법 · No.9
01 / 14 목차Index
  이동 · F 전체화면 · RULE №9 · DESIGN BEFORE YOU START   navigate · F fullscreen · RULE №9 · DESIGN BEFORE YOU START [email protected]
일시정지Paused
0 / 0
Home
교육 세션 · 시작 전에 설계하라Learning session · design before you start

RULE No.9

시작 전에
설계하라.
Design
before you start.

목수도 톱을 들기 전에 도면을 그립니다. 오늘은 시작하는 순서 — 브레인스토밍 → 설계 → 구현, 그리고 이를 강제하는 Plan 모드·스펙·파일 맵·태스크 분해. The carpenter draws the plan before lifting the saw. Today, the order of starting — brainstorm → design → build, and what enforces it: Plan mode, spec, file map, task split.

As of 2026-06 · 명령·모드 이름은 바뀝니다 — '코딩 전에 의도를 맞추고 설계를 적는다'는 원리는 남습니다. [추론]As of 2026-06 · commands & mode names change — but the principle 'align on intent and write the design before coding' stays. [inference]

설계 · DESIGNDESIGN
1막 — 똑똑할수록 빨리 헤맨다Act 1 — The smarter it is, the faster it strays

전문가로 만들어 놨는데, 왜 '바로 시키면' 헤맬까?You made it an expert — so why does it stray when you 'just tell it to build'?

> 이거 만들어줘

(파일 생성… 수정… 또 수정…)

아, 제가 가정한 구조가 요구와 달랐네요 — 되돌릴게요
> just build this

(creating files… editing… editing again…)

Ah, the structure I assumed didn't match the requirement — reverting

능력이 아니라, 시작하는 순서의 문제입니다.Not a capability problem — a starting-order problem.

[추론] s08 콜백 — 지식을 잘 줘도, 설계 없이 시작하면 틀린 가정을 코드로 굳힌 뒤 되돌린다. 되돌림 = 낭비한 컨텍스트·토큰·방향. → 오늘은 '바로 시키기'에서 '먼저 설계하기'로.[inference] s08 callback — even with knowledge given well, starting without a design hardens a wrong assumption into code, then reverts. Reverting = wasted context·tokens·direction. → Today: from 'just tell it' to 'design first'.

1막 — 바로 시작의 대가Act 1 — The cost of diving in

설계 없이 시작하면, 세 가지를 잃는다.Start without a design and you lose three things.

① 방향① Direction

첫 가정이 틀리면 그 위에 쌓은 코드가 통째로 흔들린다 — 늦게 발견할수록 비싸다.If the first assumption is wrong, all the code on top shakes — the later you find it, the costlier.

② 컨텍스트② Context

질주 → 되돌림 → 재작업이 대화창을 태운다 (Rule No.2).Sprint → revert → rework burns the chat (Rule No.2).

③ 합의 — 글로 못 박지 않으면 사람과 Claude가 다른 그림을 그린다③ Alignment — without writing it down, you and Claude picture different things

[추론] s02·s03 콜백 — 설계 없는 시작은 틀린 가정을 늦게 발견하고(방향), 되돌림으로 컨텍스트를 태우며(Rule No.2), 사람·Claude가 다른 그림을 그린다(합의 부재). → 코딩 전에 의도와 설계를 먼저 맞춘다.[inference] s02·s03 callback — starting without a design finds wrong assumptions late (direction), burns context via rework (Rule No.2), and leaves human·Claude with different pictures (no alignment). → Align intent and design before coding.

2막 — 일을 시작하는 순서Act 2 — The order of starting work

시작 = 세 단계를 '순서대로' — 브레인스토밍 → 설계 → 구현.Starting = three stages in order — brainstorm → design → build.

① 브레인스토밍① Brainstorm
무엇을·왜·어떤 선택지 (의도·옵션 펼치기)what·why·which options (open up intent·options)
② 설계② Design
무엇을·어디에·어떤 순서 (스펙·파일 맵으로 못 박기)what·where·in what order (pin it down with spec·file map)
③ 구현③ Build
합의된 설계대로 코드code, per the agreed design

앞 두 단계는 싼 매체(말·글), 비싼 매체(코드)는 합의 뒤에.First two stages in cheap media (talk·text); the costly one (code) comes after agreement.

[출처: code.claude.ai/docs/en/docs/claude-code/common-workflows] · [추론] Claude Code는 코드를 바로 고치기 전에 계획을 먼저 세우는 워크플로(예: Plan 모드)를 지원한다. 정확한 모드명·발동 방식은 발표 시점 공식 문서가 진실(2026-06 기준). → 싼 매체에서 먼저 합의하고, 코드는 마지막에.[source: code.claude.ai/docs/en/docs/claude-code/common-workflows] · [inference] Claude Code supports a workflow that plans before editing code (e.g. Plan mode). The exact mode name·trigger is whatever the official docs say at present (as of 2026-06). → Agree in cheap media first; code last.

2막 — 설계를 강제하는 모드Act 2 — A mode that enforces design

Plan 모드 = '읽고 계획만, 아직 손대지 마' 모드.Plan mode = 'read and plan only — don't touch yet'.

(시프트 탭: 입력창에서 Shift와 Tab 키를 함께 눌러 권한 모드를 순환하는 단축키. 또는 CLI 옵션 --permission-mode plan.)(Shift+Tab: press Shift and Tab together in the input to cycle permission modes. Or use the CLI flag --permission-mode plan.)

Before · 바로 편집Before · edit right away
> 만들어줘 → 곧장 파일을 고치기 시작> build it → starts editing files immediately
질주…sprint…
After · Plan 모드After · Plan mode
Shift+Tab → 플랜 모드 → 코드는 건드리지 않고 계획부터 제시Shift+Tab → Plan mode → presents a plan without touching code
사람이 검토·승인한 뒤에야 구현builds only after you review·approve

핵심 차이 — 편집 권한을 '잠그고' 합의부터.The key difference — 'lock' edit access, agree first.

[출처: code.claude.ai/docs/en/docs/claude-code/common-workflows] · [추론] Claude Code의 Plan 모드는 코드를 수정하지 않고 계획을 먼저 세워 사람의 검토를 받게 하는 흐름이다. 진입 방법: 입력창에서 Shift+Tab(권한 모드 순환) 또는 CLI --permission-mode plan. 정확한 동작은 발표 시점 공식 문서가 진실(2026-06 기준). → 큰 일은 'Plan 먼저, 편집은 승인 후'.[source: code.claude.ai/docs/en/docs/claude-code/common-workflows] · [inference] Plan mode plans before editing and routes it through human review. Entry: Shift+Tab in the input (cycles permission modes) or CLI --permission-mode plan. The exact behavior is whatever the official docs say at present (as of 2026-06). → For big work: 'Plan first, edit after approval'.

2막 — 무엇을 만들지 글로Act 2 — Put the 'what' in writing

머릿속 그림 대신, 스펙 한 장으로 합의하라.Replace the mental picture with one spec page.

Before · 암묵적 가정Before · implicit assumptions
"알아서 잘 만들어줘""just make it good"
서로 다른 그림을 가정…each assumes a different picture…
After · 스펙 문서After · spec doc
무엇을 목표·완료 기준
무엇은 아닌지 범위 밖
제약 스택·규칙
미해결 질문
the what goal·done criteria
the what-not out of scope
constraints stack·rules
open questions

핵심 차이 — 스펙은 '코드보다 싼 곳'에서 틀린 가정을 잡는다.The key difference — a spec catches wrong assumptions 'somewhere cheaper than code'.

[추론] s05 콜백 — 단일 프롬프트에서 '의도·제약'을 설계했듯, 작업 단위에선 '스펙 문서'로 목표·범위·제약·미해결 질문을 글로 못 박는다. 글은 코드보다 고치기 싸다. → 가정은 코드가 아니라 스펙에서 먼저 검증한다.[inference] s05 callback — as we designed 'intent·constraints' into a single prompt, at the task level we pin goal·scope·constraints·open questions into a 'spec doc'. Text is cheaper to fix than code. → Verify assumptions in the spec first, not the code.

2막 — 어디에 무엇을Act 2 — Where things go

코드를 짜기 전에, '파일 지도'를 먼저 그려라.Draw the file map before you write the code.

파일 맵 · 발췌File map · excerpt
reports/monthly/ — 월별 매출 보고서 (신규)
data/inventory/ — 재고 데이터 (여기만 수정)
docs/spec — 위에서 합의한 스펙
reports/monthly/ — monthly sales reports (new)
data/inventory/ — inventory data (edit here only)
docs/spec — the spec we agreed above

지도가 있으면, Claude가 길을 잃지 않는다.With a map, Claude doesn't get lost.

[추론] s08 콜백 — s08이 '이미 있는 지식을 구조화'였다면, s09 파일 맵은 '앞으로 만들 구조를 미리 그리기'. 어디에 무엇을 둘지 코드 전에 합의하면, 건드릴 범위가 좁아지고 빠짐·중복이 드러난다. → 코드 전에 지도부터.[inference] s08 callback — if s08 'structured existing knowledge', the s09 file map 'draws the structure you're about to build, in advance'. Agree where things go before code, and the touched scope narrows while gaps·duplication surface. → Map first, code later.

3막 — 왜 설계가 싼가Act 3 — Why design is cheaper

설계는 셋을 한다 — 가정 검증·범위 고정·되돌림 예방.Design does three things — test assumptions·fix the scope·prevent rework.

설계의
세 산출물스펙·파일 맵·Plan 합의
Design's
three outputsspec·file map·Plan agreement
스펙 → 가정 검증Spec → test assumptions
틀린 가정을 '글'에서 잡아 코드 재작성을 면한다 (환각·재작성↓)catch wrong assumptions in 'text', skip the code rewrite (less hallucination·rewrite)
파일 맵 → 범위 고정File map → fix the scope
건드릴 곳을 좁혀 엉뚱한 수정·중복을 막는다 (분포 좁히기)narrow what's touched, block stray edits·duplication (narrowing the distribution)
Plan 합의 → 되돌림 예방Plan agreement → prevent rework
승인 전엔 코드를 안 건드려 질주→번복이 컨텍스트를 안 태운다 (Rule No.2)no code touched before approval, so sprint→reversal doesn't burn context (Rule No.2)

[추론] s02·s03·s06 콜백 — 스펙은 가정을 글에서 검증하고(환각·재작성↓), 파일 맵은 범위를 좁히며(분포 좁히기), Plan 합의는 되돌림을 막는다(컨텍스트 절약). 셋이 합쳐 '빠른 질주'를 '확실한 직진'으로. → 설계는 비싼 코드 대신 싼 글로 미리 푼다.[inference] s02·s03·s06 callback — spec verifies assumptions in text (less hallucination·rewrite), the file map narrows scope (narrowing the distribution), Plan agreement prevents rework (saves context). Together they turn a 'fast sprint' into a 'sure straight line'. → Design solves it up front in cheap text, not expensive code.

3막 — 큰 일을 쪼개기Act 3 — Breaking the big task down

큰 일은 그대로 못 맡긴다 — '검증 가능한 조각'으로 쪼개라.You can't hand off a big task whole — split it into verifiable pieces.

큰 목표그대로 못 맡김Big goalcan't hand off whole
① 작은 조각① small piece
② 작은 조각② small piece
③ 작은 조각③ small piece
검증 가능 — '됐다'를 확인할 방법verifiable — a way to confirm 'done' 독립적 — 한 번에 하나씩independent — one at a time 적당한 크기 — 크면 다시 쪼갬right size — split again if too big

[추론] s03 콜백 — Claude는 '검증 가능한 일'에 강하다. 큰 일을 검증 가능·독립·적당 크기의 조각으로 쪼개면, 각 조각이 강점 영역에 들어온다. (실행·오케스트레이션은 s10 소관 — 여기선 '쪼개 적기'까지.) → 큰 일은 검증 가능한 조각으로 설계한다.[inference] s03 callback — Claude is strong on 'verifiable work'. Split a big task into verifiable·independent·right-sized pieces and each lands in its strength zone. (Execution·orchestration is s10's job — here we only 'split and write down'.) → Design big work into verifiable pieces.

3막 → 4막 다리 · 핵심 분기Bridge to Act 4 · the core fork

크고·불확실·되돌리기 비싸면 '설계', 작고·명확·되돌리기 싸면 '바로'.Big, uncertain, costly-to-undo → design. Small, clear, cheap-to-undo → dive in.

여러 파일·모듈 → 설계 / 한 파일 한 줄 → 바로Many files·modules → design / one line in one file → dive in 요구 불확실 → 설계 / 요구 명확 → 바로Requirements unclear → design / clear → dive in 되돌리기 비쌈·위험 → 설계 / 되돌리기 쌈 → 바로Costly·risky to undo → design / cheap to undo → dive in

설계에도 비용이 든다 — 작고 명확한 일까지 스펙 쓰면 '과설계'.Design has a cost too — speccing small, clear work is 'over-engineering'.

[추론] s08 콜백·확장 — s08이 '파일 vs 프롬프트'였다면 s09는 '설계 vs 바로 시작'. 설계에도 비용이 든다 → 크고·불확실·되돌리기 비쌀 때만 설계. 작고 명확한 일을 설계하면 과설계. → 다음: 시작 전 무엇을 설계할지 체크.[inference] s08 callback·extension — if s08 was 'file vs prompt', s09 is 'design vs dive-in'. Design costs too → design only when big·uncertain·costly to undo. Speccing small, clear work is over-engineering. → Next: a checklist of what to design before you start.

4막 — 코딩 전 5점검Act 4 — Five checks before you code

이 5가지를 적기 전엔, 코드를 시작하지 마라.Don't start coding until you've written these five.

  1. 1
    의도를 맞췄나?Did you align on intent? → 무엇을·왜를 브레인스토밍으로 펼친 뒤 하나로→ spread out what·why by brainstorming, then converge
  2. 2
    스펙을 적었나?Did you write the spec? → 목표·범위 밖·제약·미해결 질문을 글로→ goal·out-of-scope·constraints·open questions, in text
  3. 3
    파일 맵을 그렸나?Did you draw the file map? → 어디에 무엇을 둘지 합의→ agree on where things go
  4. 4
    작은 조각으로 쪼갰나?Did you split into small pieces? → 검증 가능·독립·적당 크기→ verifiable·independent·right size
  5. 5
    설계할 일인가, 바로 할 일인가?Design it, or just do it? → 작고 명확하면 바로 (과설계 금지)→ if small and clear, dive in (no over-engineering)

[추론] 5항목은 각각 슬라이드 04~10의 원리와 1:1 대응(의도=S04, 스펙=S06/08, 파일 맵=S07/08, 분해=S09, 설계 여부=S10). → 원리를 알면 체크리스트가 외워진다.[inference] Each of the 5 maps one-to-one onto the principles in slides 04–10 (intent=S04, spec=S06/08, file map=S07/08, split=S09, design-or-not=S10). → Know the principles and the checklist memorizes itself.

4막 — 설계를 끌어내는 법Act 4 — Drawing the design out

바로 '만들어줘' 대신, '같이 설계하자'로 열어라.Open with 'let's design this together', not 'build it'.

> 구현 전에, 접근법 2~3개와 그 장단점부터 줘 > before building, give me 2–3 approaches with their trade-offs
답 대신 질문·옵션·트레이드오프부터 (코드는 나중)questions·options·trade-offs first (code comes later) 막히면 브레인스토밍으로 의도를 캐는 질문을 (s05 콜백)when stuck, have it ask intent-digging questions (s05 callback) 설계가 서면 스펙·파일 맵으로 적고 → Plan 승인 → 구현once it stands, write spec·file map → approve Plan → build

[추론] s05·s08 콜백 — s05 '명령 대신 설계하는 지시'를 시작 단계에 적용: 답 대신 질문·옵션을 먼저 받는다. 자주 쓰는 시작 절차(브레인스토밍→스펙)는 스킬로 묶을 수도 있다(s08). → 시작은 답이 아니라 질문으로 연다.[inference] s05·s08 callback — apply s05's 'design the instruction, don't command' at the start: take questions·options first, not answers. A frequent starting routine (brainstorm→spec) can be bundled into a skill (s08). → Open the start with a question, not an answer.

4막 — 한 줄로 굳히기Act 4 — Lock it into one line

그래서 — 코드 전에 의도를 맞추고, 설계를 적어라.So — align on intent and write the design before any code.

시작 전 설계 = [브레인스토밍으로 의도] + [스펙으로 가정] + [파일 맵으로 범위] + [작은 조각으로 분해]
  → 그제서야 구현
단, 크고·불확실·되돌리기 비쌀 때만 (작고 명확하면 바로)
Design before starting = [intent via brainstorm] + [assumptions via spec] + [scope via file map] + [split into small pieces]
  → then build
but only when big·uncertain·costly to undo (small and clear → dive in)

[추론] Rule No.5(명령하지 말고 설계하라)와 Rule No.9(시작 전에 설계하라)의 교차점 — 한 번의 지시 설계에서 한 작업 전체의 설계로. 단, 작고 명확하면 그냥 시작(과설계 금지). → 알면, 무엇을 코드 전에 적을지 보인다.[inference] Where Rule No.5 (design, don't command) and Rule No.9 (design before you start) meet — from designing a single instruction to designing a whole task. But if small and clear, just start (no over-engineering). → Once you know it, you can see what to write before code.

닫으며 — 시작 전에 설계하라Closing — design before you start

빨리 시작하는 것보다,
옳게 시작하는 것이 빠르다.
Starting right
beats starting fast.

한 단어로: 질주 → 설계.In one word: sprint → design.

다음 강 예고 — 태스크 분해 & 실행: 쪼갠 작은 일들을 어떻게 실제로 맡길지.Next up — Task Decomposition & Execution: how to actually hand off the small tasks.

RULE No.9

As of 2026-06 · 모드 이름·명령은 바뀌어도 '코딩 전에 의도를 맞추고 설계를 적으면 되돌림이 준다'는 원리는 남습니다. [추론]As of 2026-06 · mode names·commands change, but the principle stays: align on intent and write the design before coding, and rework drops. [inference]

강의 노트Lecture notes

9강 · 프로젝트 설계법Lesson 9 · Project Design

Rule No.9 — 시작 전에 설계하라Rule No.9 — Design before you start

강의 요약Summary

솜씨 좋은 목수는 톱을 들기 전에 도면을 그립니다. 한 번 자른 나무는 되돌릴 수 없으니까요. Claude에게 "이거 만들어줘" 한 마디를 던지면 빠르게 시작은 합니다. 그런데 틀린 가정 위에 빠르게 쌓아 올립니다. 파일을 만들고, 고치고, 또 고치다가 한참 뒤에 "제가 가정한 구조가 요구와 달랐네요"라고 되돌리기 시작합니다. 이 되돌림이 낭비한 컨텍스트이고, 낭비한 시간이며, 틀어진 방향입니다. 문제는 Claude의 능력이 아니라 시작하는 순서입니다.A skilled carpenter draws the plan before lifting the saw — because a cut board can't be uncut. When you tell Claude "just build this," it starts fast. But it builds fast on top of wrong assumptions. It creates files, edits them, edits them again, then much later says "the structure I assumed didn't match the requirement" and starts reverting. That reverting is wasted context, wasted time, and a derailed direction. The problem is not Claude's capability — it is the order of starting.

해법은 단순합니다. 시작 전에 의도를 맞추고 설계를 적어라. 브레인스토밍으로 무엇을, 왜 만드는지 펼친 다음, 그것을 스펙 한 장과 파일 맵으로 글에 못 박습니다. 그제서야 코드에 손을 댑니다. 앞의 두 단계는 말과 글이라는 싼 매체에서 진행하고, 코드는 합의가 끝난 뒤에만 씁니다. 이 순서를 지키면 빠르게 질주하던 것이 확실한 직진이 됩니다. 더 빠르게 시작하는 것보다 옳게 시작하는 것이 결국 더 빠릅니다.The fix is simple: align on intent and write the design before you start. Spread out what and why through brainstorming, then pin it into text as a one-page spec and a file map. Only then touch the code. The first two stages happen in the cheap medium of words and text; code comes only after agreement is done. Follow this order and a fast sprint turns into a sure, straight line. Starting right ends up faster than starting fast.

다만 모든 일을 다 설계해야 하는 것은 아닙니다. 설계에도 비용이 있습니다. 여러 파일에 걸쳐 있고 요구가 불확실하며 되돌리기가 비싸면 설계합니다. 반대로 한 파일에서 한 줄만 고치고 요구가 명확하면 그냥 바로 시작하는 것이 맞습니다. 이 판단이 오늘 강 전체를 하나로 묶는 메타 규칙입니다. 설계가 항상 더 나은 게 아니라, 일의 크기와 불확실성, 되돌림 비용에 따라 고릅니다.That said, not everything needs to be designed. Design has a cost. If work spans many files, requirements are unclear, and undoing is costly — design it. If you are fixing one line in one file and requirements are clear — just dive in. This judgment is the meta-rule that ties the whole session together. Design is not always better; you choose based on the size, uncertainty, and cost of undoing the work.

핵심 개념 5가지Five key concepts

  1. 01

    질주의 대가 — 빠르게 시작하면 늦게 되돌린다The cost of sprinting — start fast, revert late

    "이거 만들어줘" 한 줄에 Claude는 멈추지 않고 달립니다. 스마트할수록 자신 있게 엉뚱한 방향으로 달립니다. 설계 없이 바로 시작하면 세 가지를 잃습니다. ① 방향 — 첫 가정이 틀리면 그 위에 쌓아 올린 코드가 통째로 흔들립니다. 틀린 가정은 늦게 발견할수록 비쌉니다. ② 컨텍스트 — 달리다 되돌리고 다시 작업하는 과정이 대화창을 가정·시도·번복으로 가득 채워 Rule No.2(컨텍스트를 지켜라)를 무너뜨립니다. ③ 합의 — "알아서 잘 만들어줘"라고만 하면 사람과 Claude가 서로 다른 그림을 머릿속에 그린 채 진행합니다. 이건 버그가 아니라 순서 없이 시작한 결과입니다.At "just build this," Claude does not pause — it runs. The smarter it is, the more confidently it sprints in the wrong direction. Starting without a design costs three things. (1) Direction — if the first assumption is wrong, all the code stacked on top shakes. Wrong assumptions get more expensive the later you find them. (2) Context — sprinting, reverting, and reworking fills the chat with assumptions, attempts, and reversals, undermining Rule No.2 (protect the context). (3) Alignment — "make something good" leaves you and Claude each holding a different picture, proceeding at cross-purposes. This is not a bug; it is the result of starting without an order.

  2. 02

    의도 합의 — 브레인스토밍으로 방향을 먼저 잡는다Intent alignment — lock direction through brainstorming first

    시작은 답이 아니라 질문으로 엽니다. "만들어줘" 대신 "같이 설계해보자"로 시작합니다. 예를 들면 "구현하기 전에, 접근법을 두세 개 주고 각각의 장단점부터 알려줘"라고 합니다. 그러면 Claude가 코드가 아니라 질문과 옵션, 트레이드오프를 내놓습니다. 이 브레인스토밍 단계에서 무엇을, 왜 만드는지를 활짝 펼치고 하나로 모읍니다. 의도가 흐릿해서 막히면 Claude가 의도를 캐는 질문을 던지게 해서 방향을 먼저 잡습니다. Rule No.5(명령하지 말고 설계하라)를 시작 단계에 그대로 적용하는 것입니다.Open the start with a question, not an answer. Instead of "build it," open with "let's design this together." For example: "before implementing, give me two or three approaches and the trade-offs of each." Then Claude leads with questions, options, and trade-offs instead of code. In this brainstorming stage you spread out what and why, then converge on one direction. If intent is fuzzy, have Claude ask intent-digging questions to lock the direction first. This is applying Rule No.5 (design, don't command) directly to the starting stage.

  3. 03

    스펙 한 장 — 가정을 글로 못 박는다One-page spec — pin assumptions into text

    스펙은 코드보다 훨씬 싼 곳에서 틀린 가정을 미리 잡아냅니다. 글은 코드보다 고치기 쉬우니까요. 좋은 스펙에는 네 가지를 담습니다. ① 무엇을 만들지 — 목표와 완료 기준. ② 무엇은 안 만들지 — 범위 밖(건드리지 말 것). ③ 제약 — 스택, 규칙, 환경. ④ 미해결 질문 — 아직 답이 없는 것들. 이 네 가지를 한 장에 적어 Claude와 합의한 뒤에야 구현으로 넘어갑니다. 암묵적 가정을 글로 드러내는 것만으로도 나중에 충돌할 오해의 절반을 미리 없앨 수 있습니다.A spec catches wrong assumptions somewhere far cheaper than code, because text is easier to fix than code. A good spec holds four things: (1) what you will build — the goal and done criteria; (2) what you will not build — the out-of-scope, including what must not be touched; (3) constraints — stack, rules, environment; (4) open questions — things still without answers. Write these four on one page, agree on them with Claude, and only then move into building. Simply making implicit assumptions explicit in writing eliminates half the misunderstandings that would otherwise collide later.

  4. 04

    파일 맵 — 어디에 무엇을 둘지 먼저 그린다File map — draw where things go before writing any code

    파일 맵은 코드를 짜기 전에 어떤 폴더·파일이 생기고 각자 무엇을 담당하는지를 미리 그려두는 지도입니다. 예를 들어 "reports/weekly는 주간 재고 보고서를 새로 만드는 곳, data/inventory는 수정만 하고 새 파일을 만들지 않음, docs/spec은 방금 합의한 스펙" 이런 식입니다. 파일 맵이 하는 일은 두 가지입니다. ① 어디를 건드릴지 미리 합의해 범위를 좁힙니다. ② 빠진 부분이나 중복을 코드를 짜기 전에 드러냅니다. 지도가 있으면 Claude는 길을 잃지 않습니다.A file map is drawn before any code: which folders and files will exist and what each is responsible for. For example: "reports/weekly is where we create new weekly inventory reports; data/inventory is edit-only, no new files; docs/spec is the spec we just agreed on." The file map does two things: (1) it makes Claude agree in advance on where it will touch, narrowing the scope; (2) it surfaces missing pieces or duplication before any code is written. With a map, Claude does not get lost.

  5. 05

    설계할 일인가, 바로 할 일인가Design it, or just do it

    이 판단이 오늘 강 전체를 묶는 메타 규칙입니다. 설계가 항상 더 나은 게 아니라, 일의 성격에 따라 고릅니다. 설계가 필요한 신호 — 여러 파일과 모듈에 걸쳐 있다, 요구가 불확실하다, 되돌리기가 비싸거나 위험하다. 바로 시작해도 되는 신호 — 한 파일에서 한 줄만 고친다, 요구가 명확하다, 되돌리기가 싸다. 설계에도 비용이 들기 때문에 작고 명확한 일에까지 스펙을 쓰면 과설계입니다. Rule No.7(매번 설명하지 마라)에서 파일이냐 대화냐를 가르던 절제의 원리를 이번에는 설계냐 바로 시작이냐로 확장한 것입니다.This judgment is the meta-rule that ties the whole session together. Design is not always better — you choose based on the nature of the work. Signals that design is needed: the work spans many files and modules, requirements are unclear, and undoing is costly or risky. Signals that diving in is fine: fixing one line in one file, requirements are clear, undoing is cheap. Because design has a cost, writing a spec even for small clear work is over-engineering. This extends the restraint principle from Rule No.7 (stop re-explaining) — file versus chat — now applied to design versus dive-in.

실습 예제Exercise

본인의 리테일 업무 1건을 골라, 5점검 중 ② 스펙 한 장과 ③ 파일 맵을 Claude와 직접 작성해 보는 실습입니다. 코드나 설정 파일은 필요 없습니다. 아래 프롬프트를 Claude 대화창에 붙여 넣으면 Claude가 먼저 계획을 제시하고, 여러분이 확인한 뒤에야 다음 단계로 넘어갑니다. 예시 업무는 '주간 재고 보고서 자동화'이지만 실제로는 자신이 매주 반복하는 아무 리테일 업무로 바꿔도 됩니다.Pick one retail task of your own, then work with Claude to write out check items ② (one-page spec) and ③ (file map) from the five design checks. No code or config needed. Paste the prompt below into a Claude chat: Claude will present a plan first, and only move to the next step after you confirm. The example task is "automate the weekly inventory report," but you can swap it for any retail task you repeat every week.

성공 기준: Claude가 작업을 시작하기 전에 먼저 스펙(목표·범위 밖·제약·미해결 질문)과 파일 맵(폴더·파일별 역할)을 한 장으로 정리해서 내 확인을 요청하면 성공입니다.Success criteria: Claude presents a one-page summary of the spec (goal, out-of-scope, constraints, open questions) and file map (folder/file roles) and asks for your confirmation before starting any work.

막혔을 때: Claude가 바로 작업을 시작하려 하면 "잠깐, 먼저 계획을 한 장으로 정리해서 내 확인을 받아줘. 코드는 그 다음이야"라고 다시 지시합니다.If stuck: If Claude tries to start working immediately, redirect with: "Hold on — first organize the plan on one page and get my confirmation. Code comes after that."

복사해서 Claude 대화창에 붙여넣기Copy & paste into a Claude chat

다음 업무의 스펙을 함께 만들어줘. 코드·작업 시작 전에 ①목표 ②범위(건드리지 말 것 포함) ③산출물 형식 ④미해결 질문을 한 장으로 정리해서 내 확인을 받아줘. 확인이 끝나면 파일 맵(어디에 무엇을 둘지)도 한 장으로 제시해줘. 파일 맵도 내가 승인한 뒤에 작업을 시작해줘.Help me build the spec for the following task. Before starting any code or work, organize ① goal ② scope (including what must not be touched) ③ output format ④ open questions onto one page and ask for my confirmation. After that is confirmed, present a file map (what goes where) on one page as well. Only start work after I approve the file map too.

업무: 주간 재고 보고서 자동화
매주 월요일 재고 데이터(data/inventory.xlsx)를 읽어 전주 대비 증감을 계산하고, 요약 보고서를 reports/weekly 폴더에 저장한다. 보고서 형식은 (1) 한 줄 요약 (2) 품목별 증감 표 (3) 재주문 필요 품목 목록이다.
Task: automate the weekly inventory report
Every Monday, read inventory data (data/inventory.xlsx), calculate week-over-week change, and save a summary report to the reports/weekly folder. Report format: (1) one-line summary (2) item-by-item change table (3) list of items needing reorder.

## 규칙## Rules

  • 스펙과 파일 맵 각각에 대해 내 확인을 받기 전에는 절대 코드를 짜거나 파일을 수정하지 마.Do not write any code or modify any file until I confirm each of the spec and the file map separately.
  • 내가 준 정보에 없는 내용을 임의로 추가하지 마. 모르면 '미해결 질문'에 적어서 물어봐.Do not add anything not in the information I gave you. If unsure, put it in "open questions" and ask me.
  • 시프트 탭(Plan 모드)을 쓸 수 있으면 활성화해서 진행해줘. 버전에 따라 이름이 다를 수 있으니 공식 문서를 확인해.If Shift+Tab (Plan mode) is available, activate it before proceeding. The name may differ by version — check the official docs.
  1. 프롬프트 붙여넣기: Claude 대화창을 열고 위 프롬프트를 그대로 붙여 넣습니다. Claude가 스펙을 제시하면, 목표·범위 밖·제약·미해결 질문 네 항목이 모두 있는지, 내가 주지 않은 내용을 지어내지 않았는지 확인합니다. 수정할 게 있으면 지금 고칩니다.Paste the prompt: Open a Claude chat and paste the prompt above. When Claude presents the spec, check that all four items (goal, out-of-scope, constraints, open questions) are present, and that nothing was invented beyond what you gave. Fix anything that needs changing now.
  2. 파일 맵 검토: 스펙을 승인한 뒤 Claude가 제시하는 파일 맵을 검토합니다. 폴더·파일별 역할이 명확한지, 건드리지 말아야 할 곳이 수정 불가로 표시됐는지, 빠진 폴더나 중복이 없는지 확인합니다. 이상이 없으면 승인합니다.Review the file map: After approving the spec, review the file map Claude presents. Check that each folder and file has a clear role, that read-only areas are marked as such, and that there are no missing paths or duplicates. Approve when satisfied.
  3. 설계 여부 판단 연습: 파일 맵 승인 후 실제 구현 전에 잠깐 멈추고 5점검을 직접 해봅니다. 이 일이 여러 파일에 걸쳐 있나? 요구가 명확한가? 되돌리기가 비싼가? 세 질문 중 하나라도 '그렇다'면 설계를 먼저 한 것이 옳은 결정이었음을 확인합니다. 반대로 '한 줄 고치기' 수준의 일이라면 설계 없이 바로 시작해도 되는 경우임을 기억합니다.Practice the design-or-dive-in judgment: After approving the file map but before implementation, pause and run the five checks yourself. Does the work span multiple files? Are requirements unclear? Is undoing costly? If any of the three is yes, confirm that designing first was the right call. Conversely, if the task is at the level of changing one line, note that diving in without design would have been appropriate.

전체 대본Full transcript

1 · RULE No.91 · Opening — Rule No.9

솜씨 좋은 목수는 톱을 들기 전에 먼저 도면을 그립니다. 한 번 자른 나무는 되돌릴 수 없으니까요. 똑똑한 Claude에게 바로 "이거 만들어줘"라고 하면, 빠르게 시작은 합니다. 그런데 틀린 가정 위에 빠르게 쌓아 올리죠. 오늘은 룰 넘버 나인, "시작 전에 설계하라"를 가지고, 브레인스토밍에서 설계, 구현으로 이어지는 순서와, 이걸 제품 차원에서 강제하는 플랜 모드, 스펙 문서, 파일 맵, 태스크 분해를 살펴보겠습니다.A skilled carpenter draws the plan before lifting the saw — because a cut board can't be uncut. When you tell a smart Claude "just build this," it does start fast. But it builds fast on top of wrong assumptions. Today, under Rule Number Nine — "design before you start" — we'll walk through the order that runs from brainstorming to design to build, and the things that enforce it at the product level: Plan mode, the spec document, the file map, and task decomposition.

2 · 전문가인데 왜 바로 시키면 헤맬까2 · Expert, but why does it stray when told to start?

지난 강까지 우리는 Claude에게 무엇을 아는지를 잘 정리해 줬죠. 역할로, 절차로, 코드 진실로 지식을 구조화해서, 박학한 신입을 분야 전문가로 만들었습니다. 그런데 그 전문가에게 설계도도 없이 그냥 "이거 만들어줘"라고 던지면 어떻게 될까요? 똑똑할수록, 오히려 자신 있게 엉뚱한 방향으로 달려갑니다.Up through the last session, we organized what Claude knows. We structured its knowledge into roles, procedures, and code truth, turning a well-read novice into a domain expert. But what happens when you hand that expert a bare "just build this," with no plan? The smarter it is, the more confidently it sprints in the wrong direction.

장면을 하나 볼게요. "이거 만들어줘" 한 줄을 던지자, Claude가 멈추지 않고 파일을 만들고, 고치고, 또 고칩니다. 그러다 한참 뒤에 "아, 제가 가정한 구조가 요구와 달랐네요" 하면서 되돌리기 시작해요. 빠르게 질주했는데, 늦게야 방향이 틀린 걸 발견한 거죠. 문제는 능력이 아니라, 시작하는 순서입니다. 이 되돌림이 곧 낭비한 컨텍스트고, 낭비한 토큰이고, 틀어진 방향이에요. 오늘은 바로 시키기에서, 먼저 설계하기로 넘어가 봅니다.Let's look at one scene. You toss in "just build this," and Claude — without pausing — creates files, edits them, edits them again. Then, much later, it says "ah, the structure I assumed didn't match the requirement," and starts reverting. It sprinted fast, but only discovered the wrong direction late. The problem isn't capability — it's the order of starting. That reverting is wasted context, wasted tokens, a derailed direction. Today we move from "just tell it" to "design first."

3 · 설계 없이 시작하면 잃는 3가지3 · Three things you lose without a design

설계 없이 바로 시작하면, 크게 세 가지를 잃습니다. 첫째, 방향이에요. 맨 처음 가정이 틀리면, 그 위에 쌓아 올린 코드가 통째로 흔들립니다. 그리고 이 틀린 가정은 늦게 발견할수록 비싸요. 둘째, 컨텍스트입니다. 질주하다 되돌리고, 다시 작업하는 과정이 대화창을 가정과 시도와 번복으로 가득 채워서, 우리가 그렇게 지키려던 컨텍스트를 태워버립니다. 룰 넘버 투를 떠올려 보세요.Start without a design and you lose three things. First, direction. If the very first assumption is wrong, all the code stacked on top of it shakes. And that wrong assumption gets more expensive the later you find it. Second, context. Sprinting, reverting, then reworking fills the chat with assumptions, attempts, and reversals — burning the very context we worked so hard to protect. Think back to Rule Number Two.

셋째는 합의입니다. "알아서 잘 만들어줘"라고만 하면, 무엇을 만들지를 글로 못 박은 적이 없으니까, 사람과 Claude가 서로 머릿속에 다른 그림을 그린 채로 진행하게 돼요. 정리하면, 이건 버그가 아닙니다. 순서 없이 시작한 결과예요. 그래서 해법도 분명합니다. 코딩하기 전에, 의도와 설계를 먼저 맞추는 거죠.Third, alignment. If you only say "make something good," you've never pinned down in writing what to build — so you and Claude proceed with different pictures in your heads. To sum up: this isn't a bug. It's the result of starting without an order. So the fix is clear too — align on intent and design before you code.

4 · 설계의 3단계 — 브레인스토밍 → 설계 → 구현4 · Three stages of design — brainstorm → design → build

그럼 시작은 어떤 순서여야 할까요? 세 단계입니다. 브레인스토밍, 설계, 그리고 구현. 첫 단계 브레인스토밍에서는 무엇을, 왜, 그리고 어떤 선택지가 있는지를 활짝 펼칩니다. 두 번째 설계 단계에서는 무엇을 만들지, 어디에 둘지, 어떤 순서로 갈지를 스펙과 파일 맵으로 못 박아요. 마지막 구현에서야, 합의된 설계대로 코드를 씁니다.So what order should starting follow? Three stages: brainstorm, design, then build. In the first stage, brainstorming, you spread out what, why, and which options exist. In the second, design, you pin down what to build, where to put it, and in what order — using a spec and a file map. Only in the last stage, the build, do you write code, per the agreed design.

여기서 핵심은 두 가지예요. 하나, 앞의 두 단계는 말과 글이라는 싼 매체에서 진행하고, 비싼 매체인 코드는 합의가 끝난 뒤에 손댑니다. 둘, 세 단계를 절대 섞지 마세요. 브레인스토밍하면서 코드를 짜기 시작하면, 다시 첫 슬라이드의 그 질주로 돌아가는 겁니다. 참고로 Claude Code에는 코드를 바로 고치기 전에 계획부터 세우게 하는 워크플로가 있는데요, 그 정확한 이름과 동작은 발표 시점의 공식 문서가 진실입니다. 지금은 2026년 6월 기준이에요.Two things matter here. One: run the first two stages in the cheap media of talk and text, and only touch the costly medium — code — after agreement is done. Two: never mix the three stages. The moment you start coding while brainstorming, you're back to that sprint from the first slide. By the way, Claude Code has a workflow that makes it plan before editing code directly — but its exact name and behavior are whatever the official docs say at the time you present. This is as of June twenty twenty-six.

5 · Plan 모드 — 설계를 강제하는 장치5 · Plan mode — the device that enforces design-first

이 "설계 먼저"를 제품 차원에서 강제해 주는 장치가 있습니다. 바로 플랜 모드예요. 왼쪽 비포를 보면, 일반 모드에서 "만들어줘"라고 하면 Claude가 곧장 파일을 고치기 시작합니다. 우리가 본 그 질주죠. 오른쪽 애프터를 보면, 시프트 탭으로 플랜 모드에 들어갔을 때 Claude가 코드를 전혀 건드리지 않고, 먼저 계획을 제시합니다.There's a device that enforces this "design first" at the product level: Plan mode. On the left, the Before — in normal mode, you say "build it" and Claude starts editing files immediately. That's the sprint we saw. On the right, the After — when you enter Plan mode with Shift+Tab, Claude touches no code at all and presents a plan first.

그러면 사람이 그 계획을 검토하고, 고치고, 승인하죠. 그 승인이 떨어진 뒤에야 구현으로 들어갑니다. 핵심 차이는 한 줄이에요. 편집 권한을 일단 잠그고, 합의부터 한다. 룰 넘버 파이브에서 "명령하지 말고 설계하라"를 배웠는데, 플랜 모드는 그 정신을 한 번의 지시가 아니라, 세션 전체의 흐름으로 끌어올린 겁니다. 한 가지만 기억하세요. 모드 이름이나 진입 방법, 시프트 탭 같은 단축키는 버전마다 바뀔 수 있어요. 발표 시점의 공식 문서가 진실입니다.Then the human reviews that plan, edits it, approves it. Only after that approval does it move into building. The key difference is one line: lock edit access first, agree first. In Rule Number Five we learned "design, don't command" — and Plan mode lifts that spirit from a single instruction up to the flow of the whole session. Just remember one thing: the mode's name, the entry method, shortcuts like Shift+Tab — these can change by version. The official docs at the time you present are the truth.

6 · 스펙 문서 — 가정을 글로 못 박기6 · Spec document — pin assumptions into text

설계의 첫 번째 산출물은 스펙 문서입니다. 왼쪽 비포를 보세요. "알아서 잘 만들어줘"라는 말은, 사람과 Claude가 각자 머릿속에 서로 다른 그림을 그린다는 뜻이에요. 이 암묵적인 가정이 나중에 충돌합니다. 오른쪽 애프터는 다릅니다. 만들기 전에, 짧은 스펙을 한 장 적어서 합의해요.The first output of design is the spec document. Look at the Before on the left. "Just make it good" means the human and Claude each draw a different picture in their heads. These implicit assumptions collide later. The After on the right is different. Before building, you write one short spec page and agree on it.

스펙에는 네 가지를 담습니다. 무엇을 만들지, 그러니까 목표와 완료 기준. 그리고 무엇은 안 만들지, 즉 범위 밖. 어떤 제약이 있는지, 스택이나 규칙 같은 것들. 마지막으로 아직 안 풀린 질문들이에요. 핵심 차이는 이겁니다. 스펙은 코드보다 훨씬 싼 곳에서 틀린 가정을 미리 잡아냅니다. 글은 코드보다 고치기 쉬우니까요. 룰 넘버 파이브에서 한 번의 지시에 의도와 제약을 설계했다면, 작업 단위에서는 그걸 스펙 문서로 글에 못 박는 거예요. 가정은 코드가 아니라 스펙에서 먼저 검증합니다.A spec holds four things. What you'll build — that is, the goal and the done criteria. What you won't build — the out-of-scope. What constraints exist — things like the stack or the rules. And finally, the open questions. The key difference is this: a spec catches wrong assumptions somewhere far cheaper than code, because text is easier to fix than code. In Rule Number Five we designed intent and constraints into a single instruction; at the task level, we pin that into text as a spec document. You verify assumptions in the spec first, not in the code.

7 · 파일 맵 — 어디에 무엇을 둘지 먼저 그리기7 · File map — draw where things go first

설계의 두 번째 산출물은 파일 맵입니다. 코드를 짜기 전에, 어떤 폴더가 새로 생기고, 각자 무엇을 담당하는지를 미리 그려두는 지도예요. 슬라이드에 짧게 발췌해 봤는데요, 예를 들어 reports/monthly 폴더는 월별 매출 보고서를 새로 만드는 곳이고, data/inventory는 재고 데이터인데 여기는 수정만 하고 새 파일을 만들지는 않아요. docs/spec은 앞에서 합의한 바로 그 스펙이다, 이런 식으로요.The second output of design is the file map. Before you write any code, it's a map you draw in advance of which folders will exist and what each one is responsible for. I've put a short excerpt on the slide — for example, reports/monthly is where we create new monthly sales reports, data/inventory holds the inventory data and we edit only here, no new files, and docs/spec is the spec we agreed on earlier. Like that.

파일 맵이 하는 일은 두 가지예요. 하나, Claude가 어디를 건드릴지를 미리 합의하게 합니다. 그러면 손대는 범위가 좁아지죠. 둘, 빠진 부분이나 중복을 코드를 짜기 전에 드러냅니다. 지난 강에서 우리는 이미 있는 지식을 구조화했죠. 구조는 그래프다, 입구와 가지가 있다고 했습니다. 이번 파일 맵은, 앞으로 만들 구조를 미리 그려보는 거예요. 결국 설계 단계의 파일 맵이 곧 구현될 지식 그래프의 밑그림인 셈입니다. 지도가 있으면, Claude는 길을 잃지 않습니다.A file map does two things. One: it makes Claude agree in advance on where it will touch, which narrows the scope of what it changes. Two: it surfaces missing pieces or duplication before any code is written. Last session, we structured knowledge that already existed — we said structure is a graph, with entry points and branches. This file map is drawing, in advance, the structure you're about to build. So the design-stage file map is really the rough sketch of the knowledge graph you'll implement. With a map, Claude doesn't get lost.

8 · 왜 통하나 — 설계가 비용을 줄이는 3원리8 · Why it works — three principles that cut cost

자, 오늘의 핵심입니다. 그래서 설계는 왜 비용을 줄일까요? 설계의 세 산출물이 각각 어떤 낭비를 막는지를 보면 분명해집니다. 첫째, 스펙은 가정을 검증합니다. 틀린 가정을 코드가 아니라 글에서 잡아내니까, 코드를 통째로 재작성할 일이 줄어요. 룰 넘버 쓰리에서 본 환각과 검증 가능성, 기억나시죠? 글로 미리 검증하면 재작성도 줄어듭니다.Alright, here's the core insight. So why does design cut costs? It becomes clear when you see which waste each of design's three outputs prevents. First, the spec tests assumptions. Because it catches a wrong assumption in text rather than in code, you rewrite far less code. Remember hallucination and verifiability from Rule Number Three? Verify in text up front, and rewrites drop too.

둘째, 파일 맵은 범위를 고정합니다. 건드릴 곳을 미리 좁혀두니까, 엉뚱한 파일을 수정하거나 중복을 만드는 일을 막아요. 룰 넘버 식스에서 예시가 분포를 좁힌다고 했는데, 파일 맵은 작업의 분포를 좁히는 거죠. 셋째, 플랜 합의는 되돌림을 예방합니다. 승인 전에는 코드를 아예 안 건드리니까, 질주했다가 번복하는 일이 컨텍스트를 태우지 않아요. 룰 넘버 투, 컨텍스트를 지켜라죠. 이 셋이 합쳐지면, 빠른 질주가 확실한 직진으로 바뀝니다. 설계는, 비싼 코드 대신 싼 글로 문제를 미리 푸는 겁니다.Second, the file map fixes the scope. By narrowing in advance where it will touch, it blocks edits to the wrong files and prevents duplication. Rule Number Six said examples narrow the distribution — the file map narrows the distribution of the work. Third, Plan agreement prevents rework. Since no code is touched before approval, sprinting and then reversing doesn't burn context. That's Rule Number Two, protect the context. Put these three together and a fast sprint turns into a sure, straight line. Design solves the problem up front in cheap text instead of expensive code.

9 · 태스크 분해 — 큰 일을 검증 가능한 작은 단위로9 · Task decomposition — split big work into verifiable pieces

설계의 세 번째 기법은 태스크 분해입니다. 큰 일은 그대로 통째로 맡길 수가 없어요. 검증 가능한 작은 조각들로 쪼개야 합니다. 좋은 분해에는 세 가지 기준이 있어요. 첫째, 검증 가능해야 합니다. 각 조각마다 "이게 됐다"를 확인할 방법이 있어야 해요. 둘째, 독립적이어야 합니다. 조각들이 서로 덜 얽혀 있어야 한 번에 하나씩 처리할 수 있죠. 셋째, 크기가 적당해야 합니다. 한 조각이 너무 크면 다시 쪼개세요.The third design technique is task decomposition. You can't hand off a big task whole — you have to split it into small, verifiable pieces. A good split has three marks. First, it must be verifiable: each piece needs a way to confirm "this is done." Second, it must be independent: the pieces should be loosely coupled so you can handle one at a time. Third, it must be the right size: if a piece is too big, split it again.

왜 하필 이 세 기준일까요? 룰 넘버 쓰리에서, 검증 가능성이 Claude의 강점과 약점을 가르는 경계선이라고 했죠. 그래서 큰 일을 검증 가능하고, 독립적이고, 적당한 크기의 조각으로 쪼개면, 각 조각이 정확히 Claude의 강점 영역 안으로 들어옵니다. 한 가지 분명히 해둘게요. 오늘은 큰 일을 어떻게 쪼개서 적는지, 그 설계 기법까지만 다룹니다. 쪼갠 조각들을 어떤 순서로, 어떻게 병렬로 실제 실행하고 진행을 관리할지는, 바로 다음 강의 주제예요.Why exactly these three? In Rule Number Three, we said verifiability is the line dividing Claude's strengths from its weaknesses. So when you split a big task into verifiable, independent, right-sized pieces, each piece lands squarely inside Claude's strength zone. Let me be clear on one thing: today we cover only how to split a big task and write it down — the design technique. How to actually execute those pieces, in what order, in parallel, and how to track progress, is exactly the topic of the next session.

10 · 언제 설계하고, 언제 그냥 시작하나10 · When to design, when to just start

그런데 여기서 아주 중요한 분기가 있습니다. 모든 일을 다 설계해야 하는 건 아니에요. 기준은 세 가지입니다. 일이 여러 파일과 모듈에 걸쳐 있고, 요구가 불확실하고, 되돌리기가 비싸거나 위험하면, 그때는 설계합니다. 반대로 한 파일에서 한 줄만 고치고, 요구가 명확하고, 되돌리기가 싸면, 그냥 바로 시작하는 게 맞아요. 왜냐하면 설계에도 비용이 들거든요. 작고 명확한 일에까지 스펙을 쓰고 있으면, 그건 과설계, 오버 엔지니어링입니다.But there's a very important fork here. Not everything needs to be designed. The criteria are three. If the work spans many files and modules, the requirements are unclear, and undoing it is costly or risky — then you design. Conversely, if you're fixing one line in one file, the requirements are clear, and undoing is cheap — just dive in. Because design has a cost too. If you're writing a spec even for small, clear work, that's over-engineering.

지난 강에서 파일이냐 프롬프트냐를 가르는 절제의 원리를 배웠죠. 이번에는 그걸 설계냐 바로 시작이냐로 확장한 겁니다. 기억하세요. 이건 위계가 아니라 분기예요. 설계가 항상 더 나은 게 아니라, 일의 크기와 불확실성, 되돌림 비용에 따라 고르는 겁니다. 이 분기가 오늘 강 전체를 하나로 묶는 메타 규칙이에요. 이제 시작 전에 무엇을 설계할지, 체크리스트로 정리해 보겠습니다.Last session we learned the restraint principle dividing file from prompt. This time we extend it into design versus dive-in. Remember: this is a fork, not a hierarchy. Design isn't always better — you choose based on the size, the uncertainty, and the cost of undoing the work. This fork is the meta-rule that ties today's whole session together. Now let's organize what to design before you start, as a checklist.

11 · 시작 전 설계 5체크11 · Five design checks before you start

오늘의 두 번째 정점, 시작 전 설계 다섯 가지 체크입니다. 이 다섯을 적기 전에는 코드를 시작하지 마세요. 첫째, 의도를 맞췄나? 무엇을, 왜 만드는지를 브레인스토밍으로 펼친 뒤에 하나로 모았는지 보세요. 둘째, 스펙을 적었나? 목표와 범위 밖, 제약, 미해결 질문을 글로 못 박았는지. 셋째, 파일 맵을 그렸나? 어디에 무엇을 둘지 합의했는지요.Today's second peak: five design checks before you start. Don't begin coding until you've written these five. One: did you align on intent? Check whether you spread out what and why through brainstorming, then converged on one. Two: did you write the spec? Whether you pinned the goal, the out-of-scope, the constraints, and the open questions into text. Three: did you draw the file map? Whether you agreed on where things go.

넷째, 작은 조각으로 쪼갰나? 검증 가능하고, 독립적이고, 적당한 크기로 나눴는지 확인하세요. 다섯째, 이게 설계할 일인가, 아니면 그냥 바로 할 일인가? 크고 불확실하고 되돌리기 비싸면 설계하고, 작고 명확하면 그냥 시작하세요. 과설계는 금물입니다. 재밌는 건, 이 다섯 가지가 앞에서 본 원리들과 하나씩 정확히 짝을 이룬다는 거예요. 의도는 순서 합의에서, 스펙과 파일 맵은 그 두 산출물에서, 분해는 작은 조각 나누기에서, 설계 여부는 마지막 판단에서 봤죠. 그래서 원리를 알면, 이 체크리스트는 저절로 외워집니다.Four: did you split into small pieces? Check whether you divided them to be verifiable, independent, and the right size. Five: is this something to design, or just to do? If it's big, uncertain, and costly to undo, design it; if it's small and clear, just start. No over-engineering. Here's the fun part: these five map exactly, one by one, onto the principles we saw earlier. Intent came from aligning the order, the spec and file map from those two outputs, decomposition from splitting into small pieces, and the design question from the final judgment. So once you know the principles, this checklist memorizes itself.

12 · 브레인스토밍 스킬 패턴 — 답 대신 질문으로 시작12 · Brainstorming skill pattern — open with a question, not an answer

그럼 설계를 어떻게 끌어낼까요? 시작을 답이 아니라 질문으로 여는 게 핵심입니다. 바로 "만들어줘"라고 하지 말고, "같이 설계해보자"로 여세요. 예를 들면, "구현하기 전에, 접근법을 두세 개 주고 각각의 장단점부터 알려줘"라고 하는 거죠. 그러면 Claude가 코드가 아니라 질문과 옵션, 트레이드오프부터 내놓습니다. 코드는 그다음이에요.So how do you draw the design out? The key is to open the start with a question, not an answer. Don't say "build it" — open with "let's design this together." For example: "before implementing, give me two or three approaches and the trade-offs of each." Then Claude leads with questions, options, and trade-offs instead of code. The code comes after that.

만약 의도가 흐릿해서 막히면, 브레인스토밍으로 의도를 캐는 질문을 Claude가 던지게 하세요. 룰 넘버 파이브의 "명령 대신 설계하는 지시"를, 시작 단계에 그대로 적용하는 겁니다. 그렇게 설계가 서면, 그걸 스펙과 파일 맵으로 적고, 그제서야 플랜을 승인하고 구현으로 들어가요. 한 가지 더. 이 브레인스토밍에서 스펙으로 이어지는 시작 절차를 자주 쓴다면, 지난 강에서 배운 것처럼 스킬로 묶어둘 수도 있습니다. 시작은, 답이 아니라 질문으로 엽니다.If intent is fuzzy and you get stuck, have Claude ask intent-digging questions through brainstorming. You're applying Rule Number Five's "design the instruction, don't command it" right at the starting stage. Once the design stands, write it as a spec and a file map, and only then approve the Plan and move into building. One more thing: if you use this brainstorm-to-spec starting routine often, you can bundle it into a skill, as we learned last session. Open the start with a question, not an answer.

13 · 한 줄 공식13 · One-line formula

오늘 본 걸 한 줄 공식으로 정리해볼게요. 코드 전에, 의도를 맞추고 설계를 적어라. 시작 전 설계는 이렇게 쪼개집니다. 브레인스토밍으로 의도를 맞추고, 스펙으로 가정을 못 박고, 파일 맵으로 범위를 정하고, 작은 조각으로 분해한다. 그제서야 구현으로 들어가는 거예요. 단, 잊지 마세요. 이건 크고, 불확실하고, 되돌리기 비쌀 때만입니다. 작고 명확하면 그냥 바로 시작하세요. 룰 넘버 파이브, 명령하지 말고 설계하라와, 오늘의 룰 넘버 나인이 바로 여기서 만납니다. 한 번의 지시를 설계하던 것에서, 한 작업 전체를 설계하는 것으로요.Let me lock today into a one-line formula. Before any code, align on intent and write the design. Design-before-starting splits like this: align intent through brainstorming, pin assumptions with a spec, set scope with a file map, decompose into small pieces — and only then move into building. But don't forget: this is only when it's big, uncertain, and costly to undo. If it's small and clear, just dive in. Rule Number Five, "design, don't command," and today's Rule Number Nine meet right here — going from designing a single instruction to designing an entire task.

14 · CLOSING — Rule No.914 · Closing — Rule No.9

오늘 한 단어만 가져가신다면, 질주에서 설계로, 입니다. 똑똑한 Claude에게 바로 시키면 빠르게 질주하지만, 늦게야 되돌립니다. 시작 전에 의도를 맞추고 설계를 적으면, 그 되돌림이 줄어요. 그래서 빨리 시작하는 것보다, 옳게 시작하는 것이 결국 더 빠릅니다. 모드 이름이나 명령은 앞으로 바뀌겠지만, 코딩 전에 의도를 맞추고 설계를 적으면 되돌림이 준다는 원리는 그대로예요. 다음 시간에는, 오늘 쪼갠 그 작은 일들을 어떻게 실제로 맡기고 실행할지 — 태스크 분해와 실행을 들여다보겠습니다.If you take one word from today, it's: from sprint to design. Tell a smart Claude to go and it sprints fast — but reverts late. Align on intent and write the design before you start, and that reverting shrinks. So starting right ends up faster than starting fast. The mode names and commands will change, but the principle stays: align on intent and write the design before coding, and rework drops. Next time, we'll look at how to actually hand off and run those small pieces we split today — Task Decomposition and Execution.