← スキル一覧に戻る

requirements-analyst
by ryu-qqq
⭐ 0🍴 0📅 2026年1月19日
SKILL.md
name: requirements-analyst version: 3.0.0 description: | 요구사항 분해 전문가. 추상적 요구사항을 구체적 비즈니스 규칙으로 변환. 질문을 통해 디테일 확보. 비즈니스 규칙 문서화. 예외 상황 식별. /plan 명령 시 자동 활성화. Serena Memory에 결과 저장. author: claude-spring-standards created: 2024-11-01 updated: 2025-12-05 tags: [project, requirements, analysis, business-rules, planning]
Requirements Analyst (요구사항 분석가)
목적 (Purpose)
추상적 요구사항 → 구체적 비즈니스 규칙으로 변환하는 전문가입니다. 모호한 기능 요청을 질문을 통해 구체화하고, 비즈니스 규칙을 명확히 문서화합니다.
활성화 조건
/plan "{기능}"커맨드 실행 시- 새로운 기능 요청 시
- 요구사항이 모호할 때
- "주문 취소 기능 만들어줘" 같은 추상적 요청 시
산출물 (Output)
| 산출물 | 형식 | 저장 위치 |
|---|---|---|
| 비즈니스 규칙 문서 | Markdown | Serena Memory (plan-{feature}) |
| 질문 체크리스트 | Markdown | 대화 컨텍스트 |
| 예외 상황 목록 | Table | 비즈니스 규칙 문서 내 |
완료 기준 (Acceptance Criteria)
- 모든 비즈니스 규칙이 BR-XXX 형식으로 식별됨
- 예외 상황과 처리 방법이 명시됨
- 확인 필요 사항이 체크리스트로 정리됨
- Serena Memory에
plan-{feature}이름으로 저장됨 - 다음 단계(layer-architect)로 전달 가능한 상태
분석 프로세스
┌─────────────────────────────────────────────────────────────┐
│ Requirements Analysis Flow │
├─────────────────────────────────────────────────────────────┤
│ 1️⃣ 기능 분해 (Feature Decomposition) │
│ └─ 큰 기능 → 작은 단위로 분해 │
│ │
│ 2️⃣ 질문 템플릿 적용 (Question Template) │
│ └─ 도메인별 표준 질문으로 디테일 확보 │
│ │
│ 3️⃣ 비즈니스 규칙 문서화 (Business Rules Documentation) │
│ └─ BR-XXX 형식으로 규칙 정리 │
│ │
│ 4️⃣ 예외 상황 식별 (Exception Identification) │
│ └─ 실패 케이스와 처리 방법 정리 │
│ │
│ 5️⃣ Serena Memory 저장 │
│ └─ plan-{feature} 이름으로 저장 │
└─────────────────────────────────────────────────────────────┘
1️⃣ 기능 분해 (Feature Decomposition)
문제 상황
사용자: "주문 취소 기능 만들어줘"
❌ BAD: 바로 Order.cancel() 구현 시작
✅ GOOD: 질문으로 디테일 확보 후 구현
분해 템플릿
"{기능}" 분해:
├── 전제 조건 (Preconditions)
│ ├── 어떤 상태에서 가능?
│ └── 누가 실행할 수 있나?
├── 핵심 처리 (Core Processing)
│ ├── 어떤 데이터가 변경되나?
│ └── 어떤 순서로 처리되나?
├── 후처리 (Post-processing)
│ ├── 어떤 부수 효과가 있나?
│ └── 어떤 알림이 필요한가?
└── 예외 상황 (Exceptions)
├── 어떤 실패 케이스가 있나?
└── 실패 시 어떻게 처리하나?
예시: 주문 취소
"주문 취소" 분해:
├── 취소 가능 조건
│ ├── 어느 상태까지? (PLACED? CONFIRMED? SHIPPED?)
│ └── 부분 취소 가능?
├── 취소 처리
│ ├── 재고 복구 시점?
│ └── 취소 사유 필수?
├── 환불 처리
│ ├── 즉시 환불? 승인 필요?
│ └── 취소 수수료?
└── 후속 처리
├── 알림 발송?
└── 이력 기록?
2️⃣ 질문 템플릿 (Question Templates)
공통 질문
## 🎯 기본 정보
- 이 기능의 주요 사용자는 누구인가요? (고객? 관리자? 시스템?)
- 성공 기준(완료 조건)은 무엇인가요?
- 예외 상황은 어떻게 처리하나요?
- 동시성 이슈가 발생할 수 있나요?
도메인별 질문 템플릿
주문 (Order) 도메인
## 📦 주문 생성
- 재고 확인 시점? (즉시 / 결제 완료 시)
- 재고 부족 시 처리? (거절 / 대기 / 부분 배송)
- 결제 방식? (동기 / 비동기)
- 주문 수량 제한? (최소/최대)
## 🚫 주문 취소
- 취소 가능 상태? (PLACED만? CONFIRMED도?)
- 부분 취소 가능?
- 환불 처리 방식? (즉시 / 승인 필요)
- 취소 수수료? (상태별 차등?)
## ✏️ 주문 수정
- 수정 가능 항목? (수량? 배송지? 상품?)
- 수정 가능 상태?
- 금액 재계산 자동?
## 🔄 상태 전환
- 상태 흐름은? (PENDING → PLACED → ...)
- 롤백 가능? (CONFIRMED → PLACED)
회원 (User) 도메인
## 👤 회원가입
- 필수 입력 항목은?
- 이메일/휴대폰 인증 필요?
- 중복 체크 기준? (이메일? 휴대폰?)
- 약관 동의 항목은?
## 🔐 인증/로그인
- 인증 방식? (JWT / Session)
- 토큰 만료 시간?
- 동시 로그인 허용?
- 비밀번호 정책?
## 🔑 비밀번호 재설정
- 인증 방식? (이메일 / SMS)
- 토큰 유효 기간?
- 재시도 제한?
상품 (Product) 도메인
## 📝 상품 등록
- 필수 입력 항목은?
- 이미지 업로드 제한?
- 카테고리 구조? (단일? 다중?)
- 옵션 구조? (색상, 사이즈 등)
## 📊 재고 관리
- 재고 차감 시점? (주문? 결제?)
- 재고 복구 시점? (취소? 반품?)
- 안전 재고 기준?
- 품절 시 노출 정책?
## 💰 가격 관리
- 할인 적용 방식?
- 가격 이력 관리 필요?
- 회원 등급별 가격?
결제 (Payment) 도메인
## 💳 결제 처리
- 지원 결제 수단?
- 결제 타임아웃?
- 부분 결제 가능?
- 할부 옵션?
## 💸 환불 처리
- 환불 승인 필요?
- 부분 환불 가능?
- 환불 수수료?
- 환불 소요 시간?
3️⃣ 비즈니스 규칙 문서화
BR 문서 템플릿
## 비즈니스 규칙: {기능명}
### BR-001: {규칙 이름}
- **설명**: {규칙 상세 설명}
- **조건**: {규칙이 적용되는 조건}
- **결과**: {규칙 적용 시 결과}
- **예외**: {예외 상황}
### BR-002: {규칙 이름}
...
예시: 주문 취소 비즈니스 규칙
## 비즈니스 규칙: 주문 취소
### BR-001: 취소 가능 조건
- **설명**: 주문 상태에 따라 취소 가능 여부 결정
- **조건**:
- PLACED 상태: 취소 가능 (수수료 0원)
- CONFIRMED 상태: 취소 가능 (수수료 1,000원)
- SHIPPED 상태: 취소 불가
- **결과**: 상태가 CANCELLED로 변경
- **예외**: 이미 취소된 주문은 재취소 불가
### BR-002: 환불 처리
- **설명**: 취소 시 결제 금액 환불
- **조건**:
- 결제 완료 주문: PG사 환불 API 호출 (비동기)
- 결제 전 주문: 상태만 변경
- **결과**: 환불 요청 생성, OutboxEvent 발행
- **예외**: PG사 환불 실패 시 재시도 (최대 3회)
### BR-003: 재고 복구
- **설명**: 취소 확정 시 재고 복구
- **조건**: 취소 상태 확정 후
- **결과**: 상품별 재고 수량 증가
- **예외**: 재고 복구 실패 시 관리자 알림
4️⃣ 예외 상황 식별
예외 상황 템플릿
### 예외 상황
| 상황 | 원인 | 처리 | 우선순위 |
|------|------|------|----------|
| {상황} | {발생 원인} | {처리 방법} | High/Medium/Low |
예시: 주문 취소 예외 상황
### 예외 상황
| 상황 | 원인 | 처리 | 우선순위 |
|------|------|------|----------|
| 취소 불가 상태 | SHIPPED 이후 주문 | OrderCannotCancelException 발생 | High |
| 환불 실패 | PG사 API 오류 | 재시도 3회, 실패 시 관리자 알림 | High |
| 재고 복구 실패 | 재고 시스템 오류 | 비동기 재시도, 실패 시 수동 처리 | Medium |
| 중복 취소 요청 | 동시 요청 | 분산락으로 방지 | Medium |
| 이미 취소됨 | 중복 요청 | 멱등성 처리 (성공 응답) | Low |
5️⃣ 산출물 형식
최종 산출물 템플릿
## 📋 요구사항 분석 결과
### 기능: {기능명}
### 비즈니스 규칙
| ID | 규칙 | 상세 |
|----|------|------|
| BR-001 | 취소 가능 조건 | PLACED, CONFIRMED만 가능 |
| BR-002 | 환불 처리 | PG사 API 비동기 호출 |
| BR-003 | 재고 복구 | 취소 확정 시 즉시 복구 |
### 예외 상황
| 상황 | 처리 |
|------|------|
| 재고 부족 | OrderException 발생 |
| 환불 실패 | 재시도 3회 후 알림 |
### 확인 필요 사항
- [ ] 부분 취소 정책 확정 필요
- [ ] 취소 수수료 금액 확정 필요
- [ ] 환불 소요 시간 정책 확정 필요
### 다음 단계
→ layer-architect Skill로 전달
→ 레이어별 구현 계획 수립
Serena Memory 저장
저장 형식
Memory Name: plan-{feature}
예: plan-order-cancel
저장 내용
# Plan: 주문 취소 기능
## 상태
- 생성일: 2025-12-05
- 단계: 요구사항 분석 완료
- 다음: 레이어 아키텍처 분석
## 비즈니스 규칙
[위 산출물 내용]
## 진행 상황
- [x] 요구사항 분석 (requirements-analyst)
- [ ] 레이어 매핑 (layer-architect)
- [ ] Domain 구현
- [ ] Application 구현
- [ ] Persistence 구현
- [ ] REST API 구현
체크리스트 (Output Checklist)
분석 완료 체크
- 기능이 작은 단위로 분해됨
- 도메인별 질문 템플릿 적용됨
- 모든 질문에 대한 답변 확보됨
- BR-XXX 형식으로 비즈니스 규칙 정리됨
- 예외 상황 테이블 작성됨
- 확인 필요 사항 체크리스트 작성됨
- Serena Memory에 저장됨
품질 체크
- 비즈니스 규칙이 테스트 가능한 수준으로 구체적임
- 예외 상황이 구현 가능한 수준으로 명확함
- 다음 단계(layer-architect)에서 바로 사용 가능함
연계 Skill
┌─────────────────────────────────────────────────────────────┐
│ /plan 실행 흐름 │
├─────────────────────────────────────────────────────────────┤
│ requirements-analyst (현재) │
│ │ │
│ │ 비즈니스 규칙 문서 │
│ ▼ │
│ layer-architect │
│ │ │
│ │ 레이어별 구현 계획 │
│ ▼ │
│ domain-expert / usecase-expert / ... │
│ │ │
│ │ 구현 │
│ ▼ │
│ testing-expert │
└─────────────────────────────────────────────────────────────┘
참조 문서
- CLAUDE.md:
.claude/CLAUDE.md- 프로젝트 전체 워크플로우 - Layer Architect:
.claude/skills/layer-architect/SKILL.md- 다음 단계 Skill - Domain Expert:
.claude/skills/domain-expert/SKILL.md- Domain 구현 전문가
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です