| name | aidlc-user-stories |
| description | Use when requirements need to be converted into INVEST-compliant user stories with acceptance criteria. |
| metadata | {"version":"0.7.0","author":"Jay","category":"ai-dlc-workflow","invoke_mode":"orchestrator-only","return_behavior":"stop-no-gate","output_path":"devflow-docs/inception/user-stories.md","skill_nature":"hybrid","lifecycle":"active","model_dependency":"๋ชจ๋ธ์ด INVEST ๊ธฐ์ค ์์ด ์์ฑํจ","amplification_notes":"Acceptance Criteria ๊ฐ์ + ์ถ์ ์ฑ"} |
aidlc-user-stories
Purpose
์๊ตฌ์ฌํญ์ INVEST ๊ธฐ์ค ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ก ๋ณํํ๋ค.
๋น๋ํํ ์์ฑ โ requirements.md๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ๊ด ๋ณํํ๊ณ , ๋ณ๊ฒฝ ์์ฒญ์ ์ค์ผ์คํธ๋ ์ดํฐ ๊ฒ์ดํธ์์ ์ฒ๋ฆฌ.
IMPORT ๋ชจ๋
User-stories๋ IMPORT ๋ฏธ์ง์. requirements-analysis ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ํต์ฌ ๊ฐ์น.
IMPORT ์ ํธ ์์ ์: "User-stories๋ IMPORT ๋ฏธ์ง์์
๋๋ค. GENERATE ๋ชจ๋๋ก ์คํํฉ๋๋ค." ๋ฉ์์ง ํ GENERATE ์งํ.
UPDATE ๋ชจ๋
ํธ์ถ ํ
์คํธ์ UPDATE ํค์๋ ํฌํจ ์ ํ์ฑํ:
"aidlc-user-stories: UPDATE โ ๊ธฐ์กด ์คํ ๋ฆฌ ์ ์ง, [๋ณ๊ฒฝ ๋ด์ฉ] ๋ฐ์"
UPDATE ๋ชจ๋์์๋:
devflow-docs/inception/user-stories.md ์ฝ๊ธฐ (๊ธฐ์กด ์คํ ๋ฆฌ)
devflow-docs/inception/requirements.md ์ฝ๊ธฐ (๋ณ๊ฒฝ๋ ์๊ตฌ์ฌํญ)
- ๋ณ๊ฒฝ ์์ฒญ๊ณผ ๊ธฐ์กด ์คํ ๋ฆฌ๋ฅผ ๋์กฐํ์ฌ ์ฐ๊ด์ฑ ํ๋จ:
- ์ฐ๊ด ์คํ ๋ฆฌ ์์ (๋์ผ ์กํฐ/๊ธฐ๋ฅ ๋ฒ์) โ ํด๋น ์คํ ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ /ํ์ฅ (์์ฉ ๊ธฐ์ค ๋ณด๊ฐ, ์ฐ์ ์์ ๋ณ๊ฒฝ ๋ฑ). Edit ๋๊ตฌ๋ก ํด๋น ์น์
๋ง ๊ต์ฒด
- ์ฐ๊ด ์คํ ๋ฆฌ ์์ (์๋ก์ด ์กํฐ/๊ธฐ๋ฅ) โ ์ ๊ท ์คํ ๋ฆฌ๋ก ๊ธฐ์กด ๋ชฉ๋ก์ ์ถ๊ฐ (๋ฒํธ๋ ๊ธฐ์กด ๋ง์ง๋ง ๋ฒํธ ์ดํ๋ถํฐ). Edit ๋๊ตฌ๋ก ์ฝ์
- ์๊ตฌ์ฌํญ ์ญ์ ๋ก ์คํ ๋ฆฌ๊ฐ ๋ถํ์ โ ํด๋น ์คํ ๋ฆฌ ์ญ์ (๋ฒํธ ์ฌ๋ถ์ฌ ์ ํจ)
## Change Log ์น์
์ ๋ณ๊ฒฝ ๋ด์ญ ๊ธฐ๋ก: - [ISO 8601] UPDATE: [๋ณ๊ฒฝ ์์ฝ]
user-stories.md ์
๋ฐ์ดํธ ํ STOP
๋๊ตฌ ์ ํ: ๋ถ๋ถ ์
๋ฐ์ดํธ์๋ ๋ฐ๋์ Edit ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ค. Write ๋๊ตฌ๋ก ์ ์ฒด ๋ฎ์ด์ฐ๊ธฐ ๊ธ์ง.
Step 1, 2, 3, 4๋ ์คํํ์ง ์๋๋ค.
Execute
Step 1: Load context
Read (if they exist):
devflow-docs/inception/requirements.md โ ๊ธฐ๋ฅ/๋น๊ธฐ๋ฅ ์๊ตฌ์ฌํญ
devflow-docs/inception/workspace.md โ ๊ทธ๋ฆฐํ๋/๋ธ๋ผ์ดํ๋ ์ปจํ
์คํธ
Step 2: Identify actors
์๊ตฌ์ฌํญ์์ ์ฌ์ฉ์ ์ ํ์ ์ถ์ถํ๋ค:
- ์ง์ ์ธ๊ธ๋ ์ฌ์ฉ์ (์: "๊ด๋ฆฌ์", "์ผ๋ฐ ์ฌ์ฉ์")
- ์๋ฌต์ ์ฌ์ฉ์ (์: ์ธ์ฆ ์๊ตฌ์ฌํญ โ ์ธ์ฆ๋ ์ฌ์ฉ์)
- ์ธ๋ถ ์์คํ
(์: API ์ฐ๋ โ ์ธ๋ถ API)
Step 3: Generate user stories
๊ฐ ์กํฐ๋ณ๋ก:
- Given-When-Then ํ์ Acceptance Criteria ์์ฑ
- INVEST ๊ธฐ์ค ๊ฒ์ฆ:
- Independent: ๋ค๋ฅธ ์คํ ๋ฆฌ์ ๋
๋ฆฝ์
- Negotiable: ๊ตฌํ ๋ฐฉ์ ํ์ ๊ฐ๋ฅ
- Valuable: ์ฌ์ฉ์์๊ฒ ๊ฐ์น ์ ๊ณต
- Estimable: ๊ตฌํ ๋ฒ์ ์ถ์ ๊ฐ๋ฅ
- Small: ํ ์คํ๋ฆฐํธ ๋ด ์๋ฃ ๊ฐ๋ฅ
- Testable: ๊ฒ์ฆ ๊ธฐ์ค ๋ช
ํ
- ์ฐ์ ์์ ๋ถ์ฌ: Must / Should / Could
Step 4: Save artifact
Create devflow-docs/inception/user-stories.md:
# User Stories
**Timestamp**: [ISO 8601]
**Source**: devflow-docs/inception/requirements.md
## Actors
- [Actor1]: [์ญํ ์ค๋ช
]
- [Actor2]: [์ญํ ์ค๋ช
]
## Stories
### US-001: [์คํ ๋ฆฌ ์ ๋ชฉ]
**Actor**: [Actor๋ช
]
**Story**: As a [actor], I want [goal] so that [benefit]
**Acceptance Criteria**:
- Given [context], When [action], Then [result]
- Given [context], When [action], Then [result]
**Priority**: [Must | Should | Could]
Step 4 ์ฐธ๊ณ : ๊ธฐ์กด ํ์ผ์ด ์กด์ฌํ ๋
์ธ๋ผ์ธ ์ ํธ ์์ด ์ฌํธ์ถ๋์๋๋ฐ user-stories.md๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉด UPDATE๋ก ๊ฐ์ฃผํ๋ค.
๊ธฐ์กด ๋ด์ฉ ๋ณด์กด์ด ๊ธฐ๋ณธ๊ฐ์ด๋ค.
Review
conventions Review Workflow ์ ์ฉ.
- ์ฐ์ถ๋ฌผ: devflow-docs/inception/user-stories.md
- ๋ฆฌ๋ทฐ์ด: artifact-reviewer-prompt.md
Return to Orchestrator
conventions ํ์ค ํ์. ๋ฐํ ํ๋:
- ์กํฐ: [count]๋ช
([์กํฐ๋ช
๋์ด])
- ์ฌ์ฉ์ ์คํ ๋ฆฌ: [count]๊ฐ (Must: [N], Should: [N], Could: [N])
- ์ฐ์ถ๋ฌผ: devflow-docs/inception/user-stories.md
- ๋ฆฌ๋ทฐ: [โ
์น์ธ๋จ | โญ ์คํต (Minimal)]
Common Issues
requirements.md์ ์ฌ์ฉ์ ์ ํ์ด ๋ช
์๋์ง ์์ ๊ฒฝ์ฐ
- ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์์ ์๋ฌต์ ์กํฐ ์ถ์ถ
- "๊ธฐ๋ณธ ์ฌ์ฉ์" ์กํฐ๋ฅผ ์์ฑํ์ฌ ๋งคํ
- ์ฐ์ถ๋ฌผ์ "โ ๏ธ ๋ช
์์ ์กํฐ ์์ โ ์๊ตฌ์ฌํญ์์ ์ถ๋ก " ๊ธฐ๋ก
์๊ตฌ์ฌํญ์ด ๊ธฐ์ ์ค์ฌ์ด๊ณ ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ก ๋ณํ์ด ์ด๋ ค์ด ๊ฒฝ์ฐ
- ๊ธฐ์ ์๊ตฌ์ฌํญ์ "์์คํ
" ์กํฐ๋ก ๋งคํ (์: As a system, I want...)
- ์์ ์ธํ๋ผ ์๊ตฌ์ฌํญ์ ์คํ ๋ฆฌ ๋ณํ ์คํตํ๊ณ "๊ธฐ์ ์๊ตฌ์ฌํญ" ์น์
์ ๋ณ๋ ๊ธฐ๋ก