Skip to content

Spec-driven development

About

  • Spec-Driven-Development(SDD) 는 AI 기반 코딩에서 코드 작성 전에 명세서(spec)를 먼저 작성하는 접근 방식으로, 명세서가 개발자와 AI의 진실 공급원(source of truth) 역할을 수행
  • SDD는 세 가지 구현 수준으로 구분되며, spec-first(명세 우선 작성), spec-anchored(유지보수를 위한 명세 보존), spec-as-source(명세를 주요 소스 파일로 사용하며 개발자는 코드 직접 편집 안 함)로 단계적 발전
  • Kiro는 요구사항→설계→작업의 단순한 3단계 워크플로우를 제공하고, spec-kit은 헌법(constitution)이라는 강력한 규칙 기반 워크플로우를 사용하며, Tessl은 명세와 코드를 1:1로 매핑하는 spec-as-source 접근 방식 실험
  • 세 도구 모두 작은 버그 수정에는 과도한 프로세스를 요구하고, 마크다운 파일 리뷰가 코드 리뷰보다 번거로우며, 큰 컨텍스트 윈도우에도 불구하고 AI가 모든 지시사항을 제대로 따르지 못하는 한계 존재
  • SDD는 과거 모델 주도 개발(MDD)의 실패 사례를 상기시키며, 비결정성과 비유연성이라는 양쪽의 단점을 모두 가질 위험이 있어 실제 프로젝트에서의 유용성에 대한 검증 필요

See also

Favorite site