mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 19:36:23 +00:00
프로토타입 기반 유저스토리 전면 재정비 - 10개 프로토타입 화면 분석 반영 - 신규 유저스토리 추가: UFR-MEET-015 (참석자 실시간 초대), UFR-NOTI-010 (알림 발송) - 알림 아키텍처 폴링 방식으로 통일 - 기존 24개 유저스토리 ID 승계 및 정리 - 총 28개 유저스토리 완성 분석 문서 추가 - 유저스토리 비교 분석 (v2.2.0 → v2.3.0) - MSC 아키텍처 분석 - 유저스토리 리뷰 및 작성 가이드 - UI/UX v1.4.20 업데이트 요약 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
10 KiB
10 KiB
유저스토리 v2.2.0 → v2.3.0 변경사항 요약
📊 한눈에 보는 변경사항
v2.2.0 (25개) v2.3.0 (27개)
┌─────────────────┐ ┌─────────────────┐
│ AFR-USER-010 │ ──────────────────>│ UFR-USER-010 ✨ │ (로그인 상세화)
│ AFR-USER-020 │ ──────────────────>│ UFR-USER-020 ✨ │ (대시보드 재설계)
├─────────────────┤ ├─────────────────┤
│ UFR-MEET-010 │ ──────────────────>│ UFR-MEET-010 ✨ │ (회의예약 개선)
│ │ │ UFR-MEET-015 🆕 │ (참석자 실시간 초대)
│ UFR-MEET-020 │ ──────────────────>│ UFR-MEET-020 ✨ │ (템플릿선택 상세화)
│ UFR-MEET-030 │ ──────────────────>│ UFR-MEET-030 ✨ │ (회의시작 4개 탭)
│ UFR-MEET-040 │ ──────────────────>│ UFR-MEET-040 ✨ │ (회의종료 3가지 액션)
│ UFR-MEET-050 │ ──────────────────>│ UFR-MEET-050 ✨ │ (최종확정 2가지 시나리오)
│ UFR-MEET-046 │ ──────────────────>│ UFR-MEET-046 ✨ │ (목록조회 샘플 30개)
│ UFR-MEET-047 │ ──────────────────>│ UFR-MEET-047 ✨ │ (상세조회 관련회의록)
│ UFR-MEET-055 │ ──────────────────>│ UFR-MEET-055 ✨ │ (회의록수정 3가지 시나리오)
├─────────────────┤ ├─────────────────┤
│ UFR-AI-010 │ ──────────────────>│ UFR-AI-010 │
│ UFR-AI-020 │ ──────────────────>│ UFR-AI-020 │
│ │ │ UFR-AI-030 🆕🎯 │ (실시간 AI 제안 - 차별화!)
│ UFR-AI-035 │ ──────────────────>│ UFR-AI-035 │
│ UFR-AI-036 │ ──────────────────>│ UFR-AI-036 │
│ UFR-AI-040 │ ──────────────────>│ UFR-AI-040 │
├─────────────────┤ ├─────────────────┤
│ UFR-STT-010 │ ──────────────────>│ UFR-STT-010 │
│ UFR-STT-020 │ ──────────────────>│ UFR-STT-020 │
├─────────────────┤ ├─────────────────┤
│ UFR-RAG-010 │ ──────────────────>│ UFR-RAG-010 │
│ UFR-RAG-020 │ ──────────────────>│ UFR-RAG-020 │
├─────────────────┤ ├─────────────────┤
│ UFR-COLLAB-010 │ ──────────────────>│ UFR-COLLAB-010 │
│ UFR-COLLAB-020 │ ──────────────────>│ UFR-COLLAB-020 │
│ UFR-COLLAB-030 │ ──────────────────>│ UFR-COLLAB-030 │
├─────────────────┤ ├─────────────────┤
│ UFR-TODO-010 │ ──────────────────>│ UFR-TODO-010 │
│ UFR-TODO-030 │ ──────────────────>│ UFR-TODO-030 │
│ UFR-TODO-040 │ ──────────────────>│ UFR-TODO-040 │
└─────────────────┘ ├─────────────────┤
│ UFR-NOTI-010 🆕 │ (알림발송 - 폴링 방식)
└─────────────────┘
범례:
🆕 = 완전 신규 추가
🎯 = 차별화 핵심 기능
✨ = 대폭 개선 (프로토타입 기반 재작성)
🎯 3대 신규 기능
1. UFR-MEET-015: 참석자 실시간 초대 🆕
- 위치: 회의 진행 화면 "참석자" 탭
- 기능: 회의 중 검색 모달로 참석자 추가 → 실시간 동기화 → 알림 발송
- 의미: 회의 진행 중 동적 참석자 관리로 유연성 향상
2. UFR-AI-030: 실시간 AI 제안 🆕🎯
- 위치: 회의 진행 화면 "AI 제안" 탭
- 기능: STT 텍스트 실시간 분석 → 주요 내용 감지 → 제안 카드 생성 → 메모에 추가
- 의미: 차별화 전략 "지능형 회의 진행 지원" 실현
- 효과: 회의 중 놓치는 내용 최소화
3. UFR-NOTI-010: 알림 발송 🆕
- 방식: 폴링 (1분 간격) → 이메일 발송 → 최대 3회 재시도
- 알림 유형: Todo 할당, Todo 완료, 회의 시작, 회의록 확정, 참석자 초대, 회의록 수정
- 의미: 알림 아키텍처 폴링 방식으로 통일 → Notification 서비스 독립성 확보
📈 유저스토리 품질 개선
형식 표준화 (Before & After)
v2.2.0 (자유 형식)
UFR-MEET-010: [회의예약] 회의 생성자로서 | 나는, ...
- 시나리오: 회의 예약 및 참석자 초대
회의 예약 화면에 접근한 상황에서 | ...
[입력 요구사항]
- 회의 제목: 최대 100자 (필수)
...
[처리 결과]
- 회의가 예약됨
...
- M/13
v2.3.0 (표준 형식)
### UFR-MEET-010: [회의예약] 회의 생성자로서 | 나는, ...
**수행절차:**
1. 대시보드에서 "회의예약" FAB 버튼 클릭
2. 회의 제목 입력 (최대 100자)
3. 날짜 선택 (오늘 이후 날짜, 달력 UI)
...
10. "임시저장" 버튼 또는 "예약 완료" 버튼 클릭
**입력:**
- 회의 제목: 텍스트 입력, 필수, 최대 100자, 문자 카운터 표시
- 날짜: date 타입, 필수, 오늘 이후 날짜만 선택 가능
...
**출력/결과:**
- 예약 완료: "회의가 예약되었습니다" 토스트 메시지, 대시보드로 이동
- 임시저장: "임시 저장되었습니다" 토스트 메시지
...
**예외처리:**
- 제목 미입력: "회의 제목을 입력해주세요" 토스트, 제목 필드 포커스
- 과거 날짜 선택: "과거 날짜는 선택할 수 없습니다" 토스트
...
**관련 유저스토리:**
- UFR-USER-020: 대시보드 조회
- UFR-MEET-020: 템플릿선택
개선 효과
- ✅ 수행절차: 단계별 명확한 작업 흐름
- ✅ 입력: 필드 타입, 검증 규칙, UI 요소 상세 명세
- ✅ 출력/결과: 성공/실패 시나리오별 응답 명시
- ✅ 예외처리: 에러 상황별 처리 방법 구체화
- ✅ 관련 유저스토리: 기능 간 연계성 추적
🏗️ 프로토타입 연계 강화
| 프로토타입 화면 | 연계 유저스토리 | 상태 |
|---|---|---|
| 01-로그인.html | UFR-USER-010 | ✅ 1:1 매핑 |
| 02-대시보드.html | UFR-USER-020 | ✅ 1:1 매핑 |
| 03-회의예약.html | UFR-MEET-010 | ✅ 1:1 매핑 |
| 04-템플릿선택.html | UFR-MEET-020 | ✅ 1:1 매핑 |
| 05-회의진행.html | UFR-MEET-030, UFR-MEET-015 (신규), UFR-AI-030 (신규) | ✅ 1:N 매핑 |
| 07-회의종료.html | UFR-MEET-040 | ✅ 1:1 매핑 |
| 10-회의록상세조회.html | UFR-MEET-047 | ✅ 1:1 매핑 |
| 11-회의록수정.html | UFR-MEET-055 | ✅ 1:1 매핑 |
| 12-회의록목록조회.html | UFR-MEET-046 | ✅ 1:1 매핑 |
결과: 10개 프로토타입 화면 100% 유저스토리 연계 완료
🔑 핵심 아키텍처 변경
알림 아키텍처: 실시간 → 폴링 방식
Before (v2.2.0)
[Meeting Service] ──(실시간 발송)──> [Notification Service] ──> [Email]
↓
Todo 할당 발생 → 즉시 이메일 발송
After (v2.3.0)
[Meeting Service] ──(DB 레코드 생성)──> [Notification 테이블]
↓
(1분 간격 폴링)
↓
[Notification Service] ──> [Email]
↓
(발송 상태 업데이트)
개선 효과:
- ✅ Notification 서비스 독립성 강화: 마이크로서비스 간 느슨한 결합
- ✅ 시스템 안정성 향상: 이메일 발송 실패 시 자동 재시도 (최대 3회)
- ✅ 확장성 확보: 폴링 주기 조정으로 트래픽 제어 가능
📊 통계 비교
| 항목 | v2.2.0 | v2.3.0 | 변화 |
|---|---|---|---|
| 유저스토리 수 | 25개 | 27개 | +2개 (+8%) |
| 신규 추가 | - | 3개 | - |
| AFR 코드 | 2개 | 0개 | -2개 (100% 제거) |
| UFR 코드 | 23개 | 27개 | +4개 (+17%) |
| 평균 상세도 | 20-30줄 | 60-100줄 | 약 3배 |
| 프로토타입 연계 | 부분적 | 100% (10개 화면) | - |
| 표준 형식 적용 | 0% | 100% (27개) | - |
✅ 권장 후속 조치 체크리스트
🔴 긴급 (1주 내)
- 신규 유저스토리 3개 기반 API 설계 (UFR-MEET-015, UFR-AI-030, UFR-NOTI-010)
- 알림 아키텍처 폴링 방식 반영 (물리 아키텍처 업데이트)
- 프로토타입 ↔ 유저스토리 1:1 매핑 검증
🟡 중요 (2주 내)
- API 설계서 v2.3.0 기반 전면 업데이트 (입력/출력 명세 반영)
- 예외처리 시나리오 → 테스트 케이스 전환
- 관련 유저스토리 기반 통합 테스트 시나리오 작성
🟢 일반 (3주 내)
- 유저스토리별 개발 우선순위 재평가
- 신규 기능 3개 개발 일정 수립
- 프로토타입 기반 개발 가이드 작성
분석 일시: 2025-10-25 분석 파일:
- 상세 분석 (JSON):
claude/userstory-comparison-v2.2.0-to-v2.3.0.json - 상세 분석 (Markdown):
claude/userstory-comparison-v2.2.0-to-v2.3.0.md