スキル一覧に戻る
ryu-qqq

requirements-analyst

by ryu-qqq

0🍴 0📅 2026年1月19日
GitHubで見るManusで実行

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)

산출물형식저장 위치
비즈니스 규칙 문서MarkdownSerena 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

レビュー

💬

レビュー機能は近日公開予定です