Files
portfolio-hub/.github/templates/sdlc/3_design.md
T
genichin 3a1afaac46 Squashed '.vendor/stage-pilot/' changes from c24b25d..3a72413
3a72413 Merge pull request #5 from genichin/copilot/add-verification-steps-sdlc-prompt
d362b6b feat: add verification stage to run-sdlc pipeline
9b52ae1 Initial plan
893d465 Merge pull request #3 from genichin/copilot/add-sdlc-prompt-feature
57b3941 feat: add /run-sdlc prompt for automated SDLC pipeline execution
27396ab Initial plan
6979011 Clarify draft creation for new SDLC prompts
1c5557b fix(bootstrap): sdlc 디렉토리 구조 단순화 및 summary 템플릿 추가
af343e5 docs(prompt): SDLC 프롬프트 저장소 현황 탐색 및 대조 절차 강화
cc55e06 chore: Release/Operations 프로세스 템플릿 및 프롬프트 추가 및 README 최신화
386695b commit
4533017 draft
82b7690 draft-design
0503411 draft
9984db0 confirm-discovery, draft-planning, review-planning 명령 추가
cba64f0 add confirm-discovery prompt
9391537 draft
58f2de8 feat: execute implementation during run-sdlc flow
693e3f6 feat: auto-create downstream drafts in run-sdlc
404bc63 docs: translate SDLC orchestration prompts to English
9018e8f feat: add SDLC scaffold and sequential run commands
d60e21c docs: clarify when to create a new discovery
0629eee feat: add operation issue triage prompt
cdc8d87 feat: make update.sh auto-overwrite by default with --no-overwrite option
ead06c2 chore: add execute tool to all prompt files

git-subtree-dir: .vendor/stage-pilot
git-subtree-split: 3a72413acd2edd95053631f900d3c99c1caef359
2026-04-23 04:31:42 +00:00

8.5 KiB

0. 문서 상태

이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.

  • 상태: {{DOC_STATUS:draft|review|confirmed}}
  • 문서 ID: {{CYCLE_ID:sdlc-<3자리>}}
  • 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
  • 참조 Planning: {{PLANNING_PATH:docs/sdlc/<CYCLE_ID>/2_planning.md}}
  • 작성 시각(KST): {{CREATED_AT_KST:TBD}}
  • 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}

1. Planning 인계 요약

Planning에서 확정된 핵심 내용을 요약한다. 원본은 2_planning.md를 참조하며, 이 섹션은 Design 작업의 입력 기준선이 된다.

이슈 목적

  • {{DESIGN_ISSUE_PURPOSE:Planning 이슈명과 핵심 목적 1-2줄}}

확정 태스크 목록

ID 태스크 제목 참조 요구사항 담당자
T-1 {{DESIGN_TASK_TITLE_1}} {{DESIGN_TASK_REF_1}} {{DESIGN_TASK_OWNER_1:TBD}}
T-2 {{DESIGN_TASK_TITLE_2}} {{DESIGN_TASK_REF_2}} {{DESIGN_TASK_OWNER_2:TBD}}
T-3 {{DESIGN_TASK_TITLE_3:필요 없으면 삭제}} {{DESIGN_TASK_REF_3}} {{DESIGN_TASK_OWNER_3:TBD}}

이월된 오픈 질문 / 리스크

Planning에서 Deferred 처리되어 Design 단계에서 해소해야 하는 항목을 기록한다.

  • {{DESIGN_DEFERRED_ITEM_1:없으면 "없음"}}
  • {{DESIGN_DEFERRED_ITEM_2:필요 없으면 삭제}}

2. 아키텍처 및 구조 설계

변경이 미치는 전체 구조와 주요 컴포넌트 관계를 설명한다.

전체 구조 개요

{{ARCH_OVERVIEW:시스템/모듈/파일 구조를 개요 수준으로 설명. 다이어그램 또는 목록 형태 모두 가능}}

주요 컴포넌트

