hgzero/claude/유저스토리_변경사항_보고서_v2.2.0에서_v2.3.0.md
yabo0812 ca78f9bc5a 유저스토리 v2.3.0 업데이트 및 분석 문서
프로토타입 기반 유저스토리 전면 재정비
- 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>
2025-10-25 15:16:50 +09:00

21 KiB

유저스토리 v2.2.0 → v2.3.0 변경사항 보고서

작성일: 2025-10-25 작성자: 지수 (Product Designer), 민준 (Product Owner) 문서 버전: 1.0


📋 개요

본 보고서는 AI기반 회의록 작성 및 이력 관리 개선 서비스의 유저스토리 문서가 v2.2.0에서 v2.3.0으로 업데이트되면서 변경된 내용과 그 의미를 분석합니다.

요약 통계

항목 v2.2.0 v2.3.0 변화
유저스토리 수 25개 27개 +2개 (+8%)
신규 추가 - 5개 UFR-USER-010, UFR-USER-020, UFR-MEET-015, UFR-AI-030, UFR-NOTI-010
삭제/전환 - 2개 AFR-USER-010, AFR-USER-020 → UFR로 전환
AFR 코드 2개 0개 -2개 (100% 제거)
UFR 코드 23개 27개 +4개 (+17%)
평균 상세도 20-30줄 60-100줄 약 3배 증가
프로토타입 연계 부분적 100% (10개 화면) -
표준 형식 적용 0% 100% (27개) -

📊 한눈에 보는 변경사항

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 🆕 │ (알림발송 - 폴링 방식)
                                       └─────────────────┘

범례:
🆕 = 완전 신규 추가
🎯 = 차별화 핵심 기능
✨ = 대폭 개선 (프로토타입 기반 재작성)

🎯 핵심 변경사항

1. 신규 추가된 유저스토리 (5개)

1.1 UFR-USER-010: 로그인 🆕

  • 이전: AFR-USER-010 (간략한 인증 설명)
  • 변경: UFR-USER-010으로 전환 및 상세화
  • 의미:
    • 로그인 프로세스 단계별 명시 (Enter 키 동작, 로딩 상태 등)
    • 예외처리 시나리오 구체화 (사번 미입력, 비밀번호 8자 미만 등)
    • 프로토타입 01-로그인.html과 1:1 매핑

1.2 UFR-USER-020: 대시보드 🆕

  • 이전: AFR-USER-020 (간략한 대시보드 설명)
  • 변경: UFR-USER-020으로 전환 및 대폭 확장
  • 의미:
    • 통계 블록, 최근 회의, 나의 Todo, 나의 회의록 위젯 상세 명세
    • FAB 버튼 2가지 액션 (회의예약/바로 시작) 명확화
    • 프로토타입 02-대시보드.html과 1:1 매핑

1.3 UFR-MEET-015: 참석자 실시간 초대 🆕

  • 이전: 없음
  • 변경: 완전 신규 추가
  • 의미:
    • 회의 진행 중 "참석자" 탭에서 실시간으로 참석자 추가 기능
    • 검색 모달 → 추가 → WebSocket 동기화 → 알림 발송 흐름 명시
    • 효과: 회의 진행 중 동적 참석자 관리로 유연성 향상
    • 프로토타입 05-회의진행.html의 "참석자" 탭과 연계

1.4 UFR-AI-030: 실시간 AI 제안 🆕🎯

  • 이전: 없음
  • 변경: 완전 신규 추가
  • 의미:
    • 차별화 전략 "지능형 회의 진행 지원" 실현
    • STT 텍스트 실시간 분석 → 주요 내용 감지 → AI 제안 카드 생성
    • 제안 카드에서 메모 탭으로 드래그 앤 드롭으로 추가
    • 효과: 회의 중 놓치는 내용 최소화, 차별화 핵심 기능
    • 프로토타입 05-회의진행.html의 "AI 제안" 탭과 연계

1.5 UFR-NOTI-010: 알림 발송 🆕

  • 이전: 없음 (암묵적으로 Meeting Service에서 직접 발송)
  • 변경: Notification 서비스의 독립적인 유저스토리로 추가
  • 의미:
    • 알림 아키텍처를 폴링 방식으로 통일
    • 1분 간격 폴링 → 이메일 발송 → 최대 3회 재시도
    • 6가지 알림 유형 명시 (Todo 할당, Todo 완료, 회의 시작, 회의록 확정, 참석자 초대, 회의록 수정)
    • 효과: Notification 서비스 독립성 확보, 시스템 안정성 향상

2. 대폭 개선된 유저스토리 (주요 8개)

