--- description: "Use when evaluating whether a new feature or change request requires a new or updated SRS requirement, a technical spec update only, or needs owner decision. Apply before starting requirement drafting." applyTo: "docs/SRS/**/*.md" --- # Requirement Scope Decision Guidelines ## 목적 새 기능 요청이나 변경 사항이 들어왔을 때, SRS에 등록해야 하는지(신규 또는 기존 REQ 수정) 아니면 technical spec / implementation note만 업데이트하면 되는지를 먼저 판정한다. 이 판정을 거침으로써 불필요한 REQ 생성을 방지하고, SRS에 등록돼야 할 변경이 누락되는 것을 예방한다. ## 판정 결과 분류 (4종) 1. **New SRS requirement needed** — 새 REQ 문서를 작성해야 한다. 2. **Update existing SRS requirement** — 기존 REQ 문서를 수정해야 한다. 3. **Technical spec only** — SRS 변경 없이 technical spec / implementation note만 업데이트한다. 4. **Needs owner decision** — 운영 리스크나 승인 기준이 불명확하여 소유자(Owner) 결정이 필요하다. ## SRS 대상 판정 기준 (다음 중 하나라도 해당하면 SRS) ### 외부 계약 변화 - 사용자 또는 외부 시스템이 관찰하는 계약이 바뀌는 경우 - API / CLI / UI / Event / Data schema / Config / Deployment / Integration 요구사항이 변경되는 경우 ### 측정 가능한 Non-Functional 변경 - 성능, 보안, 가용성, 확장성 등 측정 기준이 추가되거나 변경되는 경우 ### Acceptance Criteria 및 승인 게이트 필요 - 변경 사항에 대해 명시적 수락 기준과 승인 이력이 필요한 경우 ## Technical Spec Only 판정 기준 (다음에 해당하면 SRS 불필요) - 내부 리팩터링 (외부 계약 변화 없음) - 라이브러리 교체 (동일한 외부 인터페이스 유지) - 코드 구조 / 패턴 변경 (기능 동작 동일) - 외부 계약을 바꾸지 않는 구현 최적화 ## Borderline / Needs Owner Decision 판정 기준 - 운영 리스크나 승인 책임이 불명확한 경우 - 제품 의도가 불분명하거나 범위가 애매한 경우 - 위 기준만으로 분류가 확정되지 않는 경우 ## New vs. Update 구분 기준 - 동일 기능/계약 범위의 변경 → `Update existing SRS requirement` - 새 기능/계약/인터페이스의 추가 → `New SRS requirement needed` - 기존 REQ 검색 시 `docs/SRS/index.md`의 Requirement Register를 먼저 확인한다. ## 판정 출력 형식 판정 결과는 항상 다음 항목을 포함해야 한다. 1. **Decision** — 위 4종 중 하나 2. **Why** — 판정 근거 (구체적으로 어떤 기준에 해당하는지) 3. **Recommended Type** — SRS 대상인 경우, 해당 requirement type (Interface / Data / Deployment 등) 4. **Existing REQ candidates** — Update 가능성이 있는 기존 REQ ID 목록 (해당 시) 5. **Next Action** — 판정 결과에 따른 다음 단계 안내 6. **Open Questions** — 추가 확인이 필요한 사항 (없으면 `없음`)