컴포넌트 역할 영향 범위
{{COMPONENT_1_NAME}} {{COMPONENT_1_ROLE}} {{COMPONENT_1_SCOPE}}
{{COMPONENT_2_NAME}} {{COMPONENT_2_ROLE}} {{COMPONENT_2_SCOPE}}
{{COMPONENT_3_NAME:필요 없으면 삭제}} {{COMPONENT_3_ROLE}} {{COMPONENT_3_SCOPE}}

데이터 흐름

변경과 관련된 주요 데이터 흐름 또는 처리 순서를 적는다. 복잡하면 단계별 목록으로 표현한다.

  • {{DATA_FLOW_1}}
  • {{DATA_FLOW_2}}
  • {{DATA_FLOW_3:필요 없으면 삭제}}

3. 상세 설계

태스크(T-N)별로 구체적인 구현/변경 방법을 기술한다.

T-1: {{DESIGN_TASK_TITLE_1}}

  • 설계 방향: {{DESIGN_DETAIL_1}}
  • 변경 대상: {{DESIGN_TARGET_1:파일 경로, 함수명, 설정 키 등}}
  • 입력/출력: {{DESIGN_IO_1:입력값과 출력값 또는 사이드이펙트}}
  • 예외/엣지 케이스: {{DESIGN_EDGE_1:필요 없으면 삭제}}

T-2: {{DESIGN_TASK_TITLE_2}}

  • 설계 방향: {{DESIGN_DETAIL_2}}
  • 변경 대상: {{DESIGN_TARGET_2}}
  • 입력/출력: {{DESIGN_IO_2}}
  • 예외/엣지 케이스: {{DESIGN_EDGE_2:필요 없으면 삭제}}

T-3: {{DESIGN_TASK_TITLE_3:필요 없으면 삭제}}

  • 설계 방향: {{DESIGN_DETAIL_3}}
  • 변경 대상: {{DESIGN_TARGET_3}}
  • 입력/출력: {{DESIGN_IO_3}}
  • 예외/엣지 케이스: {{DESIGN_EDGE_3:필요 없으면 삭제}}

4. 인터페이스 정의

외부 시스템, 모듈 간 계약(API, 이벤트, 파일 포맷 등)을 명시한다. 해당 없으면 "해당 없음"으로 기재한다.

API / 함수 시그니처

  • {{INTERFACE_1:예. function foo(bar: string): boolean — 설명}}
  • {{INTERFACE_2:필요 없으면 삭제}}

데이터 스키마 / 포맷

  • {{SCHEMA_1:예. { id: string, status: "draft"|"confirmed" } — 설명}}
  • {{SCHEMA_2:필요 없으면 삭제}}

이벤트 / 메시지

  • {{EVENT_1:필요 없으면 삭제}}
  • {{EVENT_2:필요 없으면 삭제}}

5. 보안 고려사항

OWASP Top 10 기준으로 이번 변경에서 주의해야 할 보안 항목을 점검한다.

항목 해당 여부 대응 방안
입력값 검증 (Injection) {{SEC_INJECTION:해당 비해당}}
인증/인가 {{SEC_AUTH:해당 비해당}}
민감 데이터 노출 {{SEC_DATA:해당 비해당}}
의존성 취약점 {{SEC_DEP:해당 비해당}}
기타 {{SEC_OTHER:필요 없으면 삭제}} {{SEC_OTHER_ACTION:필요 없으면 삭제}}

6. 리스크

Design 단계에서 새로 식별된 리스크를 기록한다. Planning에서 이월된 리스크는 # 1 이월 항목에서 확인한다.

리스크

  • R-1 ({{DESIGN_RISK_LEVEL_1:High|Medium|Low}}): {{DESIGN_RISK_1}}
    • 완화 방안: {{DESIGN_MITIGATION_1}}
  • R-2 ({{DESIGN_RISK_LEVEL_2:High|Medium|Low}}): {{DESIGN_RISK_2:필요 없으면 삭제}}
    • 완화 방안: {{DESIGN_MITIGATION_2:필요 없으면 삭제}}

가정