2.1 UFR-MEET-010: 회의예약

  • 변경사항:
    • 수행절차 10단계 명시 (FAB 버튼 → 입력 → 저장/완료)
    • 입력 필드별 상세 명세 (타입, 필수 여부, 최대/최소값, UI 요소)
    • 임시저장/예약 완료 2가지 시나리오 구분
    • 예외처리 7가지 추가 (제목 미입력, 과거 날짜, 참석자 미선택 등)
  • 의미: 프로토타입 03-회의예약.html 기반 전면 재작성

2.2 UFR-MEET-030: 회의시작

  • 변경사항:
    • 회의 진행 화면 4개 탭 상세 명세 (녹음/메모, 참석자, AI 제안, 안건)
    • 녹음 시작/일시정지/재시작 플로우 명시
    • 참석자 상태 표시 (온라인/오프라인/참석중)
    • 탭별 UI 요소와 인터랙션 상세화
  • 의미: 프로토타입 05-회의진행.html 4개 탭 구조 반영

2.3 UFR-MEET-040: 회의종료

  • 변경사항:
    • 회의 종료 후 3가지 액션 명시 (바로 확정, 나중에 확정, 검토 후 확정)
    • 각 액션별 이동 화면 명확화
    • 안건 요약 및 검증 상태 표시 추가
  • 의미: 프로토타입 07-회의종료.html 반영, 사용자 선택권 강화

2.4 UFR-MEET-050: 최종확정

  • 변경사항:
    • 2가지 시나리오 분리 (검토 후 확정, 회의 종료 화면에서 바로 확정)
    • 안건별 검증 완료 여부 체크 로직 추가
    • 미검증 안건 있을 시 확정 불가 정책 명시
  • 의미: 회의록 품질 보증 메커니즘 강화

2.5 UFR-MEET-046: 회의록목록조회

  • 변경사항:
    • 샘플 데이터 30개 명시 (제목, 날짜, 상태, 검증 현황 등)
    • 필터/정렬 기능 상세화 (기간, 상태, 폴더별)
    • 상태 배지 5종 추가 (진행중, 검토중, 확정완료 등)
  • 의미: 프로토타입 12-회의록목록조회.html 반영

2.6 UFR-MEET-047: 회의록상세조회

  • 변경사항:
    • 관련 회의록 섹션 추가 (AI가 자동 연결한 회의록 3개 표시)
    • 안건별 검증 상태 표시 추가
    • 용어 팝업 연계 (UFR-RAG-010) 명시
  • 의미: 프로토타입 10-회의록상세조회.html 반영, RAG 기능 연계

2.7 UFR-MEET-055: 회의록수정

  • 변경사항:
    • 3가지 진입 시나리오 명시 (회의종료 화면, 목록 화면, 상세조회 화면)
    • 실시간 협업 플로우 상세화 (UFR-COLLAB-010, UFR-COLLAB-020 연계)
    • 수정 저장/임시저장/취소 3가지 액션 구분
  • 의미: 프로토타입 11-회의록수정.html 반영, 협업 기능 강화

2.8 UFR-COLLAB-020: 충돌해결

  • 변경사항:
    • 안건 기반 충돌 방지 메커니즘 상세화
    • 동일 안건 동시 수정 시 경고 표시 및 잠금 정책 명시
    • 충돌 해결 시나리오 3가지 (대기, 새 안건 작성, 취소)
  • 의미: 실시간 협업 안정성 강화

3. 유지된 유저스토리 (14개)

다음 유저스토리들은 v2.2.0과 v2.3.0에서 ID와 핵심 내용이 유지되었습니다:

  • UFR-AI-010 (회의록 자동 작성)
  • UFR-AI-020 (Todo 자동 추출)
  • UFR-AI-035 (섹션 AI 요약)
  • UFR-AI-036 (AI 한줄 요약)
  • UFR-AI-040 (관련 회의록 연결)
  • UFR-STT-010 (음성 녹음 인식)
  • UFR-STT-020 (텍스트 변환)
  • UFR-RAG-010 (전문용어 감지)
  • UFR-RAG-020 (맥락 기반 용어 설명)
  • UFR-COLLAB-010 (회의록 수정 동기화)
  • UFR-COLLAB-030 (검증 완료)
  • UFR-TODO-010 (Todo 할당)
  • UFR-TODO-030 (Todo 완료 처리)
  • UFR-TODO-040 (Todo 관리)

📈 문서 품질 개선

3.1 유저스토리 형식 표준화

Before (v2.2.0) - 자유 형식

UFR-MEET-010: [회의예약] 회의 생성자로서 | 나는, ...
- 시나리오: 회의 예약 및 참석자 초대
  회의 예약 화면에 접근한 상황에서 | ...

  [입력 요구사항]
  - 회의 제목: 최대 100자 (필수)
  ...

  [처리 결과]
  - 회의가 예약됨
  ...

