Spec-Driven Development — 명세가 일등 시민이 된 시대
Entity (인물·조직)lectureverified2026-05-09

Spec-Driven Development — 명세가 일등 시민이 된 시대

#vch#lecture-intro#A-language#g7

1. 요약

Spec-Driven Development (SDD)명세를 일등 시민으로 기록하는 개발 패러다임이다. 코드는 명세에서 생성되는 산출물 로 위치가 바뀐다. GitHub의 Spec Kit (2024)·Anthropic의 Claude Code SDD 가 산업 표준 도구로 기록되었다. 강의의 핵심 명제 "설계 없이는 코딩이 안된다" 가 산업 도구로 구현된 사례다.

2. 배경 — Vibe Coding 의 좌절옛 원리의 회귀

LLM 시대 초기(2022~2023) Vibe Coding (즉흥 프롬프트로 코드 생성)이 폭발적으로 기록되었다. 그러나 곧 한계가 드러났다.

  • 프롬프트 → 코드 가 일관되지 않음
  • 같은 의도라도 매번 다른 결과
  • 거대 시스템에 박을 때 전체 정합성 이 무너짐
  • 유지보수 시 원래 의도가 무엇이었는지 알 수 없음

해결책은 옛 원리의 회귀 였다. Waterfall 시대의 요구사항 명세 → 설계 → 구현 이라는 70년 원리가 AI 도구 로 다시 기록되었다. "즉흥 프롬프트가 아니라 명세 기반 설계" — 이것이 SDD다.

3. 핵심 특징

Spec Kit (GitHub, 2024)

  • Constitution — 프로젝트의 "헌법". 핵심 원칙·금지 사항.
  • Specification무엇을 만들 것인가. FR·NFR·AC.
  • Plan어떻게 만들 것인가. 기술 스택·아키텍처·작업 분해.
  • Tasks세부 작업 단위. 2~5분 분해·DAG.
  • Implementation — 명세에서 생성되는 결과물.

Claude Code SDD 워크플로

  • Requirements → Design → Tasks → Implementation (4단계)
  • Plan-First 방법론 과 정합 (60% 이상 시간을 Plan에 기록)
  • TDD 강제·검증 게이트 4종

핵심 도구

  • GitHub Spec Kit (2024)
  • Claude Code Plan-First
  • Cursor Spec Workflow
  • Pimzino claude-code-spec-workflow — 자동 워크플로

4. 주 용도

  • 신규 기능 개발 — Requirements → Design → Tasks → Implementation
  • 버그 수정 — Report → Analyze → Fix → Verify
  • 리팩토링 — 기존 코드의 "실제 명세" 를 추출 후 재구현
  • 레거시 마이그레이션 — 옛 코드 → 명세 추출 → 새 언어로 재생성

5. 시대 설계 도구 매핑

SDD는 옛 학문의 새 기록 이다. 1968년 NATO Software Engineering Conference 에서 기록된 명세→설계→구현 원리가 50년 후 LLM 시대에 다시 기록되었다.

  • 1968 Waterfall — 명세 → 설계 → 구현 (수작업)
  • 1986 UML·CASE Tools — 다이어그램으로 명세 기록
  • 2001 Agile Manifesto — "명세보다 동작하는 코드" (반대 방향)
  • 2010 ATDD/BDD — 시나리오로 명세 기록
  • 2024 SDD with LLM — 명세를 LLM이 코드로 변환

흥미롭게도 Agile은 명세를 가볍게 박았는데, SDD는 명세를 다시 무겁게 기록한다. 이유는 단순하다 — AI가 코드를 박으려면 명세가 명확해야 한다. 인간은 모호한 명세도 해석 으로 풀 수 있지만, AI는 모호함을 환각 으로 채운다.

6. 강의 활용

SDD는 강의의 "설계 없이는 코딩이 안된다" 라는 명제의 산업적 박음이다. 명제가 도구로 기록되었다.

핵심 메시지 세 가지를 기록한다.

1. Vibe Coding의 본질은 SDD다

강의 제목 "Vibe-coding, 설계 없이는 코딩이 안된다" 의 진정한 의미는 "AI 시대의 Vibe Coding은 SDD로 박혀야 동작한다" 이다. 즉흥 프롬프트는 작은 작업에서만 통한다. 거대 시스템은 명세 없이는 박히지 않는다.

2. 옛 학문이 새 시대에 다시 박힌다

1968년 NATO Conference의 명세 원리, 1986년 UML, 2001년 Agile의 사용자 스토리, 2010년 BDD의 Given-When-Then — 모두 AI 시대 SDD의 토대 다. 학생들이 옛 학문을 무시하지 말 것 을 강조한다. 70년 누적 자산이 새 시대에 결정적이 된다.

3. 명세 → 코드 = 컴파일러 → 기계어

70년 전 고급 언어 → 기계어 변환 을 컴파일러가 박았다. 지금은 명세 → 고급 언어 변환 을 LLM이 기록한다. 추상의 한 칸이 또 올라간 것이다.

이는 강의의 절정이다. 학생들에게 "여러분이 평생 박을 자산은 명세 작성 능력" 임을 기록한다. 코드는 LLM이 생성하지만, 어떤 명세를 박을 것인가 는 인간이 한다. 이는 Computer Science → Specification Science 로 학문의 무게중심이 이동하는 신호다.

출처

그룹 시리즈

synthesis/group-g7 (시대 그룹 종합 카드)