Design 수행의 전제가 되는 가정을 적는다.

  • DA-1: {{DESIGN_ASSUMPTION_1}}
  • DA-2: {{DESIGN_ASSUMPTION_2:필요 없으면 삭제}}

오픈 질문

Design 진행 중 확인이 필요한 질문을 적는다.

  • OQ-1: {{DESIGN_OPEN_QUESTION_1}}
    • 상태: {{DESIGN_OQ_STATUS_1:Open|Answered|Deferred|Dropped}}
    • 처리 방안: {{DESIGN_OQ_ACTION_1}}
    • 종료 조건: {{DESIGN_OQ_EXIT_1}}
  • OQ-2: {{DESIGN_OPEN_QUESTION_2:필요 없으면 삭제}}
    • 상태: {{DESIGN_OQ_STATUS_2:Open|Answered|Deferred|Dropped}}
    • 처리 방안: {{DESIGN_OQ_ACTION_2}}
    • 종료 조건: {{DESIGN_OQ_EXIT_2}}

7. Implementation으로 넘기기 전 확인 체크

Implementation 단계로 넘기기 전에 무엇이 확정되어야 하는지 확인한다.

  • 전체 컴포넌트 및 태스크별 설계 완성
    • 기준: {{CHECK_DESIGN_COMPLETE:모든 T-N 태스크에 설계 방향과 변경 대상이 채워져야 한다}}
  • 인터페이스 계약 확정
    • 기준: {{CHECK_INTERFACE:외부 의존 컴포넌트와의 계약이 명시되어야 한다}}
  • 보안 점검 완료
    • 기준: {{CHECK_SECURITY:OWASP 점검 항목 중 해당 항목은 대응 방안이 있어야 한다}}
  • 모든 오픈 질문(OQ) Open 상태 없음 확인
    • 기준: OQ 목록에 Open 상태 항목이 0개이거나, 잔여 항목 전부 Deferred 처리 완료
  • Freeze 확정 담당자(CONFIRMED_BY) 지정
    • 기준: {{CHECK_CONFIRMEDBY_CRITERIA:문서 승인 또는 인계 결정을 내릴 담당자가 명시되어야 한다}}

8. 파일 처리 결과

이 Design 문서 생성/갱신 결과와 참조 문서를 기록한다.

  • 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
  • 생성 경로: {{OUTPUT_PATH}}
  • 참조 문서:
    • {{PLANNING_PATH:docs/sdlc/<CYCLE_ID>/2_planning.md}}
    • {{REFERENCE_1:필요 없으면 삭제}}

9. 사용자 결정 필요 항목 요약

사용자나 승인자가 결정해야 하는 항목만 모아 정리한다.

DECIDE

  • {{DECIDE_ITEM_1}}
  • {{DECIDE_ITEM_2:필요 없으면 삭제}}

CONFIRM

  • {{CONFIRM_ITEM_1}}
  • {{CONFIRM_ITEM_2:필요 없으면 삭제}}

DATA

  • {{DATA_ITEM_1}}
  • {{DATA_ITEM_2:필요 없으면 삭제}}

10. Design Freeze

Implementation 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.

섹션 참조

Freeze 플래그

  • Handoff Decision: {{FREEZE_HANDOFF_DECISION:Implementation 진행 가능|보류}}
  • Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:진행 가능 또는 보류 판단 근거 1-2줄}}
  • Ready for Implementation: {{READY_FOR_IMPLEMENTATION:false}}
  • Confirmed By: {{CONFIRMED_BY:TBD}}
  • Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}

11. 작성 가이드

템플릿 사용 시의 기본 규칙을 적는다. 실제 문서를 만들 때는 이 가이드를 기준으로 플레이스홀더를 치환한다.

  • 이 파일은 템플릿이다. 실제 문서 작성 시 {{...}} 플레이스홀더를 구체 값으로 교체한다.
  • 필요 없는 컴포넌트/태스크 항목은 삭제하고, 부족한 항목은 같은 형식으로 추가한다.
  • 보안 고려사항은 "비해당"이라도 근거를 남긴다.
  • Design Freeze는 문서 하단에 반드시 유지한다.