- M/13

After (v2.3.0) - 표준 5단계 형식

### UFR-MEET-010: [회의예약] 회의 생성자로서 | 나는, ...

**수행절차:**
1. 대시보드에서 "회의예약" FAB 버튼 클릭
2. 회의 제목 입력 (최대 100자)
3. 날짜 선택 (오늘 이후 날짜, 달력 UI)
...
10. "임시저장" 버튼 또는 "예약 완료" 버튼 클릭

**입력:**
- 회의 제목: 텍스트 입력, 필수, 최대 100자, 문자 카운터 표시
- 날짜: date 타입, 필수, 오늘 이후 날짜만 선택 가능
...

**출력/결과:**
- 예약 완료: "회의가 예약되었습니다" 토스트 메시지, 대시보드로 이동
- 임시저장: "임시 저장되었습니다" 토스트 메시지
...

**예외처리:**
- 제목 미입력: "회의 제목을 입력해주세요" 토스트, 제목 필드 포커스
- 과거 날짜 선택: "과거 날짜는 선택할 수 없습니다" 토스트
...

**관련 유저스토리:**
- UFR-USER-020: 대시보드 조회
- UFR-MEET-020: 템플릿선택

3.2 개선 효과

섹션 개선 효과
수행절차 단계별 명확한 작업 흐름, 개발자가 UI 플로우 이해 가능
입력 필드 타입, 검증 규칙, UI 요소 상세 명세, API 명세서 작성 기준 제공
출력/결과 성공/실패 시나리오별 응답 명시, 테스트 케이스 작성 기준 제공
예외처리 에러 상황별 처리 방법 구체화, QA 시나리오 명확화
관련 유저스토리 기능 간 연계성 추적, 통합 테스트 범위 파악 용이

🏗️ 프로토타입 연계 강화

v2.3.0에서는 모든 유저스토리가 프로토타입 화면과 명확하게 연계되었습니다.

프로토타입 화면 연계 유저스토리 상태
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 매핑
08-최종확정.html UFR-MEET-050 1:1 매핑

결과: 10개 프로토타입 화면 100% 유저스토리 연계 완료


🔑 핵심 아키텍처 변경

알림 아키텍처: 실시간 → 폴링 방식

Before (v2.2.0)

[Meeting Service] ──(실시간 발송)──> [Notification Service] ──> [Email]
     ↓
  Todo 할당 발생 → 즉시 이메일 발송

문제점:

  • Meeting Service와 Notification Service 간 강한 결합
  • 이메일 발송 실패 시 Meeting Service에 영향

After (v2.3.0)

[Meeting Service] ──(DB 레코드 생성)──> [Notification 테이블]
                                             ↓
                                    (1분 간격 폴링)
                                             ↓
                              [Notification Service] ──> [Email]
                                             ↓
                                    (발송 상태 업데이트)

개선 효과:

  • Notification 서비스 독립성 강화: 마이크로서비스 간 느슨한 결합
  • 시스템 안정성 향상: 이메일 발송 실패 시 자동 재시도 (최대 3회)
  • 확장성 확보: 폴링 주기 조정으로 트래픽 제어 가능
  • 모니터링 용이: 발송 대기/성공/실패 상태 DB에서 추적

💡 변경의 의미와 개선 효과

1. 사용자 경험 (UX) 개선

영역 개선 내용 효과
회의 진행 중 유연성 UFR-MEET-015 (참석자 실시간 초대) 회의 중 동적 참석자 관리 가능
회의 중 놓침 방지 UFR-AI-030 (실시간 AI 제안) 🎯 차별화 핵심 기능, 회의 중 주요 내용 실시간 감지
회의 종료 후 선택권 UFR-MEET-040 (3가지 액션) 바로 확정/나중에 확정/검토 후 확정
회의록 품질 보증 UFR-MEET-050 (검증 후 확정) 미검증 안건 있을 시 확정 불가 정책
실시간 협업 안정성 UFR-COLLAB-020 (안건 기반 충돌 방지) 동일 안건 동시 수정 시 경고 및 잠금

2. 기능적 개선

영역 개선 내용 효과
알림 시스템 안정성 UFR-NOTI-010 (폴링 방식) Notification 서비스 독립성 확보, 재시도 메커니즘
차별화 전략 실현 UFR-AI-030 (실시간 AI 제안) 🎯 "지능형 회의 진행 지원" 구체화
프로토타입 정합성 10개 화면 100% 매핑 기획-디자인-개발 간 일관성 확보
유저스토리 표준화 5단계 표준 형식 개발 가이드 역할 강화, API 명세서 작성 기준 제공

3. 문서화 개선

