SDD(Spec-Driven Development) 방법론 #21
Replies: 4 comments
SDD(Spec-Driven Development) 방법론 #211. SDD의 정의와 등장 배경을 설명해주세요.Spec-Driven Development는 코드를 먼저 작성하기 보다, 명세(spec)를 작성하고 그 명세를 기준으로 설계, 구현, 테스트, 리뷰를 진행하는 개발 방법론입니다. 여기서 명세는 단순 요구사항 목록뿐만 아니라, 무엇을 만들지, 어떤 동작을 할지/하지말지, 예외 상황 어떻게 처리할지, 입출력, 완료 기준, 테스트 방법 등을 포함합니다. 2. SDD의 핵심 원칙과 워크플로우를 설명해주세요.핵심 원칙은 대표적으로 Spec First, Shared Source of Truth, Unambiguous Behavior, Testable Secification, Iterative Refinement, Boundary Clarity 로 6가지가 있습니다.
일반적인 워크플로우는 문제와 목표 정의, 명세 작성, 명세 리뷰, 테스트 기준화, 구현, 검증, 명세 갱신 순서를 따릅니다. 3. SDD의 장점과 한계를 설명해주세요.장점)
한계)
4. SDD 프레임워크 2~3개 정도를 간단하게 소개해주세요.SDD 프레임워크는 대표적으로 SpecDD, BDD, Specification by Example이 있습니다.
|
|
SDD의 정의와 등장 배경을 설명해주세요.spec driven development. SDD의 핵심 원칙과 워크플로우를 설명해주세요.핵심 원칙
워크플로우
SDD의 장점과 한계를 설명해주세요.장점위의 sdd 의 특징에서 장점들을 생각해볼 수 있는데
단점단점은 장점보다 생각하기 어려울 것 같다
SDD 프레임워크 2~3개 정도를 간단하게 소개해주세요.
|
SDD는 무엇이며 어떻게 소프트웨어 개발을 명세 중심으로 바꾸는가?SDD의 정의와 등장 배경SDD란?SDD(Spec-Driven Development)는 코드를 작성하기 전에 요구사항과 제약 조건을 명확한 명세로 만들고 그 명세를 기준으로 설계, 작업, 코드, 테스트를 생성하고 검증하는 개발 방식이다. -> 일단 코드를 만들고 문서화하는게 아니라 쿠엇을 만들어햐 하는지 먼저 합의하고 그 명세에 따라 코드를 만드는 것이다. 전통적인 개발에서는 요구사항 문서가 구현을 위한 참고 자료로 사용되다가, 개발이 시작되면 코드가 사실상의 기준이 된느 경우가 많았다. SDD는 명세가 코드를 보조하는 것이 아니라 코드가 명세를 구현하는 방향이다. 등장 배경 1: 문서와 코드의 불일치구현이 변경될 떄 문서가 함께 갱신되지 않으면 요구사항에는 있지만 코드에는 없는 문제, 코드에는 있지만 문서화되지 않은 동작, 변경된 요구사항이 테스트에 반영되지 않는 문제 등등이 발생힘 -> SDD는 일회성 문서가 아닌 지속적으로 관리하는 핵심 산출물로 취급하여 불일치를 줄인다. 등장 배경 2: 모호한 요구사항기획자, 개발자, 사용자가 요구사항을 서로 다르게 이해하면 기술적으로 완성된 코드를 작성해도 잘못된 서비스가 만들어질 수 있다.
등장 배경 3: AI 코딩 에이전트의 확산AI에게 모호한 문장을 주고 코드를 작성하게 하면 AI는 누락된 내용을 스스로 추측한다. SDD의 핵심 원칙과 워크플로우핵심 워칙 1: 명세가 기준 정보이다.SDD에서는 요구사항과 구현이 충돌할 때 판단이 되는 자료가 명세이다.
핵심 원칙 2: 완료 조건을 검증할 수 있어야 한다.명세에는 무엇을 만들 것인지뿐 아니라 언제 완성됐다고 판단할 것인지를 포함한다. 핵심 원칙 3: 요구사항부터 테스트까지 추적할 수 있어야 한다.특정 요구사항이 변경됐을 때 영향을 받는 설계, 작업, 코드와 테스트를 찾을 수 있어야 한다. 핵심 원칙 4: 명세와 구현을 반복적으로 개선하고 검증한다.SDD는 처음부터 완벽한 문서를 작성하고 그대로 구현하는 폭포수 방식이 아니다. 구현 중 새로운 기술적 제약이 발견되거나 사용자 피드백이 들어오면 명세를 수정할 수 있다. 이때 변경 내용을 채팅이나 개인의 기억이만 남지기 않고 명세에도 반영해야 한다. 핵심 원칙 5: 중요한 판단은 사람이 승인한다.
워크플로우
SDD의 장점과 한계장점
한계
대표적인 SDD 프레임 워크1. GitHub Spec KitGitHub가 공개한 오픈소스 SDD 툴킷이다. 여러 AI 코딩 에이전트와 함께 사용할 수 있다. 2. Kiro SpecsKiro는 AWS가 개발한 AI 개발 환경이다. IDE, CLI와 웹에서 명세 기반 개발 흐름을 제공한다. 3. OpenSpecOpenSpec은 여러 AI 코딩 도구와 함께 사용할 수 있는 비교적 가벼운 오픈소스 SDD 프레임워크다. 비교
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
📆 일자: 26년 7월 29일(수)
🤔오늘의 질문
All reactions