애자일 제품 책임자(Agile Product Owner)
제품 책임자를 위한 백로그 관리 및 스프린트 실행 도구 모음입니다. 사용자 스토리 생성, 인수 기준 패턴, 스프린트 계획 및 속도 추적을 포함합니다.
목차
사용자 스토리 생성 워크플로우
요구사항으로부터 INVEST를 준수하는 사용자 스토리를 만듭니다.
- 페르소나 식별 (이 기능으로 혜택을 받는 사람)
- 필요한 작업 또는 기능 정의
- 전달되는 혜택 또는 가치 설명
- Given-When-Then 형식으로 인수 기준 작성
- 피보나치 규모로 스토리 포인트 추정
- INVEST 기준 검증
- 우선순위와 함께 백로그에 추가
- 검증: 스토리가 모든 INVEST 기준을 통과하고 인수 기준이 테스트 가능해야 함
사용자 스토리 템플릿
[페르소나]로서,
나는 [작업/기능]을 원합니다,
그래서 [혜택/가치]를 얻을 수 있습니다.
예시:
마케팅 매니저로서,
나는 캠페인 보고서를 PDF로 내보내기 원합니다,
그래서 시스템 접근 권한이 없는 이해관계자와 결과를 공유할 수 있습니다.
스토리 유형
| 유형 | 템플릿 | 예시 |
|---|---|---|
| 기능 | [페르소나]로서, 나는 [작업]을 원해서 [혜택]을 얻습니다 | 사용자로서, 나는 검색 결과를 필터링해서 더 빨리 항목을 찾고 싶습니다 |
| 개선 | [페르소나]로서, 나는 [목표]를 위해 [기능]이 필요합니다 | 사용자로서, 나는 작업을 지체 없이 완료하기 위해 더 빠른 페이지 로딩이 필요합니다 |
| 버그 수정 | [페르소나]로서, 나는 [조건]에서 [동작]을 기대합니다 | 사용자로서, 나는 페이지를 새로고침해도 내 장바구니가 유지되길 기대합니다 |
| 인에이블러 | 개발자로서, 나는 [기능]을 가능하게 하기 위해 [기술 작업]이 필요합니다 | 개발자로서, 나는 즉시 검색을 가능하게 하기 위해 캐싱을 구현해야 합니다 |
페르소나 참고
| 페르소나 | 일반적인 요구사항 | 컨텍스트 |
|---|---|---|
| 최종 사용자 | 효율성, 단순성, 신뢰성 | 일일 기능 사용 |
| 관리자 | 제어, 가시성, 보안 | 시스템 관리 |
| 파워 유저 | 자동화, 맞춤 설정, 단축키 | 전문가 워크플로우 |
| 신규 사용자 | 안내, 학습, 안전 | 온보딩 |
인수 기준 패턴
Given-When-Then 형식을 사용하여 테스트 가능한 인수 기준을 작성합니다.
Given-When-Then 템플릿
Given [전제 조건/컨텍스트],
When [작업/트리거],
Then [예상 결과].
예시:
Given 사용자가 유효한 자격 증명으로 로그인한 상태에서,
When "내보내기" 버튼을 클릭하면,
Then 2초 이내에 PDF 다운로드가 시작됩니다.
Given 사용자가 잘못된 이메일 형식을 입력했을 때,
When 등록 양식을 제출하면,
Then "유효한 이메일 주소를 입력하세요"라는 인라인 오류 메시지가 표시됩니다.
Given 장바구니에 항목이 있을 때,
When 사용자가 브라우저를 새로고침하면,
Then 장바구니 내용이 변경되지 않고 유지됩니다.
인수 기준 체크리스트
각 스토리는 다음 범주에 대한 기준을 포함해야 합니다:
| 범주 | 예시 |
|---|---|
| 정상 경로 | Given 유효한 입력, When 제출됨, Then 성공 메시지 표시 |
| 유효성 검사 | 필수 필드가 비어 있을 때 입력을 거부해야 함 |
| 오류 처리 | API 실패 시 사용자에게 친숙한 메시지를 표시해야 함 |
| 성능 | 2초 이내에 작업을 완료해야 함 |
| 접근성 | 키보드만으로 탐색 가능해야 함 |
스토리 크기별 최소 인수 기준 수
| 스토리 포인트 | 최소 인수 기준 개수 |
|---|---|
| 1-2 | 3-4개 |
| 3-5 | 4-6개 |
| 8 | 5-8개 |
| 13 이상 | 스토리 분할 |
전체 템플릿 라이브러리는 references/user-story-templates.md를 참조하세요.
에픽 분할 워크플로우
에픽을 스프린트에 전달 가능한 크기의 스토리로 분할합니다.
- 에픽 범위와 성공 기준 정의
- 에픽의 영향을 받는 모든 페르소나 식별
- 각 페르소나에 필요한 모든 기능 목록 작성
- 기능을 논리적 스토리로 그룹화
- 각 스토리가 8 포인트 이하인지 확인
- 스토리 간의 종속성 식별
- 점진적 전달을 위해 스토리 순서 지정
- 검증: 각 스토리가 독립적인 가치를 전달하며, 모든 스토리가 에픽 범위를 포함해야 함
분할 기법
| 기법 | 사용 시기 | 예시 |
|---|---|---|
| 워크플로 단계별 | 선형 프로세스 | "체크아웃" → "장바구니에 담기" + "결제 입력" + "주문 확인" |
| 페르소나별 | 여러 사용자 유형 | "대시보드" → "관리자 대시보드" + "사용자 대시보드" |
| 데이터 유형별 | 여러 입력 | "가져오기" → "CSV 가져오기" + "Excel 가져오기" |
| 작업별 | CRUD 기능 | "사용자 관리" → "생성" + "편집" + "삭제" |
| 정상 경로 우선 | 위험 감소 | "기능" → "기본 흐름" + "오류 처리" + "엣지 케이스" |
에픽 예시
에픽: 사용자 대시보드
분할:
에픽: 사용자 대시보드 (총 34 포인트)
├── US-001: 주요 지표 보기 (5 pt) - 최종 사용자
├── US-002: 레이아웃 맞춤 설정 (5 pt) - 파워 유저
├── US-003: 데이터를 CSV로 내보내기 (3 pt) - 최종 사용자
├── US-004: 팀과 공유 (5 pt) - 최종 사용자
├── US-005: 알림 설정 (5 pt) - 파워 유저
├── US-006: 날짜 범위로 필터링 (3 pt) - 최종 사용자
├── US-007: 관리자 개요 (5 pt) - 관리자
└── US-008: 캐싱 활성화 (3 pt) - 인에이블러
스프린트 계획 워크플로우
스프린트 용량을 계획하고 스토리를 선택합니다.
- 팀 용량 계산 (평균 속도 × 가용성)
- 이해관계자와 스프린트 목표 검토
- 우선순위가 지정된 백로그에서 스토리 선택
- 용량의 80-85%까지 채움 (확정)
- 스트레치 목표 추가 (추가 10-15%)
- 종속성과 위험 식별
- 복잡한 스토리를 작업으로 분할
- 검증: 확정 포인트 ≤ 용량의 85%, 모든 스토리에 인수 기준이 있어야 함
용량 계산
스프린트 용량 = 평균 속도 × 가용성 계수
예시:
평균 속도: 30 포인트
팀 가용성: 90% (한 명의 멤버가 부분적으로 부재)
조정된 용량: 27 포인트
확정: 23 포인트 (27의 85%)
스트레치: 4 포인트 (27의 15%)
가용성 계수
| 시나리오 | 계수 |
|---|---|
| 전체 스프린트, 휴가 없음 | 1.0 |
| 한 명의 팀원이 50% 부재 | 0.9 |
| 스프린트 중 휴일 | 0.8 |
| 여러 명의 팀원 부재 | 0.7 |
스프린트 로딩 템플릿
스프린트 용량: 27 포인트
스프린트 목표: [명확하고 측정 가능한 목표]
확정 (23 포인트):
[H] US-001: 사용자 대시보드 (5 pt)
[H] US-002: 내보내기 기능 (3 pt)
[H] US-003: 검색 필터 (5 pt)
[M] US-004: 설정 페이지 (5 pt)
[M] US-005: 도움말 툴팁 (3 pt)
[L] US-006: 테마 옵션 (2 pt)
스트레치 (4 포인트):
[L] US-007: 정렬 옵션 (2 pt)
[L] US-008: 인쇄 보기 (2 pt)
전체 계획 절차는 references/sprint-planning-guide.md를 참조하세요.
백로그 우선순위 설정
가치와 노력 평가를 사용하여 백로그의 우선순위를 지정합니다.
우선순위 수준
| 우선순위 | 정의 | 스프린트 대상 |
|---|---|---|
| 위급(Critical) | 사용자 차단, 보안, 데이터 손실 | 즉시 |
| 높음(High) | 핵심 기능, 주요 사용자 요구 | 이번 스프린트 |
| 중간(Medium) | 개선, 향상 | 다음 2-3 스프린트 |
| 낮음(Low) | 있으면 좋은 기능, 사소한 개선 | 백로그 |
우선순위 결정 요소
| 요소 | 가중치 | 질문 |
|---|---|---|
| 비즈니스 가치 | 40% | 수익 영향? 사용자 요구? 전략적 적합성? |
| 사용자 영향 | 30% | 얼마나 많은 사용자? 얼마나 자주 사용? |
| 위험/종속성 | 15% | 기술적 위험? 외부 종속성? |
| 노력 | 15% | 크기? 복잡성? 불확실성? |
INVEST 기준 검증
스프린트에 추가하기 전에 각 스토리를 검증합니다:
| 기준 | 질문 | 통과 조건 |
|---|---|---|
| Independent (독립적) | 다른 미확정 스토리 없이 개발 가능한가? | 차단하는 종속성 없음 |
| Negotiable (협상 가능) | 구현이 유연한가? | 여러 접근 방식 가능 |
| Valuable (가치 있음) | 사용자 또는 비즈니스 가치를 전달하는가? | "그래서" 부분에 명확한 혜택 |
| Estimable (추정 가능) | 팀이 추정할 수 있는가? | 크기를 정할 만큼 충분히 이해됨 |
| Small (작음) | 한 스프린트에 완료할 수 있는가? | ≤8 스토리 포인트 |
| Testable (테스트 가능) | 완료 여부를 확인할 수 있는가? | 명확한 인수 기준 |
참고 문서
사용자 스토리 템플릿
references/user-story-templates.md에는 다음이 포함됩니다:
- 유형별 표준 스토리 형식 (기능, 개선, 버그 수정, 인에이블러)
- 인수 기준 패턴 (Given-When-Then, Should/Must/Can)
- INVEST 기준 검증 체크리스트
- 스토리 포인트 추정 가이드 (피보나치 규모)
- 일반적인 스토리 안티패턴 및 수정 방법
- 스토리 분할 기법
스프린트 계획 가이드
references/sprint-planning-guide.md에는 다음이 포함됩니다:
- 스프린트 계획 회의 의제
- 용량 계산 공식
- 백로그 우선순위 프레임워크 (WSJF)
- 스프린트 세리모니 가이드 (데일리 스크럼, 리뷰, 회고)
- 속도 추적 및 번다운 패턴
- 완료 정의(Definition of Done) 체크리스트
- 스프린트 지표 및 목표
도구
사용자 스토리 생성기
# 샘플 에픽에서 스토리 생성
python scripts/user_story_generator.py
# 용량으로 스프린트 계획
python scripts/user_story_generator.py sprint 30
생성 결과:
- INVEST를 준수하는 사용자 스토리
- Given-When-Then 인수 기준
- 스토리 포인트 추정 (피보나치 규모)
- 우선순위 할당
- 확정 및 스트레치 항목이 포함된 스프린트 로딩
샘플 출력
사용자 스토리: USR-001
========================================
제목: 주요 지표 보기
유형: story
우선순위: HIGH
포인트: 5
스토리:
최종 사용자로서, 나는 주요 지표와 KPI를 보고 싶습니다.
그래서 시간을 절약하고 더 효율적으로 작업할 수 있습니다.
인수 기준:
1. Given 사용자가 접근 권한이 있을 때, When 주요 지표를 보면, Then 결과가 표시됩니다.
2. 입력을 처리하기 전에 검증해야 합니다.
3. 작업 실패 시 명확한 오류 메시지를 표시해야 합니다.
4. 2초 이내에 완료되어야 합니다.
5. 키보드 탐색을 통해 접근 가능해야 합니다.
INVEST 체크리스트:
✓ Independent (독립적)
✓ Negotiable (협상 가능)
✓ Valuable (가치 있음)
✓ Estimable (추정 가능)
✓ Small (작음)
✓ Testable (테스트 가능)
스프린트 지표
스프린트 건전성과 팀 성과를 추적합니다.
주요 지표
| 지표 | 공식 | 목표 |
|---|---|---|
| 속도(Velocity) | 완료된 포인트 / 스프린트 | 안정적 ±10% |
| 약속 신뢰도(Commitment Reliability) | 완료 / 확정 | >85% |
| 범위 변경(Scope Change) | 스프린트 중 추가 또는 제거된 포인트 | <10% |
| 이월(Carryover) | 완료되지 않은 포인트 | <15% |
속도 추적
스프린트 1: 25 포인트
스프린트 2: 28 포인트
스프린트 3: 30 포인트
스프린트 4: 32 포인트
스프린트 5: 29 포인트
------------------------
평균 속도: 28.8 포인트
추세: 안정적
계획: 24-26 포인트 확정
완료 정의(Definition of Done)
스토리는 다음 조건이 모두 충족되면 완료됩니다:
- 코드 완료 및 동료 검토 완료
- 단위 테스트 작성 및 통과
- 인수 기준 확인
- 문서 업데이트
- 스테이징 환경에 배포
- 제품 책임자 승인
- 치명적인 버그 없음
관련 스킬
- 스크럼 마스터 (
project-management/scrum-master/) — 속도 데이터와 스프린트 세리모니가 백로그 관리를 보완합니다. - 제품 관리자 툴킷 (
product-team/product-manager-toolkit/) — RICE 우선순위 설정이 백로그 순서를 지원합니다.