영역 개선 내용 효과
상세도 3배 증가 20-30줄 → 60-100줄 개발자가 구현에 필요한 모든 정보 확보
AFR 코드 폐지 AFR → UFR 통일 유저스토리 체계 단순화
예외처리 명시 각 유저스토리별 5-7개 예외 시나리오 QA 테스트 케이스 작성 기준 제공
관련 유저스토리 연계 기능 간 의존성 추적 통합 테스트 범위 명확화

📋 권장 후속 조치

🔴 긴급 (1주 내)

  • 신규 유저스토리 3개 기반 API 설계

    • UFR-MEET-015: 참석자 실시간 초대 API
    • UFR-AI-030: 실시간 AI 제안 API (SSE 또는 WebSocket)
    • UFR-NOTI-010: 알림 폴링 및 발송 API
  • 알림 아키텍처 폴링 방식 반영

    • 물리 아키텍처 다이어그램 업데이트
    • Notification 테이블 스키마 정의
    • 폴링 스케줄러 설계
  • 프로토타입 ↔ 유저스토리 1:1 매핑 검증

    • 10개 화면별 유저스토리 매핑 검증
    • 누락된 화면 또는 유저스토리 확인

🟡 중요 (2주 내)

  • API 설계서 v2.3.0 기반 전면 업데이트

    • 입력/출력 명세 반영 (타입, 필수 여부, 검증 규칙)
    • 예외처리 시나리오 → HTTP 상태 코드 및 에러 메시지 매핑
    • 관련 유저스토리 기반 API 그룹핑
  • 예외처리 시나리오 → 테스트 케이스 전환

    • 각 유저스토리의 예외처리 섹션을 테스트 케이스로 변환
    • 입력 검증 테스트 케이스 작성
  • 관련 유저스토리 기반 통합 테스트 시나리오 작성

    • 예: UFR-MEET-010 → UFR-MEET-020 → UFR-MEET-030 전체 플로우 테스트

🟢 일반 (3주 내)

  • 유저스토리별 개발 우선순위 재평가

    • 신규 유저스토리 3개 우선순위 결정
    • 차별화 핵심 기능 (UFR-AI-030) 우선 개발 검토
  • 신규 기능 3개 개발 일정 수립

    • UFR-MEET-015: 참석자 실시간 초대
    • UFR-AI-030: 실시간 AI 제안 (Sprint 목표로 권장)
    • UFR-NOTI-010: 알림 발송
  • 프로토타입 기반 개발 가이드 작성

    • 프로토타입 → 유저스토리 → API → 컴포넌트 매핑 가이드
    • 프론트엔드 개발자를 위한 프로토타입 활용 가이드

🔍 핵심 시사점 (Key Takeaways)

  1. v2.3.0은 프로토타입 분석을 통해 유저스토리를 전면 재정비한 버전

    • 10개 프로토타입 화면과 100% 매핑
    • 실제 UI/UX 플로우를 유저스토리에 반영
  2. 신규 기능 3개 추가로 차별화 강화

    • 특히 UFR-AI-030 (실시간 AI 제안)은 차별화 핵심 기능
  3. 알림 아키텍처 폴링 방식으로 통일하여 시스템 안정성 확보

    • Notification 서비스 독립성 강화
    • 재시도 메커니즘으로 안정성 향상
  4. 유저스토리 형식 표준화로 개발 가이드 역할 강화

    • 5단계 표준 형식 (수행절차, 입력, 출력/결과, 예외처리, 관련 유저스토리)
    • API 명세서 및 테스트 케이스 작성 기준 제공
  5. 평균 유저스토리 상세도 약 3배 증가로 품질 대폭 향상

    • 개발자가 구현에 필요한 모든 정보 포함
    • 예외처리, 검증 규칙, UI 요소까지 상세 명시
  6. 기존 24개 유저스토리 ID 승계하여 연속성 유지

    • AFR-USER-010 → UFR-USER-010 전환
    • 기존 설계 문서와의 연계성 유지
  7. 프로토타입-유저스토리 1:1 매핑으로 개발 명확성 확보

    • 기획-디자인-개발 간 일관성 확보
    • 개발 우선순위 및 Sprint 계획 수립 용이

📎 참고 자료

  • 상세 분석 (JSON): claude/userstory-comparison-v2.2.0-to-v2.3.0.json (19KB)
  • 상세 분석 (Markdown): claude/userstory-comparison-v2.2.0-to-v2.3.0.md (16KB)
  • 요약 분석: claude/userstory-comparison-summary.md (11KB)
  • 유저스토리 v2.2.0 백업: design/userstory_v2.2.0_backup.md
  • 유저스토리 v2.3.0 현재: design/userstory.md

보고서 작성: 지수 (Product Designer), 민준 (Product Owner) 분석 일시: 2025-10-25 문서 버전: 1.0