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
This commit is contained in:
@@ -1,71 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 이 Design의 최종 승인자는 누구인가?}}
|
||||
- 승인 시각: {{CONFIRM: 승인 후 기재}}
|
||||
|
||||
# 1. Design 개요
|
||||
- 입력 Planning:
|
||||
- 목적:
|
||||
- 설계 대상 작업 (WSJF 상위 3개):
|
||||
- 1순위:
|
||||
- 2순위:
|
||||
- 3순위:
|
||||
|
||||
# 2. 설계 대안 비교 (우선순위 상위 작업)
|
||||
## <작업 ID>: <작업명>
|
||||
### 대안 A
|
||||
- 설명:
|
||||
- 장점:
|
||||
- 단점:
|
||||
|
||||
### 대안 B
|
||||
- 설명:
|
||||
- 장점:
|
||||
- 단점:
|
||||
|
||||
### 선택 결정
|
||||
- 선택: 대안 A / 대안 B
|
||||
- 근거:
|
||||
|
||||
# 3. 인터페이스 정의
|
||||
## <작업 ID>: <작업명>
|
||||
- 입력:
|
||||
- 출력:
|
||||
- 오류 경로:
|
||||
|
||||
# 4. 데이터/흐름 설계
|
||||
## <작업 ID>: <작업명>
|
||||
- 주요 데이터 경로:
|
||||
- 상태 변화:
|
||||
|
||||
# 5. 테스트 전략 연계 (AC 매핑)
|
||||
| 작업 ID | AC | 검증 방법 | 검증 포인트 |
|
||||
|---|---|---|---|
|
||||
| P-001 | AC-1 | | |
|
||||
| P-001 | AC-2 | | |
|
||||
|
||||
# 6. 리스크 대응 설계
|
||||
| 리스크 ID | 리스크 내용 | 설계 대응 전략 |
|
||||
|---|---|---|
|
||||
| R-1 | | |
|
||||
|
||||
# 7. Implementation 단계 전달 체크
|
||||
- [ ] 우선순위 상위 작업의 설계 근거(대안 비교 + 선택 이유)가 존재함
|
||||
- [ ] 전체 작업의 인터페이스(입력/출력/오류 경로)가 정의됨
|
||||
- [ ] AC와 검증 포인트가 매핑됨
|
||||
- [ ] Planning 리스크에 대한 설계 대응이 반영됨
|
||||
- [ ] 최종 승인
|
||||
- {{CONFIRM: Design 초안 승인 여부를 확인하라}}
|
||||
|
||||
# 8. 파일 처리 결과
|
||||
- 생성/갱신 경로:
|
||||
|
||||
# 9. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- Design 초안 승인 여부를 확인하라. (위치: #7)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
@@ -1,90 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 승인자를 지정하라}}
|
||||
- 승인 시각: {{CONFIRM: 승인 후 기재}}
|
||||
|
||||
# 1. 계획 상태 요약
|
||||
- Discovery 문서 현황:
|
||||
- Planning 점수 파일 현황: docs/sdlc/planning/planning-backlog-scores.out.csv
|
||||
- 해석:
|
||||
|
||||
# 2. 요구사항 판정 결과 (완전 중복/유사/신규 + 근거)
|
||||
- 판정: {{DECIDE: 완전 중복/유사/신규 중 하나를 선택하라}}
|
||||
- 근거
|
||||
-
|
||||
-
|
||||
|
||||
# 3. 문제점의 요약
|
||||
- 현재 상태
|
||||
-
|
||||
- 기대 상태
|
||||
-
|
||||
- 이해관계자
|
||||
-
|
||||
- 제약사항
|
||||
-
|
||||
|
||||
# 4. 이번에 만들 기능 1개
|
||||
-
|
||||
|
||||
# 5. 요구사항 목록
|
||||
## 기능 요구사항
|
||||
- FR-1:
|
||||
- FR-2:
|
||||
|
||||
## 비기능 요구사항
|
||||
- NFR-1:
|
||||
- NFR-2:
|
||||
|
||||
## 범위 경계
|
||||
- In Scope
|
||||
-
|
||||
- Out of Scope
|
||||
-
|
||||
|
||||
# 6. 리스크/가정 목록
|
||||
## 리스크
|
||||
- R-1 (High/Medium/Low):
|
||||
- 완화 방안:
|
||||
- R-2 (High/Medium/Low):
|
||||
- 완화 방안:
|
||||
|
||||
## 가정
|
||||
- A-1:
|
||||
- A-2:
|
||||
|
||||
# 7. 초기 성공 기준
|
||||
- S-1:
|
||||
- S-2:
|
||||
|
||||
## 측정 방식 및 데이터 출처
|
||||
- S-1 측정 방식: / 데이터 출처:
|
||||
- S-2 측정 방식: / 데이터 출처:
|
||||
|
||||
# 8. Planning으로 넘기기 전 확인 체크
|
||||
- Planning 시작 시점은 {{DECIDE: 즉시 가능/보류 중 선택하라}}.
|
||||
- [ ] 범위(In Scope/Out of Scope) 확정
|
||||
- 기준:
|
||||
- [ ] 성공 지표의 측정 방식/데이터 출처 확정
|
||||
- 기준:
|
||||
- [ ] High 영향 플레이스홀더 우선순위 및 해소 책임자 지정
|
||||
- 기준:
|
||||
- [ ] 승인자 확정
|
||||
- 기준:
|
||||
|
||||
# 9. 파일 처리 결과 (생성/미생성 경로)
|
||||
- 처리 결과:
|
||||
- 생성 경로:
|
||||
- 재검토:
|
||||
- 참조 문서:
|
||||
|
||||
# 10. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 이 Implementation의 최종 승인자는 누구인가?}}
|
||||
- 승인 시각: {{CONFIRM: 승인 후 기재}}
|
||||
|
||||
# 1. Implementation 개요
|
||||
- 입력 Design:
|
||||
- 목적:
|
||||
- 이번 구현 우선순위 작업:
|
||||
- 1순위:
|
||||
- 2순위:
|
||||
- 3순위:
|
||||
|
||||
# 2. 이번 구현 범위
|
||||
## In Scope
|
||||
-
|
||||
|
||||
## Out of Scope
|
||||
-
|
||||
|
||||
# 3. 작업 단위 분해
|
||||
| Impl ID | 작업명 | 연결 설계/AC | 변경 유형 | 우선순위 |
|
||||
|---|---|---|---|---|
|
||||
| I-001 | | | | |
|
||||
|
||||
# 4. 파일 변경 계획
|
||||
| Impl ID | 대상 파일 | 변경 목적 | 변경 종류(생성/수정) |
|
||||
|---|---|---|---|
|
||||
| I-001 | | | |
|
||||
|
||||
# 5. 테스트/검증 계획
|
||||
| Impl ID | 검증 방법 | 성공 기준 | 근거 |
|
||||
|---|---|---|---|
|
||||
| I-001 | | | |
|
||||
|
||||
# 6. 영향도 및 의존성 점검
|
||||
| 항목 | 영향 내용 | 대응 방안 |
|
||||
|---|---|---|
|
||||
| 코드 | | |
|
||||
| 문서 | | |
|
||||
| 설정/의존성 | | |
|
||||
|
||||
# 7. Verification 단계 전달 체크
|
||||
- [ ] 구현 범위가 설계 문서와 연결됨
|
||||
- [ ] 작업 단위별 검증 방법이 정의됨
|
||||
- [ ] 영향 파일과 의존성 점검 결과가 기록됨
|
||||
- [ ] Verification에 전달할 실행/검증 근거가 정의됨
|
||||
- [ ] 최종 승인
|
||||
- {{CONFIRM: Implementation 초안 승인 여부를 확인하라}}
|
||||
|
||||
# 8. 파일 처리 결과
|
||||
- 생성/갱신 경로:
|
||||
|
||||
# 9. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- Implementation 초안 승인 여부를 확인하라. (위치: #7)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
@@ -1,80 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 이 Operations의 최종 승인자는 누구인가?}}
|
||||
- 승인 시각: {{CONFIRM: 배포 완료 후 Operations 확인}}
|
||||
|
||||
# 1. 배포 실행 기록
|
||||
- 입력 Release: {{DATA: docs/sdlc/release/rel-XXX_YYYY-MM-DD_topic.release.md}}
|
||||
- 배포 방식: {{DATA: 점진 배포/일괄 배포}}
|
||||
- 배포 환경: {{DATA: production/staging 등}}
|
||||
- 배포 창(UTC): {{DATA: 시작/종료 시각}}
|
||||
|
||||
## 사전 검증
|
||||
- 체크리스트 점검 결과: {{DATA: 완료/미완료 항목}}
|
||||
- 롤백 준비 상태: {{DATA: 준비됨/미준비 + 근거}}
|
||||
|
||||
## 실행 결과
|
||||
- 실행 명령/절차 요약: {{DATA: 실행 로그 요약}}
|
||||
- 결과: {{DATA: 성공/부분성공/실패}}
|
||||
- 영향 범위: {{DATA: 사용자/시스템 영향}}
|
||||
|
||||
## 배포 직후 검증 결과
|
||||
- 핵심 시나리오 검증: {{DATA: 통과/실패 + 근거}}
|
||||
- 예외/알림 발생 여부: {{DATA: 있음/없음 + 내용}}
|
||||
|
||||
# 2. 모니터링 관찰 결과
|
||||
| 모니터링 항목 | 측정 지표 | 정상 범위 | 이상 감지 기준 | 관찰 결과 | 비고 |
|
||||
|---|---|---|---|---|---|
|
||||
| {{DATA: 항목명}} | {{DATA: 지표}} | {{DATA: 정상 범위}} | {{DATA: 임계치}} | {{DATA: 결과}} | |
|
||||
|
||||
## 관찰 기간
|
||||
- 집중 관찰 기간: {{DATA: 시작~종료}}
|
||||
- 일반 관찰 기간: {{DATA: 시작~종료}}
|
||||
|
||||
# 3. 인시던트 대응 기록
|
||||
- 인시던트 발생 여부: {{DATA: 발생/해당없음}}
|
||||
|
||||
## 발생한 경우 기록
|
||||
- 영향도 분류: {{DATA: 사용자/기능/데이터 영향}}
|
||||
- 타임라인:
|
||||
- 탐지 시각(UTC): {{DATA: 시각}}
|
||||
- 대응 시작(UTC): {{DATA: 시각}}
|
||||
- 완화 시각(UTC): {{DATA: 시각}}
|
||||
- 복구 완료(UTC): {{DATA: 시각}}
|
||||
- 커뮤니케이션:
|
||||
- 채널: {{DATA: 채널}}
|
||||
- 공지 시각(UTC): {{DATA: 시각}}
|
||||
- 업데이트 주기: {{DATA: 주기}}
|
||||
- 우회책 실행 여부: {{DATA: 실행/미실행 + 내용}}
|
||||
- 복구 절차 요약: {{DATA: 복구 단계}}
|
||||
|
||||
# 4. Postmortem
|
||||
- What Happened: {{DATA: 사건 개요와 사용자 관찰 증상}}
|
||||
- Impact: {{DATA: 서비스/사용자/비즈니스 영향}}
|
||||
- Root Cause: {{DATA: 기술적 원인 + 시스템적 원인}}
|
||||
- Detection: {{DATA: 탐지 경로/지연 요인/알림 품질}}
|
||||
- Response: {{DATA: 대응 의사결정 및 실행 평가}}
|
||||
- Recovery: {{DATA: 복구 절차와 검증 결과}}
|
||||
- Preventive Actions: {{DATA: 재발 방지 액션(담당자/기한 포함)}}
|
||||
- Follow-up Tracking: {{DATA: Discovery/Planning 백로그 연결 상태}}
|
||||
|
||||
# 5. 다음 반복 환류 항목
|
||||
| 환류 ID | 개선 항목 | 연결 대상(Discovery/Planning) | 담당자 | 목표일 | 상태 |
|
||||
|---|---|---|---|---|---|
|
||||
| FB-001 | {{DATA: 개선 항목}} | {{DATA: dcy/pln 문서 또는 티켓}} | {{DATA: 담당자}} | {{DATA: YYYY-MM-DD}} | {{DATA: 등록됨/대기}} |
|
||||
|
||||
# 6. 파일 처리 결과
|
||||
- 생성/갱신 경로: {{DATA: docs/sdlc/operations/ops-XXX_YYYY-MM-DD_topic.operations.md}}
|
||||
- 입력 Release 경로: {{DATA: docs/sdlc/release/rel-XXX_YYYY-MM-DD_topic.release.md}}
|
||||
- 처리 결과: {{DATA: 생성/갱신/검토}}
|
||||
- 비고: {{DATA: 특이사항}}
|
||||
|
||||
# 7. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
@@ -1,4 +0,0 @@
|
||||
item_id,work_item,business_value,time_criticality,rr_oe,job_size,reach,impact,confidence,effort,method,notes
|
||||
P-001,Example work item A,8,7,6,5,1000,2,80,8,WSJF,baseline sample
|
||||
P-002,Example work item B,6,8,5,3,3000,1,70,10,RICE,marketing-facing change
|
||||
P-003,Example work item C,9,6,8,8,500,3,90,5,WSJF,risk reduction heavy
|
||||
|
@@ -1,63 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 이 Planning의 최종 승인자는 누구인가?}}
|
||||
- 승인 시각: {{CONFIRM: 승인 후 기재}}
|
||||
|
||||
# 1. Planning 개요
|
||||
- 입력 Discovery:
|
||||
- 목적:
|
||||
- 우선순위 방법: WSJF
|
||||
- 점수 스케일: Business Value/Time Criticality/RR-OE/Job Size 모두 1~10
|
||||
|
||||
# 2. 이번 반복 범위 경계
|
||||
## In Scope
|
||||
-
|
||||
|
||||
## Out of Scope
|
||||
-
|
||||
|
||||
# 3. 백로그 작업 분해
|
||||
| Item ID | Work Item | 연결 요구사항 | 연결 리스크 | 담당 |
|
||||
|---|---|---|---|---|
|
||||
| P-001 | | | | |
|
||||
|
||||
# 4. WSJF 점수표
|
||||
| Item ID | Work Item | Business Value | Time Criticality | RR/OE | Job Size | WSJF Score | Priority |
|
||||
|---|---:|---:|---:|---:|---:|---:|---:|
|
||||
| P-001 | | | | | | | |
|
||||
|
||||
계산식: WSJF = (Business Value + Time Criticality + RR/OE) / Job Size
|
||||
|
||||
## 점수 근거 메모
|
||||
- P-001:
|
||||
|
||||
# 5. 작업별 수용 기준 (AC)
|
||||
## P-001 AC
|
||||
- AC-1:
|
||||
- AC-2:
|
||||
|
||||
# 6. 우선순위 조정/예외
|
||||
- 동률 처리:
|
||||
- Override:
|
||||
- 승인자:
|
||||
|
||||
# 7. Design 단계 전달 체크
|
||||
- [ ] 우선순위 상위 백로그의 AC가 검증 가능한 문장으로 정의됨
|
||||
- [ ] WSJF 계산 근거 기록 완료
|
||||
- [ ] 이번 반복 In Scope/Out of Scope 확정
|
||||
- [ ] 최종 승인
|
||||
- {{CONFIRM: Planning 초안 승인 여부를 확인하라}}
|
||||
|
||||
# 8. 파일 처리 결과
|
||||
- 생성/갱신 경로:
|
||||
- 점수 파일 갱신: docs/sdlc/planning/planning-backlog-scores.out.csv
|
||||
|
||||
# 9. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- Planning 초안 승인 여부를 확인하라. (위치: #7)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
@@ -1,4 +0,0 @@
|
||||
item_id,work_item,business_value,time_criticality,rr_oe,job_size,reach,impact,confidence,effort,method,wsjf_score,rice_score,selected_score,priority
|
||||
P-001,Example work item A,8,7,6,5,1000,2,80,8,WSJF,=(C2+D2+E2)/F2,=(G2*H2*I2)/J2,=IF(K2="WSJF",L2,M2),=
|
||||
P-002,Example work item B,6,8,5,3,3000,1,70,10,RICE,=(C3+D3+E3)/F3,=(G3*H3*I3)/J3,=IF(K3="WSJF",L3,M3),=
|
||||
P-003,Example work item C,9,6,8,8,500,3,90,5,WSJF,=(C4+D4+E4)/F4,=(G4*H4*I4)/J4,=IF(K4="WSJF",L4,M4),=
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 89.
|
@@ -1,105 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 이 Release의 최종 승인자는 누구인가?}}
|
||||
- 승인 시각: {{CONFIRM: 승인 후 기재}}
|
||||
|
||||
# 1. Release 개요
|
||||
- 입력 Verification:
|
||||
- 배포 대상 범위:
|
||||
- 배포 방식: {{DECIDE: 점진 배포/일괄 배포 중 선택하라}}
|
||||
- 배포 환경:
|
||||
|
||||
# 2. 배포 체크리스트
|
||||
|
||||
| 항목 | 확인 내용 | 결과 (완료/미완료/해당없음) | 비고 |
|
||||
|---|---|---|---|
|
||||
| 설정 검증 | 환경 변수, 시크릿, 외부 연동 키 유효성 확인 | | |
|
||||
| 데이터 검증 | 마이그레이션 순서, 백업 상태, 복구 가능성 확인 | | |
|
||||
| 호환성 검증 | 이전 버전 클라이언트/API 호환 여부 확인 | | |
|
||||
| 의존성 검증 | 신규/변경 라이브러리 버전 충돌 여부 확인 | | |
|
||||
| 트래픽 전략 | 점진/일괄 배포 방식과 중단 기준 확인 | | |
|
||||
| 커뮤니케이션 | 사용자 공지, 내부 공지, 온콜 담당자 공유 완료 | | |
|
||||
|
||||
# 3. 롤백 계획
|
||||
|
||||
## 롤백 트리거
|
||||
- 에러율 임계치:
|
||||
- 지연 임계치:
|
||||
- 장애 지표:
|
||||
|
||||
## 롤백 절차
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## 데이터 롤백 전략
|
||||
- 스키마/데이터 복원 여부:
|
||||
- 절차:
|
||||
|
||||
## 롤백 후 검증
|
||||
- 핵심 시나리오 확인 항목:
|
||||
-
|
||||
|
||||
## 롤백 커뮤니케이션
|
||||
- 공지 채널:
|
||||
- 공지 시각:
|
||||
- 상태 업데이트 주기:
|
||||
|
||||
## 참조 런북
|
||||
- 롤백 런북: .github/templates/rollback-runbook.template.md
|
||||
|
||||
# 4. 릴리즈 노트 초안
|
||||
|
||||
## 변경 요약
|
||||
-
|
||||
|
||||
## 주요 변경 내용
|
||||
-
|
||||
|
||||
## 영향 범위
|
||||
- 사용자 영향:
|
||||
- 시스템 영향:
|
||||
|
||||
## 알려진 제한 사항
|
||||
-
|
||||
|
||||
# 5. 배포 후 관찰 계획
|
||||
|
||||
| 모니터링 항목 | 측정 지표 | 정상 범위 | 이상 감지 기준 | 담당자 |
|
||||
|---|---|---|---|---|
|
||||
| | | | | |
|
||||
|
||||
## 관찰 기간
|
||||
- 집중 관찰 기간:
|
||||
- 일반 관찰 기간:
|
||||
|
||||
# 6. 승인된 예외 인계 목록
|
||||
|
||||
| 예외 ID | 출처 (Verification) | 심각도 | 완화책 | 유효 기간 (UTC) | Operations 후속 조치 |
|
||||
|---|---|---|---|---|---|
|
||||
| | | | | | |
|
||||
|
||||
> 예외 없음 시 이 섹션을 "해당 없음"으로 처리한다.
|
||||
|
||||
# 7. Operations 단계 전달 체크
|
||||
- [ ] 롤백 가능한 배포 계획 승인됨
|
||||
- [ ] 배포 체크리스트 항목 전체 "완료" 또는 "해당없음" 처리됨
|
||||
- [ ] 릴리즈/롤백 체크리스트가 근거와 함께 완료됨
|
||||
- [ ] 배포 후 관찰 항목이 정의됨
|
||||
- [ ] Operations에 전달할 관찰 포인트, 장애 트리거, 후속 대응 절차 준비됨
|
||||
- [ ] 승인된 예외 이력 인계됨
|
||||
- [ ] 최종 승인
|
||||
- {{CONFIRM: Release 초안 승인 여부를 확인하라}}
|
||||
|
||||
# 8. 파일 처리 결과
|
||||
- 생성/갱신 경로:
|
||||
|
||||
# 9. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- Release 초안 승인 여부를 확인하라. (위치: #7)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Rollback Runbook Template
|
||||
|
||||
## Metadata
|
||||
|
||||
1. Change ID:
|
||||
2. Release Version:
|
||||
3. Environment:
|
||||
4. Owner:
|
||||
5. On-call Contact:
|
||||
6. Last Updated (UTC):
|
||||
|
||||
## Trigger Conditions
|
||||
|
||||
1. Error Rate Threshold:
|
||||
2. Latency Threshold:
|
||||
3. Availability Threshold:
|
||||
4. Data Integrity Alarm:
|
||||
5. Business Impact Trigger:
|
||||
|
||||
## Pre-rollback Checks
|
||||
|
||||
1. 장애 범위 확인(기능/사용자/데이터)
|
||||
2. 최근 배포 변경점 확인
|
||||
3. 백업/스냅샷 가용성 확인
|
||||
4. 커뮤니케이션 채널 준비
|
||||
|
||||
## Rollback Procedure
|
||||
|
||||
1. 트래픽 차단 또는 점진 축소
|
||||
2. 이전 안정 버전으로 아티팩트 전환
|
||||
3. 마이그레이션 롤백 또는 안전 모드 전환
|
||||
4. 캐시/큐/비동기 작업 상태 정리
|
||||
5. 서비스 재기동 및 헬스체크 확인
|
||||
|
||||
## Data Recovery Plan
|
||||
|
||||
1. 복원 대상 데이터 범위:
|
||||
2. 복원 방법(백업/스냅샷/리플레이):
|
||||
3. 데이터 무결성 검증 방법:
|
||||
4. 복원 예상 시간:
|
||||
|
||||
## Validation After Rollback
|
||||
|
||||
1. 핵심 사용자 시나리오 통과 여부
|
||||
2. API 오류율 정상화 여부
|
||||
3. 지연 시간 정상화 여부
|
||||
4. 데이터 정합성 점검 결과
|
||||
5. 모니터링 알림 해소 여부
|
||||
|
||||
## Communication Plan
|
||||
|
||||
1. 롤백 선언 메시지(내부)
|
||||
2. 영향 공지 메시지(외부)
|
||||
3. 상태 업데이트 주기
|
||||
4. 종료 공지 조건
|
||||
|
||||
## Post-rollback Follow-up
|
||||
|
||||
1. 원인 분석 티켓:
|
||||
2. 재배포 조건:
|
||||
3. 임시 완화책 제거 계획:
|
||||
4. Postmortem 일정:
|
||||
@@ -0,0 +1,219 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
# 1. 계획 상태 요약
|
||||
현재 Discovery가 어떤 배경에서 작성되고 있는지, 연계 문서가 있는지, 지금 시점의 해석이 무엇인지 짧게 요약한다.
|
||||
|
||||
- 연계 문서 현황:
|
||||
- Planning 점수 파일: {{PLANNING_SCORE_FILE:미생성 또는 경로}}
|
||||
- 관련 TODO/메모: {{TODO_FILE:경로 또는 없음}}
|
||||
- 해석:
|
||||
- {{SUMMARY_LINE_1:현재 검토/작성 배경 요약}}
|
||||
- {{SUMMARY_LINE_2:이번 Discovery에서 판단해야 할 핵심 요약}}
|
||||
|
||||
# 2. 요구사항 판정 결과
|
||||
이번 요청이 기존 요구사항과 비교해 신규인지, 유사한지, 중복인지 판단하고 그 근거를 남긴다.
|
||||
|
||||
- 판정: {{REQUIREMENT_CLASSIFICATION:완전 중복|유사|신규}}
|
||||
- 근거
|
||||
- {{CLASSIFICATION_REASON_1}}
|
||||
- {{CLASSIFICATION_REASON_2}}
|
||||
|
||||
> **판정이 `완전 중복`인 경우**: 이하 섹션 작성을 중단하고 `# 9. 파일 처리 결과`에 중복 판정 사유와 참조 문서 경로를 기록한 뒤 문서를 닫는다. Planning으로 넘기지 않는다.
|
||||
|
||||
# 3. 문제점의 요약
|
||||
문제의 현재 상태, 기대 상태, 관련 이해관계자, 제약사항을 정리한다. Discovery의 핵심 맥락을 가장 먼저 이해할 수 있어야 한다.
|
||||
|
||||
- 현재 상태
|
||||
- {{CURRENT_STATE_1}}
|
||||
- {{CURRENT_STATE_2}}
|
||||
- 기대 상태
|
||||
- {{TARGET_STATE_1}}
|
||||
- {{TARGET_STATE_2}}
|
||||
- 이해관계자
|
||||
- {{STAKEHOLDER_1:예. 문서 작성자(AI agent)}}
|
||||
- {{STAKEHOLDER_2:예. 리뷰어/승인자}}
|
||||
- {{STAKEHOLDER_3:예. 운영 담당자}}
|
||||
- 제약사항
|
||||
- {{CONSTRAINT_1}}
|
||||
- {{CONSTRAINT_2}}
|
||||
|
||||
## 주요 사용자 시나리오
|
||||
사용자 또는 운영자가 실제로 어떤 상황에서 이 변경을 필요로 하는지 대표 시나리오를 적는다.
|
||||
|
||||
- {{USER_SCENARIO_1}}
|
||||
- {{USER_SCENARIO_2}}
|
||||
- {{USER_SCENARIO_3}}
|
||||
|
||||
# 4. 이번에 정의할 변경
|
||||
이번 Discovery에서 다루는 핵심 변경 항목을 목록으로 적는다. 기능, 구조, 규칙 변경을 함께 포함해도 된다.
|
||||
|
||||
- {{CHANGE_ITEM_1}}
|
||||
- {{CHANGE_ITEM_2:필요 없으면 삭제}}
|
||||
- {{CHANGE_ITEM_3:필요 없으면 삭제}}
|
||||
|
||||
## 영향 범위
|
||||
변경이 미칠 코드/문서/운영 범위를 명시해 Planning에서 추정 누락을 줄인다.
|
||||
|
||||
- 코드 영향:
|
||||
- {{CODE_IMPACT_1:예. docs/sdlc/index.md 갱신 로직}}
|
||||
- {{CODE_IMPACT_2:필요 없으면 삭제}}
|
||||
- 문서 영향:
|
||||
- {{DOC_IMPACT_1}}
|
||||
- {{DOC_IMPACT_2:필요 없으면 삭제}}
|
||||
- 운영 영향:
|
||||
- {{OPS_IMPACT_1:예. 배포/운영 절차 변경 없음}}
|
||||
- {{OPS_IMPACT_2:필요 없으면 삭제}}
|
||||
|
||||
# 5. 요구사항 목록
|
||||
실제로 구현과 검증으로 이어질 요구사항을 기능/비기능으로 나누어 정리하고, 범위 경계를 명확히 적는다.
|
||||
|
||||
## 기능 요구사항
|
||||
- FR-1: {{FR_1}}
|
||||
- FR-2: {{FR_2}}
|
||||
- FR-3: {{FR_3:필요 없으면 삭제}}
|
||||
- FR-4: {{FR_4:필요 없으면 삭제}}
|
||||
|
||||
## 비기능 요구사항
|
||||
성능, 운영성, 일관성, 자동화 안정성 등 기능 외 요구사항을 적는다.
|
||||
|
||||
- NFR-1: {{NFR_1}}
|
||||
- NFR-2: {{NFR_2}}
|
||||
- NFR-3: {{NFR_3:필요 없으면 삭제}}
|
||||
|
||||
## 범위 경계
|
||||
이번 반복에서 반드시 포함할 범위와 명시적으로 제외할 범위를 구분한다.
|
||||
|
||||
- In Scope
|
||||
- {{IN_SCOPE_1}}
|
||||
- {{IN_SCOPE_2}}
|
||||
- Out of Scope
|
||||
- {{OUT_OF_SCOPE_1}}
|
||||
- {{OUT_OF_SCOPE_2}}
|
||||
|
||||
# 6. 리스크/가정 목록
|
||||
불확실성과 전제 조건을 분리해서 적는다. 리스크는 영향과 완화 방안을, 가정은 현재 판단의 전제를 기록한다.
|
||||
|
||||
## 리스크
|
||||
- R-1 ({{RISK_LEVEL_1:High|Medium|Low}}): {{RISK_1}}
|
||||
- 완화 방안: {{MITIGATION_1}}
|
||||
- R-2 ({{RISK_LEVEL_2:High|Medium|Low}}): {{RISK_2}}
|
||||
- 완화 방안: {{MITIGATION_2}}
|
||||
- R-3 ({{RISK_LEVEL_3:High|Medium|Low}}): {{RISK_3:필요 없으면 삭제}}
|
||||
- 완화 방안: {{MITIGATION_3:필요 없으면 삭제}}
|
||||
|
||||
## 가정
|
||||
아직 확정되지 않았지만 현재 문서 작성의 기반이 되는 전제를 적는다.
|
||||
|
||||
- A-1: {{ASSUMPTION_1}}
|
||||
- A-2: {{ASSUMPTION_2}}
|
||||
- A-3: {{ASSUMPTION_3:필요 없으면 삭제}}
|
||||
|
||||
## 오픈 질문
|
||||
답을 아직 모르는 항목을 적는다. 추정으로 덮지 말고 Planning 이전에 확인할 질문으로 남긴다.
|
||||
|
||||
- OQ-1: {{OPEN_QUESTION_1}}
|
||||
- 상태: {{OPEN_QUESTION_STATUS_1:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{OPEN_QUESTION_ACTION_1:누가 어떤 방식으로 결정/확인할지}}
|
||||
- 종료 조건: {{OPEN_QUESTION_EXIT_1:언제 이 질문을 Answered/Deferred/Dropped로 처리할지}}
|
||||
- OQ-2: {{OPEN_QUESTION_2}}
|
||||
- 상태: {{OPEN_QUESTION_STATUS_2:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{OPEN_QUESTION_ACTION_2:누가 어떤 방식으로 결정/확인할지}}
|
||||
- 종료 조건: {{OPEN_QUESTION_EXIT_2:언제 이 질문을 Answered/Deferred/Dropped로 처리할지}}
|
||||
- OQ-3: {{OPEN_QUESTION_3:필요 없으면 삭제}}
|
||||
- 상태: {{OPEN_QUESTION_STATUS_3:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{OPEN_QUESTION_ACTION_3:누가 어떤 방식으로 결정/확인할지}}
|
||||
- 종료 조건: {{OPEN_QUESTION_EXIT_3:언제 이 질문을 Answered/Deferred/Dropped로 처리할지}}
|
||||
|
||||
### 오픈 질문 처리 기준
|
||||
- `Open`: 아직 답이 없고 다음 단계 진행에 영향이 있는 상태다. 문서에 유지한다.
|
||||
- `Answered`: 답이 확정된 상태다. 관련 본문/요구사항에 반영한 뒤 오픈 질문 목록에서는 제거하거나 resolved 기록으로 이동한다.
|
||||
- `Deferred`: 지금 단계에서 결정하지 않고 다음 단계 또는 후속 이슈로 넘기는 상태다. 넘길 대상과 이유를 반드시 적는다.
|
||||
- `Dropped`: 더 이상 유효하지 않은 질문이다. 삭제 사유를 짧게 남기고 목록에서 제거한다.
|
||||
- 처리 원칙 1: 질문만 남기지 말고 반드시 `상태`, `처리 방안`, `종료 조건`을 함께 적는다.
|
||||
- 처리 원칙 2: 답이 나온 질문은 본문 반영 없이 단순 삭제하지 않는다. 반영 위치를 먼저 갱신한다.
|
||||
- 처리 원칙 3: High 영향 질문은 `Deferred` 처리 후 처리 방안에 Planning 인계 추적 방식을 명시한다.
|
||||
|
||||
# 7. 초기 성공 기준
|
||||
이 변경이 성공했다고 판단할 기준을 측정 가능하게 정의한다. 가능하면 데이터 출처까지 연결한다.
|
||||
|
||||
- S-1: {{SUCCESS_METRIC_1}}
|
||||
- S-2: {{SUCCESS_METRIC_2}}
|
||||
- S-3: {{SUCCESS_METRIC_3:필요 없으면 삭제}}
|
||||
|
||||
## 측정 방식 및 데이터 출처
|
||||
각 성공 기준을 어떻게 측정할지와 어떤 데이터나 문서를 근거로 쓸지 적는다.
|
||||
|
||||
- S-1 측정 방식: {{MEASURE_METHOD_1}} / 데이터 출처: {{MEASURE_SOURCE_1}}
|
||||
- S-2 측정 방식: {{MEASURE_METHOD_2}} / 데이터 출처: {{MEASURE_SOURCE_2}}
|
||||
- S-3 측정 방식: {{MEASURE_METHOD_3:필요 없으면 삭제}} / 데이터 출처: {{MEASURE_SOURCE_3:필요 없으면 삭제}}
|
||||
|
||||
# 8. Planning으로 넘기기 전 확인 체크
|
||||
Planning 단계로 넘기기 전에 무엇이 확정되어야 하는지 확인한다. 미완료 항목은 후속 결정이 필요함을 뜻한다.
|
||||
|
||||
- [ ] 범위(In Scope/Out of Scope) 확정
|
||||
- 기준: {{CHECK_SCOPE_CRITERIA}}
|
||||
- [ ] 성공 지표의 측정 방식/데이터 출처 확정
|
||||
- 기준: {{CHECK_METRICS_CRITERIA}}
|
||||
- [ ] High 영향 리스크 우선순위 및 해소 책임자 지정
|
||||
- 기준: {{CHECK_RISK_OWNER_CRITERIA}}
|
||||
- [ ] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
|
||||
- 기준: OQ 목록에 `Open` 상태 항목이 0개이거나, 잔여 항목 전부 `Deferred` 처리 완료
|
||||
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
|
||||
- 기준: {{CHECK_CONFIRMEDBY_CRITERIA}}
|
||||
|
||||
# 9. 파일 처리 결과
|
||||
이 Discovery 문서 생성/갱신 결과와 참조 문서를 기록한다. 이후 추적과 리뷰 시 근거로 사용한다.
|
||||
|
||||
- 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
|
||||
- 생성 경로: {{OUTPUT_PATH}}
|
||||
- 참조 문서:
|
||||
- {{REFERENCE_1}}
|
||||
- {{REFERENCE_2}}
|
||||
- {{REFERENCE_3:필요 없으면 삭제}}
|
||||
|
||||
# 10. 사용자 결정 필요 항목 요약
|
||||
사용자나 승인자가 결정해야 하는 항목만 모아 정리한다. 결정, 확인, 데이터 요청을 구분해서 적는다.
|
||||
|
||||
## DECIDE
|
||||
- {{DECIDE_ITEM_1}}
|
||||
- {{DECIDE_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## CONFIRM
|
||||
- {{CONFIRM_ITEM_1}}
|
||||
- {{CONFIRM_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## DATA
|
||||
- {{DATA_ITEM_1}}
|
||||
- {{DATA_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 11. Discovery Freeze
|
||||
Planning 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 범위: [# 5. 요구사항 목록 > 범위 경계](#5-요구사항-목록)
|
||||
- 리스크/오픈 질문: [# 6. 리스크/가정 목록](#6-리스크가정-목록)
|
||||
- 성공 기준: [# 7. 초기 성공 기준](#7-초기-성공-기준)
|
||||
- 인계 전 확인: [# 8. Planning으로 넘기기 전 확인 체크](#8-planning으로-넘기기-전-확인-체크)
|
||||
- 사용자 결정 필요: [# 10. 사용자 결정 필요 항목 요약](#10-사용자-결정-필요-항목-요약)
|
||||
|
||||
## Freeze 플래그
|
||||
- Handoff Decision: {{FREEZE_HANDOFF_DECISION:Planning 진행 가능|보류}}
|
||||
- Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:진행 가능 또는 보류 판단 근거 1-2줄}}
|
||||
- Ready for Planning: {{READY_FOR_PLANNING:false}}
|
||||
- Confirmed By: {{CONFIRMED_BY:TBD}}
|
||||
- Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}
|
||||
|
||||
# 12. 작성 가이드
|
||||
템플릿 사용 시의 기본 규칙을 적는다. 실제 문서를 만들 때는 이 가이드를 기준으로 플레이스홀더를 치환한다.
|
||||
|
||||
- 이 파일은 템플릿이다. 실제 문서 작성 시 `{{...}}` 플레이스홀더를 구체 값으로 교체한다.
|
||||
- 필요 없는 항목은 삭제하고, 부족한 항목은 같은 형식으로 추가한다.
|
||||
- Open Questions는 가정으로 대체하지 말고 그대로 유지한다.
|
||||
- Discovery Freeze는 문서 하단에 반드시 유지한다.
|
||||
@@ -0,0 +1,205 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 참조 Discovery: {{DISCOVERY_PATH:docs/sdlc/<CYCLE_ID>/1_discovery.md}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
# 1. Discovery 인계 요약
|
||||
Discovery에서 확정된 핵심 내용을 요약한다. 원본은 1_discovery.md를 참조하며, 이 섹션은 Planning 작업의 입력 기준선이 된다.
|
||||
|
||||
## 이슈 목적
|
||||
- {{PLANNING_ISSUE_PURPOSE:Discovery 이슈명과 핵심 목적 1-2줄}}
|
||||
|
||||
## 확정 범위
|
||||
- In Scope
|
||||
- {{PLANNING_IN_SCOPE_1}}
|
||||
- {{PLANNING_IN_SCOPE_2}}
|
||||
- Out of Scope
|
||||
- {{PLANNING_OUT_OF_SCOPE_1}}
|
||||
- {{PLANNING_OUT_OF_SCOPE_2}}
|
||||
|
||||
## 기능 요구사항 (FR) 요약
|
||||
- FR-1: {{PLANNING_FR_1}}
|
||||
- FR-2: {{PLANNING_FR_2}}
|
||||
- FR-3: {{PLANNING_FR_3:필요 없으면 삭제}}
|
||||
- FR-4: {{PLANNING_FR_4:필요 없으면 삭제}}
|
||||
|
||||
## 비기능 요구사항 (NFR) 요약
|
||||
- NFR-1: {{PLANNING_NFR_1}}
|
||||
- NFR-2: {{PLANNING_NFR_2:필요 없으면 삭제}}
|
||||
|
||||
## 이월된 오픈 질문 / 리스크
|
||||
Discovery에서 `Deferred` 처리되어 Planning 단계에서 해소해야 하는 항목을 기록한다.
|
||||
|
||||
- {{DEFERRED_ITEM_1:없으면 "없음"}}
|
||||
- {{DEFERRED_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 2. 작업 분해 (Task Breakdown)
|
||||
FR/NFR 각각을 실행 가능한 단위 태스크로 분해한다. 각 태스크는 하나의 완료 조건을 가져야 한다.
|
||||
|
||||
| ID | 태스크 제목 | 유형 | 참조 요구사항 | 의존 태스크 | 담당자 |
|
||||
|-----|-----------|------|--------------|------------|--------|
|
||||
| T-1 | {{TASK_TITLE_1}} | {{TASK_TYPE_1:개발\|문서\|검토\|설계\|운영}} | {{TASK_REF_1:FR-1}} | - | {{TASK_OWNER_1:TBD}} |
|
||||
| T-2 | {{TASK_TITLE_2}} | {{TASK_TYPE_2:개발\|문서\|검토\|설계\|운영}} | {{TASK_REF_2:FR-2}} | {{TASK_DEP_2:-}} | {{TASK_OWNER_2:TBD}} |
|
||||
| T-3 | {{TASK_TITLE_3:필요 없으면 삭제}} | {{TASK_TYPE_3:개발\|문서\|검토\|설계\|운영}} | {{TASK_REF_3}} | {{TASK_DEP_3:-}} | {{TASK_OWNER_3:TBD}} |
|
||||
| T-4 | {{TASK_TITLE_4:필요 없으면 삭제}} | {{TASK_TYPE_4:개발\|문서\|검토\|설계\|운영}} | {{TASK_REF_4}} | {{TASK_DEP_4:-}} | {{TASK_OWNER_4:TBD}} |
|
||||
|
||||
## 태스크 완료 조건 (DoD)
|
||||
각 태스크의 완료 기준을 명시한다.
|
||||
|
||||
- T-1: {{TASK_DOD_1}}
|
||||
- T-2: {{TASK_DOD_2}}
|
||||
- T-3: {{TASK_DOD_3:필요 없으면 삭제}}
|
||||
- T-4: {{TASK_DOD_4:필요 없으면 삭제}}
|
||||
|
||||
# 3. 공수 추정
|
||||
각 태스크의 예상 공수를 적는다. 단위는 팀 기준에 맞게 선택한다(SP 또는 시간).
|
||||
|
||||
| ID | 태스크 제목 | 추정 공수 | 추정 단위 | 비고 |
|
||||
|-----|-----------|---------|---------|------|
|
||||
| T-1 | {{TASK_TITLE_1}} | {{EFFORT_1}} | {{EFFORT_UNIT:SP\|시간\|일}} | {{EFFORT_NOTE_1:필요 없으면 삭제}} |
|
||||
| T-2 | {{TASK_TITLE_2}} | {{EFFORT_2}} | {{EFFORT_UNIT}} | {{EFFORT_NOTE_2:필요 없으면 삭제}} |
|
||||
| T-3 | {{TASK_TITLE_3:필요 없으면 삭제}} | {{EFFORT_3}} | {{EFFORT_UNIT}} | {{EFFORT_NOTE_3:필요 없으면 삭제}} |
|
||||
| T-4 | {{TASK_TITLE_4:필요 없으면 삭제}} | {{EFFORT_4}} | {{EFFORT_UNIT}} | {{EFFORT_NOTE_4:필요 없으면 삭제}} |
|
||||
|
||||
- 총 추정 공수: {{TOTAL_EFFORT}}
|
||||
- 추정 신뢰도: {{EFFORT_CONFIDENCE:High|Medium|Low}}
|
||||
- 추정 근거: {{EFFORT_BASIS:추정에 사용한 방법 또는 유사 사례}}
|
||||
|
||||
# 4. 일정 계획
|
||||
이터레이션 또는 스프린트 단위로 태스크 배분 계획을 적는다.
|
||||
|
||||
## 마일스톤
|
||||
| 마일스톤 | 목표 날짜 | 포함 태스크 | 완료 조건 |
|
||||
|---------|---------|-----------|---------|
|
||||
| M-1: {{MILESTONE_1_NAME}} | {{MILESTONE_1_DATE:TBD}} | {{MILESTONE_1_TASKS:T-1, T-2}} | {{MILESTONE_1_DONE}} |
|
||||
| M-2: {{MILESTONE_2_NAME:필요 없으면 삭제}} | {{MILESTONE_2_DATE:TBD}} | {{MILESTONE_2_TASKS}} | {{MILESTONE_2_DONE}} |
|
||||
|
||||
## 이터레이션 계획
|
||||
- 이터레이션 단위: {{ITERATION_UNIT:스프린트|주|없음(단일 배포)}}
|
||||
- 이터레이션 1 ({{ITERATION_1_PERIOD:날짜 범위 또는 TBD}}): {{ITERATION_1_TASKS:T-1, T-2}}
|
||||
- 이터레이션 2 ({{ITERATION_2_PERIOD:날짜 범위 또는 TBD}}): {{ITERATION_2_TASKS:T-3, T-4}}
|
||||
|
||||
# 5. 의존성 및 제약
|
||||
태스크 간 의존 관계와 외부 의존성을 기록한다.
|
||||
|
||||
## 태스크 간 의존성
|
||||
- {{TASK_DEPENDENCY_1:예. T-2는 T-1 완료 후 시작 가능}}
|
||||
- {{TASK_DEPENDENCY_2:필요 없으면 삭제}}
|
||||
|
||||
## 외부 의존성
|
||||
다른 팀, 시스템, 도구에 의존하는 항목을 적는다.
|
||||
|
||||
- {{EXTERNAL_DEP_1:예. CI/CD 파이프라인 설정 필요}}
|
||||
- {{EXTERNAL_DEP_2:필요 없으면 삭제}}
|
||||
|
||||
## 기술/환경 제약
|
||||
- {{TECH_CONSTRAINT_1}}
|
||||
- {{TECH_CONSTRAINT_2:필요 없으면 삭제}}
|
||||
|
||||
# 6. 검증 계획 개요
|
||||
Discovery의 성공 기준과 연결해 어떻게 검증할지 초안을 적는다. 상세 검증은 Verification 단계에서 정의한다.
|
||||
|
||||
| 성공 기준 | 검증 방법 초안 | 담당자 |
|
||||
|---------|-------------|--------|
|
||||
| {{VERIFY_CRITERIA_1:S-1 요약}} | {{VERIFY_METHOD_1}} | {{VERIFY_OWNER_1:TBD}} |
|
||||
| {{VERIFY_CRITERIA_2:S-2 요약}} | {{VERIFY_METHOD_2}} | {{VERIFY_OWNER_2:TBD}} |
|
||||
| {{VERIFY_CRITERIA_3:S-3 요약 또는 삭제}} | {{VERIFY_METHOD_3}} | {{VERIFY_OWNER_3:TBD}} |
|
||||
|
||||
# 7. 리스크
|
||||
Planning 단계에서 새로 식별된 리스크를 기록한다. Discovery에서 이월된 리스크는 `# 1` 이월 항목에서 확인한다.
|
||||
|
||||
## 리스크
|
||||
- R-1 ({{PLAN_RISK_LEVEL_1:High|Medium|Low}}): {{PLAN_RISK_1}}
|
||||
- 완화 방안: {{PLAN_MITIGATION_1}}
|
||||
- R-2 ({{PLAN_RISK_LEVEL_2:High|Medium|Low}}): {{PLAN_RISK_2:필요 없으면 삭제}}
|
||||
- 완화 방안: {{PLAN_MITIGATION_2:필요 없으면 삭제}}
|
||||
|
||||
## 가정
|
||||
Planning 수행의 전제가 되는 가정을 적는다.
|
||||
|
||||
- PA-1: {{PLAN_ASSUMPTION_1}}
|
||||
- PA-2: {{PLAN_ASSUMPTION_2:필요 없으면 삭제}}
|
||||
|
||||
## 오픈 질문
|
||||
Planning 진행 중 확인이 필요한 질문을 적는다.
|
||||
|
||||
- OQ-1: {{PLAN_OPEN_QUESTION_1}}
|
||||
- 상태: {{PLAN_OQ_STATUS_1:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{PLAN_OQ_ACTION_1}}
|
||||
- 종료 조건: {{PLAN_OQ_EXIT_1}}
|
||||
- OQ-2: {{PLAN_OPEN_QUESTION_2:필요 없으면 삭제}}
|
||||
- 상태: {{PLAN_OQ_STATUS_2:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{PLAN_OQ_ACTION_2}}
|
||||
- 종료 조건: {{PLAN_OQ_EXIT_2}}
|
||||
|
||||
# 8. Design으로 넘기기 전 확인 체크
|
||||
Design 단계로 넘기기 전에 무엇이 확정되어야 하는지 확인한다.
|
||||
|
||||
- [ ] 전체 태스크 목록 확정 및 담당자 지정
|
||||
- 기준: {{CHECK_TASKS_CRITERIA:모든 태스크에 담당자가 지정되어야 한다}}
|
||||
- [ ] 공수 추정 완료 및 총 공수 확인
|
||||
- 기준: {{CHECK_EFFORT_CRITERIA:모든 태스크의 추정 공수가 채워져야 한다}}
|
||||
- [ ] 마일스톤 및 이터레이션 계획 확정
|
||||
- 기준: {{CHECK_SCHEDULE_CRITERIA:M-1 이상의 마일스톤과 이터레이션 경계가 정의되어야 한다}}
|
||||
- [ ] 외부 의존성 해소 계획 확인
|
||||
- 기준: {{CHECK_DEP_CRITERIA:외부 의존성 각 항목에 담당자 또는 해소 방안이 있어야 한다}}
|
||||
- [ ] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
|
||||
- 기준: OQ 목록에 `Open` 상태 항목이 0개이거나, 잔여 항목 전부 `Deferred` 처리 완료
|
||||
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
|
||||
- 기준: {{CHECK_CONFIRMEDBY_CRITERIA:문서 승인 또는 인계 결정을 내릴 담당자가 명시되어야 한다}}
|
||||
|
||||
# 9. 파일 처리 결과
|
||||
이 Planning 문서 생성/갱신 결과와 참조 문서를 기록한다.
|
||||
|
||||
- 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
|
||||
- 생성 경로: {{OUTPUT_PATH}}
|
||||
- 참조 문서:
|
||||
- {{DISCOVERY_PATH:docs/sdlc/<CYCLE_ID>/1_discovery.md}}
|
||||
- {{REFERENCE_1:필요 없으면 삭제}}
|
||||
|
||||
# 10. 사용자 결정 필요 항목 요약
|
||||
사용자나 승인자가 결정해야 하는 항목만 모아 정리한다.
|
||||
|
||||
## DECIDE
|
||||
- {{DECIDE_ITEM_1}}
|
||||
- {{DECIDE_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## CONFIRM
|
||||
- {{CONFIRM_ITEM_1}}
|
||||
- {{CONFIRM_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## DATA
|
||||
- {{DATA_ITEM_1}}
|
||||
- {{DATA_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 11. Planning Freeze
|
||||
Design 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 작업 분해: [# 2. 작업 분해](#2-작업-분해-task-breakdown)
|
||||
- 공수/일정: [# 3. 공수 추정](#3-공수-추정), [# 4. 일정 계획](#4-일정-계획)
|
||||
- 의존성: [# 5. 의존성 및 제약](#5-의존성-및-제약)
|
||||
- 검증 계획: [# 6. 검증 계획 개요](#6-검증-계획-개요)
|
||||
- 리스크/오픈 질문: [# 7. 리스크](#7-리스크)
|
||||
- 인계 전 확인: [# 8. Design으로 넘기기 전 확인 체크](#8-design으로-넘기기-전-확인-체크)
|
||||
- 사용자 결정 필요: [# 10. 사용자 결정 필요 항목 요약](#10-사용자-결정-필요-항목-요약)
|
||||
|
||||
## Freeze 플래그
|
||||
- Handoff Decision: {{FREEZE_HANDOFF_DECISION:Design 진행 가능|보류}}
|
||||
- Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:진행 가능 또는 보류 판단 근거 1-2줄}}
|
||||
- Ready for Design: {{READY_FOR_DESIGN:false}}
|
||||
- Confirmed By: {{CONFIRMED_BY:TBD}}
|
||||
- Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}
|
||||
|
||||
# 12. 작성 가이드
|
||||
템플릿 사용 시의 기본 규칙을 적는다. 실제 문서를 만들 때는 이 가이드를 기준으로 플레이스홀더를 치환한다.
|
||||
|
||||
- 이 파일은 템플릿이다. 실제 문서 작성 시 `{{...}}` 플레이스홀더를 구체 값으로 교체한다.
|
||||
- 필요 없는 태스크/마일스톤 행은 삭제하고, 부족한 항목은 같은 형식으로 추가한다.
|
||||
- 공수 추정은 팀 기준 단위(SP/시간/일)를 통일해서 사용한다.
|
||||
- Planning Freeze는 문서 하단에 반드시 유지한다.
|
||||
@@ -0,0 +1,187 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{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_INJECTION_ACTION:비해당이면 삭제}} |
|
||||
| 인증/인가 | {{SEC_AUTH:해당|비해당}} | {{SEC_AUTH_ACTION:비해당이면 삭제}} |
|
||||
| 민감 데이터 노출 | {{SEC_DATA:해당|비해당}} | {{SEC_DATA_ACTION:비해당이면 삭제}} |
|
||||
| 의존성 취약점 | {{SEC_DEP:해당|비해당}} | {{SEC_DEP_ACTION:비해당이면 삭제}} |
|
||||
| 기타 | {{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 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 아키텍처/구조: [# 2. 아키텍처 및 구조 설계](#2-아키텍처-및-구조-설계)
|
||||
- 상세 설계: [# 3. 상세 설계](#3-상세-설계)
|
||||
- 인터페이스: [# 4. 인터페이스 정의](#4-인터페이스-정의)
|
||||
- 보안: [# 5. 보안 고려사항](#5-보안-고려사항)
|
||||
- 리스크/오픈 질문: [# 6. 리스크](#6-리스크)
|
||||
- 인계 전 확인: [# 7. Implementation으로 넘기기 전 확인 체크](#7-implementation으로-넘기기-전-확인-체크)
|
||||
- 사용자 결정 필요: [# 9. 사용자 결정 필요 항목 요약](#9-사용자-결정-필요-항목-요약)
|
||||
|
||||
## 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는 문서 하단에 반드시 유지한다.
|
||||
@@ -0,0 +1,155 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 참조 Design: {{DESIGN_PATH:docs/sdlc/<CYCLE_ID>/3_design.md}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
# 1. Design 인계 요약
|
||||
Design에서 확정된 핵심 내용을 요약한다. 원본은 3_design.md를 참조하며, 이 섹션은 Implementation 작업의 입력 기준선이 된다.
|
||||
|
||||
## 이슈 목적
|
||||
- {{IMP_ISSUE_PURPOSE:Design 이슈명과 핵심 목적 1-2줄}}
|
||||
|
||||
## 확정 태스크 및 변경 대상
|
||||
| ID | 태스크 제목 | 변경 대상 파일/함수 | 담당자 |
|
||||
|----|-----------|-------------------|--------|
|
||||
| T-1 | {{IMP_TASK_TITLE_1}} | {{IMP_TASK_TARGET_1}} | {{IMP_TASK_OWNER_1:TBD}} |
|
||||
| T-2 | {{IMP_TASK_TITLE_2}} | {{IMP_TASK_TARGET_2}} | {{IMP_TASK_OWNER_2:TBD}} |
|
||||
| T-3 | {{IMP_TASK_TITLE_3:필요 없으면 삭제}} | {{IMP_TASK_TARGET_3}} | {{IMP_TASK_OWNER_3:TBD}} |
|
||||
|
||||
## 이월된 오픈 질문 / 리스크
|
||||
Design에서 `Deferred` 처리되어 Implementation 단계에서 해소해야 하는 항목을 기록한다.
|
||||
|
||||
- {{IMP_DEFERRED_ITEM_1:없으면 "없음"}}
|
||||
- {{IMP_DEFERRED_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 2. 구현 계획
|
||||
태스크(T-N)별 구현 순서와 접근 방법을 기술한다.
|
||||
|
||||
## 구현 순서
|
||||
태스크 간 의존 관계와 우선순위를 고려한 구현 순서를 정의한다.
|
||||
|
||||
1. {{IMP_ORDER_1:예. T-1 — 기반 구조 구현 (다른 태스크의 의존 대상)}}
|
||||
2. {{IMP_ORDER_2:예. T-2 — 핵심 기능 구현}}
|
||||
3. {{IMP_ORDER_3:필요 없으면 삭제}}
|
||||
|
||||
## T-1: {{IMP_TASK_TITLE_1}}
|
||||
- 구현 방법: {{IMP_METHOD_1:설계 방향을 실제 코드/설정으로 구현하는 접근}}
|
||||
- 변경 대상: {{IMP_TARGET_1:실제 파일 경로, 함수명, 설정 키}}
|
||||
- 완료 조건: {{IMP_DOD_1:이 태스크가 완료된 것으로 간주하는 기준}}
|
||||
- 주의사항: {{IMP_NOTE_1:구현 중 주의해야 할 사항. 필요 없으면 삭제}}
|
||||
|
||||
## T-2: {{IMP_TASK_TITLE_2}}
|
||||
- 구현 방법: {{IMP_METHOD_2}}
|
||||
- 변경 대상: {{IMP_TARGET_2}}
|
||||
- 완료 조건: {{IMP_DOD_2}}
|
||||
- 주의사항: {{IMP_NOTE_2:필요 없으면 삭제}}
|
||||
|
||||
## T-3: {{IMP_TASK_TITLE_3:필요 없으면 삭제}}
|
||||
- 구현 방법: {{IMP_METHOD_3}}
|
||||
- 변경 대상: {{IMP_TARGET_3}}
|
||||
- 완료 조건: {{IMP_DOD_3}}
|
||||
- 주의사항: {{IMP_NOTE_3:필요 없으면 삭제}}
|
||||
|
||||
# 3. 변경 파일 목록
|
||||
이번 Implementation에서 생성/수정/삭제되는 파일을 미리 나열한다. 구현 완료 후 실제 결과를 반영해 갱신한다.
|
||||
|
||||
| 파일 경로 | 변경 유형 | 관련 태스크 | 비고 |
|
||||
|---------|---------|-----------|------|
|
||||
| {{IMP_FILE_1}} | {{IMP_FILE_TYPE_1:생성\|수정\|삭제}} | {{IMP_FILE_TASK_1:T-1}} | {{IMP_FILE_NOTE_1:필요 없으면 삭제}} |
|
||||
| {{IMP_FILE_2}} | {{IMP_FILE_TYPE_2:생성\|수정\|삭제}} | {{IMP_FILE_TASK_2}} | {{IMP_FILE_NOTE_2:필요 없으면 삭제}} |
|
||||
| {{IMP_FILE_3:필요 없으면 삭제}} | {{IMP_FILE_TYPE_3:생성\|수정\|삭제}} | {{IMP_FILE_TASK_3}} | {{IMP_FILE_NOTE_3:필요 없으면 삭제}} |
|
||||
|
||||
# 4. 리스크 및 제약
|
||||
Implementation 단계에서 새로 식별된 리스크와 제약사항을 기록한다.
|
||||
|
||||
## 리스크
|
||||
- R-1 ({{IMP_RISK_LEVEL_1:High|Medium|Low}}): {{IMP_RISK_1}}
|
||||
- 완화 방안: {{IMP_MITIGATION_1}}
|
||||
- R-2 ({{IMP_RISK_LEVEL_2:High|Medium|Low}}): {{IMP_RISK_2:필요 없으면 삭제}}
|
||||
- 완화 방안: {{IMP_MITIGATION_2:필요 없으면 삭제}}
|
||||
|
||||
## 가정
|
||||
Implementation 수행의 전제가 되는 가정을 적는다.
|
||||
|
||||
- IA-1: {{IMP_ASSUMPTION_1}}
|
||||
- IA-2: {{IMP_ASSUMPTION_2:필요 없으면 삭제}}
|
||||
|
||||
## 오픈 질문
|
||||
Implementation 진행 중 확인이 필요한 질문을 적는다.
|
||||
|
||||
- OQ-1: {{IMP_OPEN_QUESTION_1}}
|
||||
- 상태: {{IMP_OQ_STATUS_1:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{IMP_OQ_ACTION_1}}
|
||||
- 종료 조건: {{IMP_OQ_EXIT_1}}
|
||||
- OQ-2: {{IMP_OPEN_QUESTION_2:필요 없으면 삭제}}
|
||||
- 상태: {{IMP_OQ_STATUS_2:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{IMP_OQ_ACTION_2}}
|
||||
- 종료 조건: {{IMP_OQ_EXIT_2}}
|
||||
|
||||
# 5. Verification으로 넘기기 전 확인 체크
|
||||
Verification 단계로 넘기기 전에 무엇이 완료되어야 하는지 확인한다.
|
||||
|
||||
- [ ] 모든 T-N 태스크 구현 완료
|
||||
- 기준: {{CHECK_ALL_TASKS:각 태스크의 완료 조건(DoD)을 충족해야 한다}}
|
||||
- [ ] 변경 파일 목록과 실제 변경 일치
|
||||
- 기준: {{CHECK_FILE_LIST:3_design.md의 변경 대상과 실제 변경된 파일이 일치해야 한다}}
|
||||
- [ ] 단위 테스트 또는 로컬 검증 완료
|
||||
- 기준: {{CHECK_LOCAL_VERIFY:변경 사항이 로컬 환경에서 의도대로 동작하는지 확인해야 한다}}
|
||||
- [ ] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
|
||||
- 기준: OQ 목록에 `Open` 상태 항목이 0개이거나, 잔여 항목 전부 `Deferred` 처리 완료
|
||||
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
|
||||
- 기준: {{CHECK_CONFIRMEDBY_CRITERIA:문서 승인 또는 인계 결정을 내릴 담당자가 명시되어야 한다}}
|
||||
|
||||
# 6. 파일 처리 결과
|
||||
이 Implementation 문서 생성/갱신 결과와 참조 문서를 기록한다.
|
||||
|
||||
- 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
|
||||
- 생성 경로: {{OUTPUT_PATH}}
|
||||
- 참조 문서:
|
||||
- {{DESIGN_PATH:docs/sdlc/<CYCLE_ID>/3_design.md}}
|
||||
- {{REFERENCE_1:필요 없으면 삭제}}
|
||||
|
||||
# 7. 사용자 결정 필요 항목 요약
|
||||
사용자나 승인자가 결정해야 하는 항목만 모아 정리한다.
|
||||
|
||||
## DECIDE
|
||||
- {{DECIDE_ITEM_1}}
|
||||
- {{DECIDE_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## CONFIRM
|
||||
- {{CONFIRM_ITEM_1}}
|
||||
- {{CONFIRM_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## DATA
|
||||
- {{DATA_ITEM_1}}
|
||||
- {{DATA_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 8. Implementation Freeze
|
||||
Verification 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 구현 계획: [# 2. 구현 계획](#2-구현-계획)
|
||||
- 변경 파일 목록: [# 3. 변경 파일 목록](#3-변경-파일-목록)
|
||||
- 리스크/오픈 질문: [# 4. 리스크 및 제약](#4-리스크-및-제약)
|
||||
|
||||
## 확정 플래그
|
||||
- Handoff Decision: {{FREEZE_HANDOFF_DECISION:보류}}
|
||||
- Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:구현 완료 및 로컬 검증 후 Verification으로 인계}}
|
||||
- Ready for Verification: {{READY_FOR_VERIFICATION:false}}
|
||||
- Confirmed By: {{CONFIRMED_BY:TBD}}
|
||||
- Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}
|
||||
|
||||
---
|
||||
|
||||
# 12. 작성 가이드
|
||||
*이 섹션은 작성 참고용이다. 문서 완성 후 삭제해도 된다.*
|
||||
|
||||
- **변경 대상 파일 경로**: 실제 저장소 파일 경로를 명시한다. 추정이나 가상 경로를 쓰지 않는다.
|
||||
- **완료 조건(DoD)**: "구현 완료"처럼 모호한 표현 대신 "파일 X에 함수 Y가 추가되고 입력 Z에 대해 올바른 결과를 반환한다"처럼 측정 가능하게 작성한다.
|
||||
- **오픈 질문**: 구현 중 발생한 기술적 판단 사항, 외부 확인 필요 항목 등을 기록한다.
|
||||
- **Freeze 섹션**: 모든 태스크 완료 및 로컬 검증 후 담당자가 직접 갱신한다.
|
||||
@@ -0,0 +1,160 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 참조 Implementation: {{IMP_PATH:docs/sdlc/<CYCLE_ID>/4_implementation.md}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
# 1. Implementation 인계 요약
|
||||
Implementation에서 완료된 핵심 내용을 요약한다. 원본은 4_implementation.md를 참조하며, 이 섹션은 Verification 작업의 입력 기준선이 된다.
|
||||
|
||||
## 이슈 목적
|
||||
- {{VER_ISSUE_PURPOSE:Implementation 이슈명과 핵심 목적 1-2줄}}
|
||||
|
||||
## 구현 완료 태스크
|
||||
| ID | 태스크 제목 | 변경 파일/함수 | 완료 조건(DoD) |
|
||||
|----|-----------|--------------|--------------|
|
||||
| T-1 | {{VER_TASK_TITLE_1}} | {{VER_TASK_TARGET_1}} | {{VER_TASK_DOD_1}} |
|
||||
| T-2 | {{VER_TASK_TITLE_2}} | {{VER_TASK_TARGET_2}} | {{VER_TASK_DOD_2}} |
|
||||
| T-3 | {{VER_TASK_TITLE_3:필요 없으면 삭제}} | {{VER_TASK_TARGET_3}} | {{VER_TASK_DOD_3}} |
|
||||
|
||||
## 이월된 오픈 질문 / 리스크
|
||||
Implementation에서 `Deferred` 처리되어 Verification 단계에서 해소해야 하는 항목을 기록한다.
|
||||
|
||||
- {{VER_DEFERRED_ITEM_1:없으면 "없음"}}
|
||||
- {{VER_DEFERRED_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 2. 검증 계획
|
||||
Discovery `# 7` 성공 기준(S-N)을 기반으로 Verification 항목을 정의한다.
|
||||
|
||||
## 검증 범위
|
||||
- {{VER_SCOPE_1:예. 기능 요구사항(FR) 전체 충족 여부}}
|
||||
- {{VER_SCOPE_2:예. 비기능 요구사항(NFR) 성능 기준 충족 여부}}
|
||||
- {{VER_SCOPE_3:필요 없으면 삭제}}
|
||||
|
||||
## 검증 항목
|
||||
| ID | 검증 항목 | 검증 방법 | 성공 기준 | 담당자 |
|
||||
|----|---------|---------|---------|--------|
|
||||
| VC-1 | {{VER_ITEM_1}} | {{VER_METHOD_1:수동\|자동\|혼합}} | {{VER_CRITERIA_1}} | {{VER_OWNER_1:TBD}} |
|
||||
| VC-2 | {{VER_ITEM_2}} | {{VER_METHOD_2:수동\|자동\|혼합}} | {{VER_CRITERIA_2}} | {{VER_OWNER_2:TBD}} |
|
||||
| VC-3 | {{VER_ITEM_3:필요 없으면 삭제}} | {{VER_METHOD_3:수동\|자동\|혼합}} | {{VER_CRITERIA_3}} | {{VER_OWNER_3:TBD}} |
|
||||
| VC-4 | {{VER_ITEM_4:필요 없으면 삭제}} | {{VER_METHOD_4:수동\|자동\|혼합}} | {{VER_CRITERIA_4}} | {{VER_OWNER_4:TBD}} |
|
||||
|
||||
## 성공 기준 연결
|
||||
Discovery의 성공 기준(S-N)과 검증 항목(VC-N)의 연결을 명시한다.
|
||||
|
||||
- S-1 → {{VER_S1_LINK:VC-1, VC-2 등}}
|
||||
- S-2 → {{VER_S2_LINK:VC-3 등}}
|
||||
- S-3 → {{VER_S3_LINK:필요 없으면 삭제}}
|
||||
|
||||
# 3. 검증 결과
|
||||
검증 수행 후 각 항목의 결과를 기록한다. 초안 생성 시 모두 `미완료`로 초기화한다.
|
||||
|
||||
| ID | 검증 항목 | 결과 | 비고 |
|
||||
|----|---------|------|------|
|
||||
| VC-1 | {{VER_ITEM_1}} | {{VER_RESULT_1:미완료\|통과\|실패\|블로킹}} | {{VER_RESULT_NOTE_1:필요 없으면 삭제}} |
|
||||
| VC-2 | {{VER_ITEM_2}} | {{VER_RESULT_2:미완료\|통과\|실패\|블로킹}} | {{VER_RESULT_NOTE_2:필요 없으면 삭제}} |
|
||||
| VC-3 | {{VER_ITEM_3:필요 없으면 삭제}} | {{VER_RESULT_3:미완료\|통과\|실패\|블로킹}} | {{VER_RESULT_NOTE_3:필요 없으면 삭제}} |
|
||||
|
||||
## 전체 검증 결과
|
||||
- 통과: {{VER_PASS_COUNT:0}} / {{VER_TOTAL_COUNT:0}}
|
||||
- 실패/블로킹: {{VER_FAIL_COUNT:0}}
|
||||
- 검증 완료 여부: {{VER_COMPLETE:false}}
|
||||
|
||||
# 4. 결함 및 재작업 사항
|
||||
검증 중 발견된 결함과 재작업이 필요한 항목을 기록한다.
|
||||
|
||||
- BUG-1: {{BUG_1:없으면 "없음"}}
|
||||
- 심각도: {{BUG_SEVERITY_1:Critical|High|Medium|Low}}
|
||||
- 재작업 내용: {{BUG_FIX_1}}
|
||||
- 상태: {{BUG_STATUS_1:Open|Fixed|Deferred}}
|
||||
- BUG-2: {{BUG_2:필요 없으면 삭제}}
|
||||
- 심각도: {{BUG_SEVERITY_2:Critical|High|Medium|Low}}
|
||||
- 재작업 내용: {{BUG_FIX_2}}
|
||||
- 상태: {{BUG_STATUS_2:Open|Fixed|Deferred}}
|
||||
|
||||
# 5. 리스크 및 오픈 질문
|
||||
Verification 단계에서 새로 식별된 리스크와 오픈 질문을 기록한다.
|
||||
|
||||
## 리스크
|
||||
- R-1 ({{VER_RISK_LEVEL_1:High|Medium|Low}}): {{VER_RISK_1}}
|
||||
- 완화 방안: {{VER_MITIGATION_1}}
|
||||
- R-2 ({{VER_RISK_LEVEL_2:High|Medium|Low}}): {{VER_RISK_2:필요 없으면 삭제}}
|
||||
- 완화 방안: {{VER_MITIGATION_2:필요 없으면 삭제}}
|
||||
|
||||
## 오픈 질문
|
||||
- OQ-1: {{VER_OPEN_QUESTION_1}}
|
||||
- 상태: {{VER_OQ_STATUS_1:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{VER_OQ_ACTION_1}}
|
||||
- 종료 조건: {{VER_OQ_EXIT_1}}
|
||||
- OQ-2: {{VER_OPEN_QUESTION_2:필요 없으면 삭제}}
|
||||
- 상태: {{VER_OQ_STATUS_2:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{VER_OQ_ACTION_2}}
|
||||
- 종료 조건: {{VER_OQ_EXIT_2}}
|
||||
|
||||
# 6. Release로 넘기기 전 확인 체크
|
||||
Release 단계로 넘기기 전에 무엇이 완료되어야 하는지 확인한다.
|
||||
|
||||
- [ ] 모든 검증 항목(VC-N) 통과
|
||||
- 기준: {{CHECK_ALL_VC:VC 목록의 모든 항목이 "통과" 상태여야 한다}}
|
||||
- [ ] 결함(BUG) `Open` 상태 없음
|
||||
- 기준: {{CHECK_BUGS:BUG 목록에 `Open` 상태 항목이 0개여야 한다. `Deferred`는 근거와 함께 허용}}
|
||||
- [ ] 성공 기준(S-N) 전체 충족
|
||||
- 기준: {{CHECK_SUCCESS_CRITERIA:Discovery에서 정의된 S-N 기준이 모두 VC 항목과 연결되어 통과되었는가}}
|
||||
- [ ] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
|
||||
- 기준: OQ 목록에 `Open` 상태 항목이 0개이거나, 잔여 항목 전부 `Deferred` 처리 완료
|
||||
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
|
||||
- 기준: {{CHECK_CONFIRMEDBY_CRITERIA:문서 승인 또는 인계 결정을 내릴 담당자가 명시되어야 한다}}
|
||||
|
||||
# 7. 파일 처리 결과
|
||||
이 Verification 문서 생성/갱신 결과와 참조 문서를 기록한다.
|
||||
|
||||
- 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
|
||||
- 생성 경로: {{OUTPUT_PATH}}
|
||||
- 참조 문서:
|
||||
- {{IMP_PATH:docs/sdlc/<CYCLE_ID>/4_implementation.md}}
|
||||
- {{REFERENCE_1:필요 없으면 삭제}}
|
||||
|
||||
# 8. 사용자 결정 필요 항목 요약
|
||||
사용자나 승인자가 결정해야 하는 항목만 모아 정리한다.
|
||||
|
||||
## DECIDE
|
||||
- {{DECIDE_ITEM_1}}
|
||||
- {{DECIDE_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## CONFIRM
|
||||
- {{CONFIRM_ITEM_1}}
|
||||
- {{CONFIRM_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## DATA
|
||||
- {{DATA_ITEM_1}}
|
||||
- {{DATA_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 9. Verification Freeze
|
||||
Release 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 검증 계획: [# 2. 검증 계획](#2-검증-계획)
|
||||
- 검증 결과: [# 3. 검증 결과](#3-검증-결과)
|
||||
- 결함/재작업: [# 4. 결함 및 재작업 사항](#4-결함-및-재작업-사항)
|
||||
|
||||
## 확정 플래그
|
||||
- Handoff Decision: {{FREEZE_HANDOFF_DECISION:보류}}
|
||||
- Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:검증 완료 및 결함 없음 확인 후 Release로 인계}}
|
||||
- Ready for Release: {{READY_FOR_RELEASE:false}}
|
||||
- Confirmed By: {{CONFIRMED_BY:TBD}}
|
||||
- Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}
|
||||
|
||||
---
|
||||
|
||||
# 10. 작성 가이드
|
||||
*이 섹션은 작성 참고용이다. 문서 완성 후 삭제해도 된다.*
|
||||
|
||||
- **검증 항목(VC-N)**: Discovery 성공 기준(S-N)과 반드시 연결한다. FR/NFR 각 항목이 하나 이상의 VC와 연결되어야 한다.
|
||||
- **검증 방법**: 수동(테스터가 직접 실행), 자동(CI/테스트 코드), 혼합(일부 자동 + 수동 확인) 중 선택한다.
|
||||
- **성공 기준**: "정상 동작"처럼 모호한 표현 대신 "입력 X에 대해 결과 Y를 반환한다"처럼 측정 가능하게 작성한다.
|
||||
- **결함(BUG)**: 검증 중 발견된 모든 문제를 기록한다. `Deferred` 처리 시 근거와 후속 처리 계획을 명시한다.
|
||||
- **Freeze 섹션**: 모든 VC 통과 및 BUG `Open` 없음 확인 후 담당자가 직접 갱신한다.
|
||||
@@ -0,0 +1,162 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 참조 Verification: {{VER_PATH:docs/sdlc/<CYCLE_ID>/5_verification.md}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
# 1. Verification 인계 요약
|
||||
Verification에서 완료된 핵심 내용을 요약한다. 원본은 5_verification.md를 참조하며, 이 섹션은 Release 작업의 입력 기준선이 된다.
|
||||
|
||||
## 이슈 목적
|
||||
- {{REL_ISSUE_PURPOSE:Verification 이슈명과 핵심 목적 1-2줄}}
|
||||
|
||||
## 검증 결과 요약
|
||||
- 검증 항목 수: {{REL_VC_TOTAL}}개
|
||||
- 전체 통과 여부: {{REL_VC_ALL_PASS:true|false}}
|
||||
- 결함(BUG) 잔여: {{REL_BUG_REMAIN:0}}건
|
||||
|
||||
## 이월된 오픈 질문 / 리스크
|
||||
Verification에서 `Deferred` 처리되어 Release 단계에서 해소해야 하는 항목을 기록한다.
|
||||
|
||||
- {{REL_DEFERRED_ITEM_1:없으면 "없음"}}
|
||||
- {{REL_DEFERRED_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 2. 배포 준비
|
||||
배포 환경, 배포 전 체크리스트, 배포 순서를 정의한다.
|
||||
|
||||
## 배포 환경
|
||||
- 대상 환경: {{REL_TARGET_ENV:예. production, staging}}
|
||||
- 배포 방식: {{REL_DEPLOY_METHOD:예. git push, CI/CD 파이프라인, 수동 복사}}
|
||||
- 배포 도구/채널: {{REL_DEPLOY_TOOL:예. GitHub Actions, 수동 SSH, 없음}}
|
||||
|
||||
## 배포 전 체크리스트
|
||||
배포 실행 전에 확인해야 할 항목을 나열한다.
|
||||
|
||||
- [ ] {{REL_PRE_CHECK_1:예. 대상 환경 설정 파일 백업 완료}}
|
||||
- [ ] {{REL_PRE_CHECK_2:예. 롤백 계획 확인 완료}}
|
||||
- [ ] {{REL_PRE_CHECK_3:필요 없으면 삭제}}
|
||||
|
||||
## 배포 순서
|
||||
변경 사항의 배포 순서를 적는다. 의존 관계가 있는 경우 순서를 명확히 기술한다.
|
||||
|
||||
1. {{REL_STEP_1:예. 설정 파일 배포}}
|
||||
2. {{REL_STEP_2:예. 코드 변경 배포}}
|
||||
3. {{REL_STEP_3:필요 없으면 삭제}}
|
||||
|
||||
# 3. 롤백 계획
|
||||
배포 후 문제가 발생했을 때 이전 상태로 되돌리는 방법을 기술한다.
|
||||
|
||||
## 롤백 조건
|
||||
아래 조건 중 하나라도 충족되면 롤백을 즉시 실행한다.
|
||||
|
||||
- {{REL_ROLLBACK_TRIGGER_1:예. 배포 후 핵심 기능 오류 발생}}
|
||||
- {{REL_ROLLBACK_TRIGGER_2:예. 성능 지표가 임계값 이하로 하락}}
|
||||
- {{REL_ROLLBACK_TRIGGER_3:필요 없으면 삭제}}
|
||||
|
||||
## 롤백 절차
|
||||
1. {{REL_ROLLBACK_STEP_1:예. 이전 버전 파일/설정 복원}}
|
||||
2. {{REL_ROLLBACK_STEP_2:예. 배포 채널에서 롤백 실행}}
|
||||
3. {{REL_ROLLBACK_STEP_3:필요 없으면 삭제}}
|
||||
|
||||
## 롤백 담당자
|
||||
- {{REL_ROLLBACK_OWNER:TBD}}
|
||||
|
||||
# 4. 배포 후 확인
|
||||
배포 완료 후 정상 동작을 확인하는 방법을 기술한다.
|
||||
|
||||
## 스모크 테스트 항목
|
||||
| 항목 | 확인 방법 | 성공 기준 |
|
||||
|------|---------|---------|
|
||||
| {{REL_SMOKE_ITEM_1}} | {{REL_SMOKE_METHOD_1}} | {{REL_SMOKE_CRITERIA_1}} |
|
||||
| {{REL_SMOKE_ITEM_2}} | {{REL_SMOKE_METHOD_2}} | {{REL_SMOKE_CRITERIA_2}} |
|
||||
| {{REL_SMOKE_ITEM_3:필요 없으면 삭제}} | {{REL_SMOKE_METHOD_3}} | {{REL_SMOKE_CRITERIA_3}} |
|
||||
|
||||
## 모니터링 확인 항목
|
||||
배포 후 일정 시간 동안 모니터링해야 하는 지표나 로그를 기록한다.
|
||||
|
||||
- {{REL_MONITOR_1:예. 오류 로그 발생 여부 확인 (1시간)}}
|
||||
- {{REL_MONITOR_2:필요 없으면 삭제}}
|
||||
|
||||
# 5. 리스크 및 오픈 질문
|
||||
Release 단계에서 새로 식별된 리스크와 오픈 질문을 기록한다.
|
||||
|
||||
## 리스크
|
||||
- R-1 ({{REL_RISK_LEVEL_1:High|Medium|Low}}): {{REL_RISK_1}}
|
||||
- 완화 방안: {{REL_MITIGATION_1}}
|
||||
- R-2 ({{REL_RISK_LEVEL_2:High|Medium|Low}}): {{REL_RISK_2:필요 없으면 삭제}}
|
||||
- 완화 방안: {{REL_MITIGATION_2:필요 없으면 삭제}}
|
||||
|
||||
## 오픈 질문
|
||||
- OQ-1: {{REL_OPEN_QUESTION_1}}
|
||||
- 상태: {{REL_OQ_STATUS_1:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{REL_OQ_ACTION_1}}
|
||||
- 종료 조건: {{REL_OQ_EXIT_1}}
|
||||
- OQ-2: {{REL_OPEN_QUESTION_2:필요 없으면 삭제}}
|
||||
- 상태: {{REL_OQ_STATUS_2:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{REL_OQ_ACTION_2}}
|
||||
- 종료 조건: {{REL_OQ_EXIT_2}}
|
||||
|
||||
# 6. Operations로 넘기기 전 확인 체크
|
||||
Operations 단계로 넘기기 전에 무엇이 완료되어야 하는지 확인한다.
|
||||
|
||||
- [ ] 배포 완료 및 스모크 테스트 통과
|
||||
- 기준: {{CHECK_DEPLOY:배포 절차대로 실행되었고 스모크 테스트 전 항목이 통과되었는가}}
|
||||
- [ ] 롤백 계획 확정
|
||||
- 기준: {{CHECK_ROLLBACK:롤백 조건, 절차, 담당자가 모두 명시되었는가}}
|
||||
- [ ] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
|
||||
- 기준: OQ 목록에 `Open` 상태 항목이 0개이거나, 잔여 항목 전부 `Deferred` 처리 완료
|
||||
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
|
||||
- 기준: {{CHECK_CONFIRMEDBY_CRITERIA:문서 승인 또는 인계 결정을 내릴 담당자가 명시되어야 한다}}
|
||||
|
||||
# 7. 파일 처리 결과
|
||||
이 Release 문서 생성/갱신 결과와 참조 문서를 기록한다.
|
||||
|
||||
- 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
|
||||
- 생성 경로: {{OUTPUT_PATH}}
|
||||
- 참조 문서:
|
||||
- {{VER_PATH:docs/sdlc/<CYCLE_ID>/5_verification.md}}
|
||||
- {{REFERENCE_1:필요 없으면 삭제}}
|
||||
|
||||
# 8. 사용자 결정 필요 항목 요약
|
||||
사용자나 승인자가 결정해야 하는 항목만 모아 정리한다.
|
||||
|
||||
## DECIDE
|
||||
- {{DECIDE_ITEM_1}}
|
||||
- {{DECIDE_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## CONFIRM
|
||||
- {{CONFIRM_ITEM_1}}
|
||||
- {{CONFIRM_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
## DATA
|
||||
- {{DATA_ITEM_1}}
|
||||
- {{DATA_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 9. Release Freeze
|
||||
Operations 인계 시점의 확정 플래그와 섹션 참조만 기록한다. 내용 재작성 없이 원본 섹션을 링크로 대신한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 배포 준비: [# 2. 배포 준비](#2-배포-준비)
|
||||
- 롤백 계획: [# 3. 롤백 계획](#3-롤백-계획)
|
||||
- 배포 후 확인: [# 4. 배포 후 확인](#4-배포-후-확인)
|
||||
|
||||
## 확정 플래그
|
||||
- Handoff Decision: {{FREEZE_HANDOFF_DECISION:보류}}
|
||||
- Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:배포 완료 및 스모크 테스트 통과 후 Operations로 인계}}
|
||||
- Ready for Operations: {{READY_FOR_OPERATIONS:false}}
|
||||
- Confirmed By: {{CONFIRMED_BY:TBD}}
|
||||
- Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}
|
||||
|
||||
---
|
||||
|
||||
# 10. 작성 가이드
|
||||
*이 섹션은 작성 참고용이다. 문서 완성 후 삭제해도 된다.*
|
||||
|
||||
- **배포 방식**: git 기반 프로젝트는 커밋 해시, 브랜치, 태그를 명시하면 롤백이 쉽다.
|
||||
- **롤백 계획**: "문제가 생기면 롤백한다"가 아니라 구체적인 조건, 절차, 담당자를 미리 정의한다.
|
||||
- **스모크 테스트**: 배포 직후 서비스가 최소한 동작하는지 확인하는 핵심 시나리오만 포함한다. 전체 기능 검증은 Verification 단계에서 완료한 것을 전제로 한다.
|
||||
- **모니터링**: 배포 후 지켜봐야 하는 지표(오류율, 응답 시간, 로그 패턴 등)를 구체적으로 기록한다.
|
||||
@@ -0,0 +1,154 @@
|
||||
# 0. 문서 상태
|
||||
이 문서의 현재 상태와 식별 정보를 기록한다. 문서 추적과 승인 흐름에 필요한 최소 메타데이터를 적는다.
|
||||
|
||||
- 상태: {{DOC_STATUS:draft|review|confirmed}}
|
||||
- 문서 ID: {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 참조 Release: {{REL_PATH:docs/sdlc/<CYCLE_ID>/6_release.md}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
# 1. Release 인계 요약
|
||||
Release에서 완료된 핵심 내용을 요약한다. 원본은 6_release.md를 참조하며, 이 섹션은 Operations 작업의 입력 기준선이 된다.
|
||||
|
||||
## 이슈 목적
|
||||
- {{OPS_ISSUE_PURPOSE:Release 이슈명과 핵심 목적 1-2줄}}
|
||||
|
||||
## 배포 결과 요약
|
||||
- 배포 환경: {{OPS_DEPLOY_ENV:예. production}}
|
||||
- 배포 완료 시각(KST): {{OPS_DEPLOYED_AT:TBD}}
|
||||
- 스모크 테스트 결과: {{OPS_SMOKE_RESULT:통과|일부 실패|미완료}}
|
||||
|
||||
## 이월된 오픈 질문 / 리스크
|
||||
Release에서 `Deferred` 처리되어 Operations 단계에서 해소해야 하는 항목을 기록한다.
|
||||
|
||||
- {{OPS_DEFERRED_ITEM_1:없으면 "없음"}}
|
||||
- {{OPS_DEFERRED_ITEM_2:필요 없으면 삭제}}
|
||||
|
||||
# 2. 운영 모니터링
|
||||
배포 후 지속적으로 모니터링해야 하는 항목과 기준을 정의한다.
|
||||
|
||||
## 모니터링 항목
|
||||
| 항목 | 확인 방법 | 임계값 / 이상 기준 | 대응 방안 |
|
||||
|------|---------|----------------|---------|
|
||||
| {{OPS_MONITOR_ITEM_1}} | {{OPS_MONITOR_METHOD_1}} | {{OPS_MONITOR_THRESHOLD_1}} | {{OPS_MONITOR_ACTION_1}} |
|
||||
| {{OPS_MONITOR_ITEM_2}} | {{OPS_MONITOR_METHOD_2}} | {{OPS_MONITOR_THRESHOLD_2}} | {{OPS_MONITOR_ACTION_2}} |
|
||||
| {{OPS_MONITOR_ITEM_3:필요 없으면 삭제}} | {{OPS_MONITOR_METHOD_3}} | {{OPS_MONITOR_THRESHOLD_3}} | {{OPS_MONITOR_ACTION_3}} |
|
||||
|
||||
## 모니터링 담당자
|
||||
- {{OPS_MONITOR_OWNER:TBD}}
|
||||
|
||||
# 3. 운영 절차 (런북)
|
||||
이 변경 사항과 관련된 운영 중 발생할 수 있는 상황별 대응 절차를 정의한다.
|
||||
|
||||
## 정상 운영 확인 절차
|
||||
배포 후 일정 주기로 정상 동작을 확인하는 절차를 기술한다.
|
||||
|
||||
1. {{OPS_ROUTINE_STEP_1:예. 오류 로그 확인 (일 1회)}}
|
||||
2. {{OPS_ROUTINE_STEP_2:필요 없으면 삭제}}
|
||||
|
||||
## 장애 대응 절차
|
||||
이 변경과 관련된 장애가 발생했을 때의 초기 대응 절차를 기술한다.
|
||||
|
||||
1. {{OPS_INCIDENT_STEP_1:예. 오류 로그에서 관련 스택 트레이스 확인}}
|
||||
2. {{OPS_INCIDENT_STEP_2:예. 롤백 판단 기준 확인 후 롤백 또는 핫픽스 결정}}
|
||||
3. {{OPS_INCIDENT_STEP_3:필요 없으면 삭제}}
|
||||
|
||||
## 에스컬레이션 경로
|
||||
장애 대응 중 에스컬레이션이 필요한 경우 연락 대상을 기록한다.
|
||||
|
||||
- {{OPS_ESCALATION_1:TBD}}
|
||||
|
||||
# 4. 운영 중 발생한 이슈
|
||||
운영 중 발견된 이슈를 기록한다. 초안 생성 시 비워 두고 운영 중 갱신한다.
|
||||
|
||||
- {{OPS_ISSUE_1:없음 (운영 중 발견 시 기록)}}
|
||||
|
||||
# 5. 리스크 및 오픈 질문
|
||||
Operations 단계에서 새로 식별된 리스크와 오픈 질문을 기록한다.
|
||||
|
||||
## 리스크
|
||||
- R-1 ({{OPS_RISK_LEVEL_1:High|Medium|Low}}): {{OPS_RISK_1}}
|
||||
- 완화 방안: {{OPS_MITIGATION_1}}
|
||||
- R-2 ({{OPS_RISK_LEVEL_2:High|Medium|Low}}): {{OPS_RISK_2:필요 없으면 삭제}}
|
||||
- 완화 방안: {{OPS_MITIGATION_2:필요 없으면 삭제}}
|
||||
|
||||
## 오픈 질문
|
||||
- OQ-1: {{OPS_OPEN_QUESTION_1}}
|
||||
- 상태: {{OPS_OQ_STATUS_1:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{OPS_OQ_ACTION_1}}
|
||||
- 종료 조건: {{OPS_OQ_EXIT_1}}
|
||||
- OQ-2: {{OPS_OPEN_QUESTION_2:필요 없으면 삭제}}
|
||||
- 상태: {{OPS_OQ_STATUS_2:Open|Answered|Deferred|Dropped}}
|
||||
- 처리 방안: {{OPS_OQ_ACTION_2}}
|
||||
- 종료 조건: {{OPS_OQ_EXIT_2}}
|
||||
|
||||
# 6. 다음 Discovery 환류
|
||||
운영 중 발견된 인사이트와 개선 사항을 다음 SDLC Discovery의 입력으로 기록한다.
|
||||
|
||||
- {{OPS_FEEDBACK_1:없으면 "없음"}}
|
||||
- {{OPS_FEEDBACK_2:필요 없으면 삭제}}
|
||||
- {{OPS_FEEDBACK_3:필요 없으면 삭제}}
|
||||
|
||||
# 7. 확인 체크
|
||||
Operations 문서가 완성되었는지 확인한다.
|
||||
|
||||
- [ ] 모니터링 항목 및 임계값 정의 완료
|
||||
- 기준: {{CHECK_MONITORING:모니터링 항목에 임계값과 대응 방안이 명시되어야 한다}}
|
||||
- [ ] 런북(정상 운영/장애 대응 절차) 정의 완료
|
||||
- 기준: {{CHECK_RUNBOOK:운영 중 발생 가능한 상황에 대한 절차가 1단계 이상 있어야 한다}}
|
||||
- [ ] 에스컬레이션 경로 정의 완료
|
||||
- 기준: {{CHECK_ESCALATION:장애 시 연락할 담당자가 명시되어야 한다}}
|
||||
- [ ] 다음 Discovery 환류 항목 작성 (없으면 "없음" 기재)
|
||||
- 기준: OPS_FEEDBACK 항목이 "없음"이 아닐 경우 구체적으로 기술되었는가
|
||||
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
|
||||
- 기준: {{CHECK_CONFIRMEDBY_CRITERIA:문서 승인 담당자가 명시되어야 한다}}
|
||||
|
||||
# 8. 파일 처리 결과
|
||||
이 Operations 문서 생성/갱신 결과와 참조 문서를 기록한다.
|
||||
|
||||
- 처리 결과: {{FILE_RESULT:생성|갱신|미생성}}
|
||||
- 생성 경로: {{OUTPUT_PATH}}
|
||||
- 참조 문서:
|
||||
- {{REL_PATH:docs/sdlc/<CYCLE_ID>/6_release.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. Operations Freeze
|
||||
이 SDLC 주기의 최종 확정 플래그를 기록한다.
|
||||
|
||||
## 섹션 참조
|
||||
- 운영 모니터링: [# 2. 운영 모니터링](#2-운영-모니터링)
|
||||
- 런북: [# 3. 운영 절차 런북](#3-운영-절차-런북)
|
||||
- 다음 Discovery 환류: [# 6. 다음 Discovery 환류](#6-다음-discovery-환류)
|
||||
|
||||
## 확정 플래그
|
||||
- Handoff Decision: {{FREEZE_HANDOFF_DECISION:보류}}
|
||||
- Handoff Rationale: {{FREEZE_HANDOFF_RATIONALE:모니터링 안정화 및 런북 완비 후 주기 완료}}
|
||||
- SDLC 주기 완료: {{SDLC_CYCLE_COMPLETE:false}}
|
||||
- Confirmed By: {{CONFIRMED_BY:TBD}}
|
||||
- Confirmed At (KST): {{CONFIRMED_AT_KST:TBD}}
|
||||
|
||||
---
|
||||
|
||||
# 11. 작성 가이드
|
||||
*이 섹션은 작성 참고용이다. 문서 완성 후 삭제해도 된다.*
|
||||
|
||||
- **모니터링 항목**: "오류가 없는지 확인"처럼 모호한 기준 대신 "5xx 오류율 1% 이상 시 알림" 같이 수치화된 임계값을 명시한다.
|
||||
- **런북**: 실제 운영자가 참고할 수 있도록 구체적인 명령, 경로, 연락처를 기록한다.
|
||||
- **다음 Discovery 환류**: 이 주기에서 발견된 기술 부채, 개선 아이디어, 범위에서 제외된 요구사항 등을 기록한다. 이 항목이 다음 `/new-sdlc` 의 입력이 된다.
|
||||
- **SDLC 주기 완료**: 모니터링 안정화 기간(배포 후 일정 시간 경과, 이상 없음) 확인 후 `true`로 변경한다.
|
||||
@@ -0,0 +1,12 @@
|
||||
# {{CYCLE_ID}}
|
||||
|
||||
| 단계 | 문서 | 상태 |
|
||||
|------|------|------|
|
||||
| 1. Discovery | [1_discovery.md](./1_discovery.md) | `draft` |
|
||||
| 2. Planning | [2_planning.md](./2_planning.md) | `-` |
|
||||
| 3. Design | [3_design.md](./3_design.md) | `-` |
|
||||
| 4. Implementation | [4_implementation.md](./4_implementation.md) | `-` |
|
||||
| 5. Verification | [5_verification.md](./5_verification.md) | `-` |
|
||||
| 6. Release | [6_release.md](./6_release.md) | `-` |
|
||||
| 7. Operations | [7_operations.md](./7_operations.md) | `-` |
|
||||
| Summary | [summary.md](./summary.md) | `-` |
|
||||
@@ -0,0 +1,16 @@
|
||||
# Summary - {{CYCLE_ID:sdlc-<3자리>_<YYYYMMDD>_<topic-slug>}}
|
||||
|
||||
- 이슈명: {{ISSUE_NAME:짧은 한글 또는 영문 이슈명}}
|
||||
- 상태: {{SUMMARY_STATUS:draft|review|confirmed}}
|
||||
- 작성 시각(KST): {{CREATED_AT_KST:TBD}}
|
||||
- 마지막 갱신 시각(KST): {{UPDATED_AT_KST:TBD}}
|
||||
|
||||
## 핵심 요약
|
||||
|
||||
- {{SUMMARY_POINT_1}}
|
||||
- {{SUMMARY_POINT_2:필요 없으면 삭제}}
|
||||
|
||||
## 단계별 문서
|
||||
|
||||
- [Discovery](./1_discovery.md)
|
||||
- [Index](./index.md)
|
||||
@@ -1,83 +0,0 @@
|
||||
# 0. 문서 상태
|
||||
- 상태: draft
|
||||
- 승인자: {{DECIDE: 이 Verification의 최종 승인자는 누구인가?}}
|
||||
- 승인 시각: {{CONFIRM: 승인 후 기재}}
|
||||
|
||||
# 1. Verification 개요
|
||||
- 입력 Implementation:
|
||||
- 목적:
|
||||
- 검증 대상 작업:
|
||||
- 1순위:
|
||||
- 2순위:
|
||||
- 3순위:
|
||||
|
||||
# 2. 검증 범위
|
||||
## In Scope
|
||||
-
|
||||
|
||||
## Out of Scope
|
||||
-
|
||||
|
||||
# 3. AC별 검증 결과
|
||||
|
||||
| Impl ID | AC | 검증 방법 | 결과 (통과/실패/보류) | 비고 |
|
||||
|---|---|---|---|---|
|
||||
| I-001 | | | | |
|
||||
|
||||
## 품질 게이트 판정
|
||||
- Blocker 결함 수:
|
||||
- Major 결함 수:
|
||||
- 승인된 예외 건수:
|
||||
- 배포 가능 여부: {{DECIDE: 배포 가능/불가 중 선택하라}}
|
||||
|
||||
# 4. 결함 목록
|
||||
|
||||
| 결함 ID | 연결 Impl ID | 심각도 (Blocker/Major/Minor) | 증상 | 재현 여부 | 처리 상태 |
|
||||
|---|---|---|---|---|---|
|
||||
| D-001 | | | | | |
|
||||
|
||||
## 심각도 기준
|
||||
- Blocker: 서비스 중단, 데이터 손실/오염, 보안 취약점 악용 가능 상태
|
||||
- Major: 핵심 기능 오동작, 우회 가능하지만 사용자 영향이 큰 결함
|
||||
- Minor: 비핵심 기능 이슈, 문구/표시 오류, 영향이 제한적인 결함
|
||||
|
||||
# 5. 회귀 테스트 결과
|
||||
|
||||
| 테스트 항목 | 영향 영역 | 실행 결과 | 실패 시 원인 |
|
||||
|---|---|---|---|
|
||||
| | | | |
|
||||
|
||||
## 회귀 리스크 평가
|
||||
- 영향 영역:
|
||||
- 롤백 조건:
|
||||
|
||||
# 6. 예외 승인 목록
|
||||
|
||||
| 예외 ID | 연결 결함 | 심각도 | 완화책 | 승인자 | 승인 시각 (UTC) | 유효 기간 (UTC) |
|
||||
|---|---|---|---|---|---|---|
|
||||
| | | | | | | |
|
||||
|
||||
> 예외 없음 시 이 섹션을 "해당 없음"으로 처리한다.
|
||||
|
||||
# 7. Release 단계 전달 체크
|
||||
- [ ] Blocker 결함 0건 확인
|
||||
- [ ] Major 결함 0건 또는 승인된 예외 존재
|
||||
- [ ] 변경 코드 경로의 테스트 실행 증거(로그/리포트) 첨부
|
||||
- [ ] 신규 기능의 정상 경로 테스트 1개 이상 및 예외 경로 테스트 1개 이상 확인
|
||||
- [ ] 회귀 테스트 실패 없음 또는 원인 분석/롤백 계획 존재
|
||||
- [ ] Release에 전달할 배포 가능 여부, 예외 승인 정보, 잔여 리스크 준비됨
|
||||
- [ ] 최종 승인
|
||||
- {{CONFIRM: Verification 초안 승인 여부를 확인하라}}
|
||||
|
||||
# 8. 파일 처리 결과
|
||||
- 생성/갱신 경로:
|
||||
|
||||
# 9. 사용자 결정 필요 항목 요약
|
||||
## {{DECIDE}}
|
||||
- (없으면 이 섹션 제거)
|
||||
|
||||
## {{CONFIRM}}
|
||||
- Verification 초안 승인 여부를 확인하라. (위치: #7)
|
||||
|
||||
## {{DATA}}
|
||||
- (없으면 이 섹션 제거)
|
||||
Reference in New Issue
Block a user