- Epic / Story / Task / Bug์ ์ญํ ์ ๋ช
ํํ ๊ตฌ๋ถํ๊ณ
- ์ค์ ์จ๋ผ์ธ ์๋น์ค ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์์คํ
์ ์์ ๋ก
- ์คํ ๋ฆฌ๋ฅผ ์ ์ชผ๊ฐ๋ ๊ธฐ์ค ์ฒดํฌ๋ฆฌ์คํธ๊น์ง ์ ๋ฆฌํ๋ค
Epic / Story / Task / Bug ์ญํ ์ ๋ฆฌ
| ๊ตฌ๋ถ |
์ญํ |
| Epic |
์ธ๊ณ๊ด, ๋ฌธ์ ์ ์, ๋ชฉํ |
| Story |
์ฌ์ฉ์ ๊ด์ ์ ๊ธฐ๋ฅ |
| Task |
์ค๊ณ · ๊ตฌํ · ๋ฆฌํฉํฐ๋ง |
| Bug |
์๋์ ๋ค๋ฅธ ๋์ |
ํ ์ค ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- Epic: ์ ์ด ์ผ์ ํ๋๊ฐ
- Story: ์ฌ์ฉ์๊ฐ ๋ฌด์์ ํ ์ ์๋๊ฐ
- Task: ์ด๋ป๊ฒ ๊ตฌํํ๋๊ฐ
- Bug: ์๋์ ์ค์ ์ ์ฐจ์ด
์์ ๋๋ฉ์ธ: ์จ๋ผ์ธ ์๋น์ค์ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์์คํ
์ํฉ ์ค๋ช
- ํ๋์ ์ฃผ๋ฌธ์๋ ์ฌ๋ฌ ๊ฐ์ ์ํ์ด ํฌํจ๋ ์ ์๋ค
- ์ฃผ๋ฌธ ์ฒ๋ฆฌ ๊ณผ์ ์์ ์ผ๋ถ ์ํ๋ง ์คํจํ ์ ์๋ค
- ์คํจํด๋ ๋ค๋ฅธ ์ํ์ ์ฒ๋ฆฌ๋ ๊ณ์๋ ์ ์๋ค
ํ์ฌ ๋ฌธ์
- ์ฃผ๋ฌธ์ ๋จ์ผ ๋จ์๋ก๋ง ์ฒ๋ฆฌ
- ์ผ๋ถ ์ํ ์คํจ ์:
- ์ฃผ๋ฌธ ์ํ๊ฐ ๋ถ๋ช
ํ
- ์ด๋ค ์ํ์ด ์คํจํ๋์ง ์๊ธฐ ์ด๋ ค์
- ์ฌ์ฒ๋ฆฌ๊ฐ ๋งค์ฐ ๊น๋ค๋ก์
Epic ์ ์
Epic
์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ค ๋ถ๋ถ ์คํจ ๋์ ์ฒด๊ณ ๊ตฌ์ถ
Epic ์ค๋ช
(์ธ๊ณ๊ด / ๋ฌธ์ ์ ์)
ํ๋์ ์ฃผ๋ฌธ์๋ ์ฌ๋ฌ ๊ฐ์ ์ํ์ด ํฌํจ๋ ์ ์์ผ๋ฉฐ,
์ฃผ๋ฌธ ์ฒ๋ฆฌ ๊ณผ์ ์์ ์ผ๋ถ ์ํ์ด ์คํจํ๋๋ผ๋
๋ค๋ฅธ ์ํ์ ์ฒ๋ฆฌ๋ ๊ณ์ ์งํ๋ ์ ์๋ค.
ํ์ฌ ์์คํ
์ ์ฃผ๋ฌธ์ ๋จ์ผ ๋จ์๋ก๋ง ์ฒ๋ฆฌํ์ฌ
์ผ๋ถ ์ํ ์คํจ ์ ์ ์ฒด ์ฃผ๋ฌธ์ ์ํ๊ฐ ๋ถ๋ช
ํํด์ง๊ณ
์ฌ์ฒ๋ฆฌ๊ฐ ์ด๋ ต๋ค.
Epic ๋ชฉํ
- ์ํ ๋จ์์ ์ฒ๋ฆฌ ์ํ๋ฅผ ๋ช
ํํ ๊ด๋ฆฌํ๋ค
- ๋ถ๋ถ ์คํจ๊ฐ ๋ฐ์ํด๋ ์ฃผ๋ฌธ ์ ์ฒด ์งํ ์ํฉ์ ํ์
ํ ์ ์๋ค
- ์คํจํ ์ํ๋ง ์ ํ์ ์ผ๋ก ์ฌ์ฒ๋ฆฌํ ์ ์๋ค
- ์ฒ๋ฆฌ ์ด๋ ฅ๊ณผ ์คํจ ์ฌ์ ๋ฅผ ๋ช
ํํ ๋จ๊ธด๋ค
Story ์ ์
Story 1
์ํ ๋จ์๋ก ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ค
์ฌ์ฉ์ ๊ด์ ์ค๋ช
์ด์์๋ ํ๋์ ์ฃผ๋ฌธ์ ํฌํจ๋ ๊ฐ ์ํ์ ์ฒ๋ฆฌ ์ํ๋ฅผ
๊ฐ๋ณ์ ์ผ๋ก ํ์ธํ ์ ์์ด์ผ ํ๋ค.
Acceptance Criteria
- ํ๋์ ์ฃผ๋ฌธ์ N๊ฐ์ ์ํ์ด ํฌํจ๋ ์ ์๋ค
- ๊ฐ ์ํ์ ๋
๋ฆฝ์ ์ธ ์ฒ๋ฆฌ ์ํ๋ฅผ ๊ฐ์ง๋ค
- ํน์ ์ํ์ด ์คํจํด๋ ๋ค๋ฅธ ์ํ์ ์ฒ๋ฆฌ๋ ๊ณ์๋๋ค
Story 2
์ํ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผ๋ฌธ์ ์ต์ข
์ํ๋ฅผ ๊ณ์ฐํ๋ค
์ฌ์ฉ์ ๊ด์ ์ค๋ช
์ด์์๋ ์ฃผ๋ฌธ ์ ์ฒด๊ฐ ํ์ฌ ์ด๋ค ์ํ์ธ์ง
ํ ๋์ ํ์
ํ ์ ์์ด์ผ ํ๋ค.
Acceptance Criteria
- ์ฃผ๋ฌธ ์ํ๋ ๊ฐ๋ณ ์ํ ์ํ์ ์งํฉ์ผ๋ก ๊ณ์ฐ๋๋ค
- ๋ชจ๋ ์ํ์ด ์ฑ๊ณตํ ๊ฒฝ์ฐ ์ฃผ๋ฌธ์ ์ฑ๊ณต ์ํ๊ฐ ๋๋ค
- ์ผ๋ถ ์ํ์ด ์คํจํ ๊ฒฝ์ฐ ์ฃผ๋ฌธ์ ๋ถ๋ถ ์คํจ ์ํ๊ฐ ๋๋ค
๋งํฌ
is blocked by → ์ํ ๋จ์ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ํ ๊ด๋ฆฌ
Story 3
์ํ ์ฒ๋ฆฌ ์คํจ ์ ์คํจ ์ฌ์ ๋ฅผ ๊ธฐ๋กํ๋ค
์ฌ์ฉ์ ๊ด์ ์ค๋ช
์ด์์๋ ์ํ์ด ์ ์คํจํ๋์ง
์์ธ์ ํ์ธํ ์ ์์ด์ผ ํ๋ค.
Acceptance Criteria
- ์คํจํ ์ํ์ ๋ํด ์ฌ์ ์ฝ๋์ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๋ค
- ์คํจ ์ฌ์ ๋ ์ฒ๋ฆฌ ์ด๋ ฅ๊ณผ ํจ๊ป ์กฐํ ๊ฐ๋ฅํด์ผ ํ๋ค
๋งํฌ
relates to → ์ํ ๋จ์ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ํ ๊ด๋ฆฌ
Story 4
์คํจํ ์ํ๋ง ์ ํ์ ์ผ๋ก ์ฌ์ฒ๋ฆฌํ ์ ์๋ค
์ฌ์ฉ์ ๊ด์ ์ค๋ช
์ด์์๋ ์ฃผ๋ฌธ ์ ์ฒด๋ฅผ ๋ค์ ์ฒ๋ฆฌํ์ง ์๊ณ
์คํจํ ์ํ๋ง ์ฌ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ค.
Acceptance Criteria
- ์คํจ ์ํ์ ์ํ๋ง ์ฌ์ฒ๋ฆฌ ๋์์ด ๋๋ค
- ์ฑ๊ณตํ ์ํ์ ์ฌ์ฒ๋ฆฌ ๋์์์ ์ ์ธ๋๋ค
- ์ฌ์ฒ๋ฆฌ ์ ๊ธฐ์กด ์ฒ๋ฆฌ ์ด๋ ฅ์ ์ ์ง๋๋ค
๋งํฌ
is blocked by → ์ํ ์ฒ๋ฆฌ ์ด๋ ฅ ๊ด๋ฆฌ
Story 5
์ํ ์ฒ๋ฆฌ ์ด๋ ฅ์ ์ํ ๋จ์๋ก ๊ด๋ฆฌํ๋ค
์ฌ์ฉ์ ๊ด์ ์ค๋ช
์ด์์๋ ๊ฐ ์ํ์ ์ฒ๋ฆฌ ์๋ ๋ด์ญ์
์๊ฐ ์์ผ๋ก ํ์ธํ ์ ์์ด์ผ ํ๋ค.
Acceptance Criteria
- ์ํ๋ณ๋ก ์ฌ๋ฌ ๋ฒ์ ์ฒ๋ฆฌ ์ด๋ ฅ์ ์ ์ฅํ ์ ์๋ค
- ๊ฐ ์ด๋ ฅ์ ์ฒ๋ฆฌ ์ํ์ ์์ ์ ํฌํจํ๋ค
Story 6
์ํ๋ณ ์ฒ๋ฆฌ ์ํ๋ฅผ ์กฐํํ ์ ์๋ค
์ฌ์ฉ์ ๊ด์ ์ค๋ช
์ด์์๋ ์ฃผ๋ฌธ ์์ธ ํ๋ฉด์์
์ํ๋ณ ์ฒ๋ฆฌ ์ํ๋ฅผ ํ์ธํ ์ ์์ด์ผ ํ๋ค.
Acceptance Criteria
- ์ฃผ๋ฌธ ์์ธ ํ๋ฉด์์ ์ํ ๋ชฉ๋ก๊ณผ ์ํ๋ฅผ ์กฐํํ ์ ์๋ค
- ์ํ ์ ๋ณด๋ ์ต์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ํ๋ค
๋งํฌ
is blocked by → ์ํ ๋จ์ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ํ ๊ด๋ฆฌ
Task ์์ (Story ํ์)
Task
์ํ ์ฒ๋ฆฌ ์ํ ์ ์ฅ ๊ตฌ์กฐ ์ค๊ณ
- ์ํ enum ์ ์
- ์ํ ์ ์ด ๊ท์น ์ ๋ฆฌ
- ์ํ ์ ์ฅ ํ
์ด๋ธ ์ค๊ณ
Task
์ํ ์ฒ๋ฆฌ ์ด๋ ฅ ์ ์ฅ ๊ตฌ์กฐ ๊ตฌํ
- ์ด๋ ฅ ํ
์ด๋ธ ์์ฑ
- ์ด๋ ฅ insert ๋ก์ง ๊ตฌํ
- ์กฐํ API ๊ตฌํ
๐ Task๋ ์ฌ์ฉ์ ๊ฐ์น๊ฐ ์๋๋ผ ๊ตฌํ ๋ฐฉ๋ฒ์ด๋ค.
Bug ์์
Bug
์ฌ์ฒ๋ฆฌ ์ ์ ์ ์ฒ๋ฆฌ๋ ์ํ์ ์ํ๊ฐ ์ด๊ธฐํ๋๋ ๋ฌธ์
์ค๋ช
์คํจ ์ํ ์ฌ์ฒ๋ฆฌ ์
์ด๋ฏธ ์ ์ ์ฒ๋ฆฌ๋ ์ํ์ ์ํ๊ฐ
๋ค์ ๋๊ธฐ ์ํ๋ก ๋ณ๊ฒฝ๋๋ค.
๋งํฌ
is caused by → ์ํ ์ฒ๋ฆฌ ์ด๋ ฅ ์ด๊ธฐ ์์ฑ ๋ก์ง ๋ณ๊ฒฝ
์คํ ๋ฆฌ๋ฅผ ์ ์ชผ๊ฐ๋ ๊ธฐ์ค ์ฒดํฌ๋ฆฌ์คํธ
0. ์ ์
- Epic์ ์ด๋ฏธ ์ธ๊ณ๊ด๊ณผ ๋ฌธ์ ์ ์๊ฐ ๋๋ ์ํ
- ์ง๊ธ ํ๋ ์ผ์
๐ Epic์ ๊ตฌํ ๊ฐ๋ฅํ Story๋ก ๋๋๋ ๊ฒ
1. ์ด๊ฑด Story์ธ๊ฐ, Task์ธ๊ฐ?
Story ์ฒดํฌ ์ง๋ฌธ
- ์ฌ์ฉ์๊ฐ ํ ์ ์๋ ํ๋์ด ํ๋ ๋์ด๋๋๊ฐ?
- ํ๋ฉด / API / ๊ฒฐ๊ณผ๋ฌผ ์ค ์ธ์ง ๊ฐ๋ฅํ ๋ณํ๊ฐ ์๋๊ฐ?
- ์ฑ๊ณต/์คํจ๋ฅผ ๋ช
ํํ ํ๋จํ ์ ์๋๊ฐ?
Task ์ฒดํฌ ์ง๋ฌธ
- ์ค๊ณ, ๋ฆฌํฉํฐ๋ง, ๊ตฌ์กฐ ๋ณ๊ฒฝ์ธ๊ฐ?
- ์ฌ์ฉ์ ์
์ฅ์์ ๊ธฐ๋ฅ ์ฐจ์ด๊ฐ ์๋๊ฐ?
- ๋ค๋ฅธ Story๋ฅผ ์ํ ์ค๋น ์์
์ธ๊ฐ?
2. ์คํ ๋ฆฌ 1๊ฐ์ ์ฌ์ฉ์ ๋ชฉํ๋ ํ๋์ธ๊ฐ?
์ฒดํฌ
- “์ฌ์ฉ์๋ก์ ๋๋ … ํ ์ ์๋ค” ๋ฌธ์ฅ์ด ํ๋๋ก ๋๋๋๊ฐ?
- ์ ๋ชฉ์ด๋ ์ค๋ช
์ “๊ทธ๋ฆฌ๊ณ ”, “๋๋”, “๋ํ”์ด ๋ฐ๋ณต๋๋๊ฐ?
ํ๋จ
- ์ฌ์ฉ์ ๋ชฉํ๊ฐ 2๊ฐ ์ด์ → ์ชผ๊ฐ ๋ค
์
โ ๋์ ์
์ฃผ๋ฌธ ์ํ๋ฅผ ์กฐํํ๊ณ ์คํจ ์ํ์ ์ฌ์ฒ๋ฆฌํ ์ ์๋ค
โ
์ข์ ์
- ์ฃผ๋ฌธ ์ํ๋ฅผ ์กฐํํ ์ ์๋ค
- ์คํจํ ์ํ์ ์ฌ์ฒ๋ฆฌํ ์ ์๋ค
3. ์๋ฃ ๊ธฐ์ค(AC)์ด ๋ช
ํํ๊ฐ?
์ฒดํฌ
- ์ด ์คํ ๋ฆฌ๊ฐ ๋๋ฌ๋์ง Yes / No๋ก ํ๋จ ๊ฐ๋ฅํ๊ฐ?
- QA๊ฐ ์ง๋ฌธ ์์ด ๊ฒ์ฆ ๊ฐ๋ฅํ๊ฐ?
์ํ ์ ํธ
- “์ ์ ํ”, “๊ฐ๋ฅํ๋ฉด”, “๋ฌธ์ ์๊ฒ”
- ๊ตฌํ ๋ฐฉ์๋ง ์๊ณ ๊ฒฐ๊ณผ๊ฐ ์์
๐ AC๋ ๊ฒฐ๊ณผ ์ค์ฌ, ์ค๊ณ๋ ์จ๊ธด๋ค
4. ๋ค๋ฅธ ์คํ ๋ฆฌ ์์ด ๋จ๋
์ผ๋ก ์ค๋ช
๊ฐ๋ฅํ๊ฐ?
์ฒดํฌ
- ์ด ์คํ ๋ฆฌ๋ง ์ฝ์ด๋ ๋งฅ๋ฝ์ ์ดํดํ ์ ์๋๊ฐ?
ํ๋จ
- ์ดํด ๋ถ๊ฐ → Epic ์ค๋ช
์ ๋ณด๊ฐํ๊ฑฐ๋ Story ์ฌ์ ์
5. ์ ํ ๊ด๊ณ๊ฐ ํ์ํ๊ฐ?
์ฒดํฌ
- ์ด ์คํ ๋ฆฌ๋ฅผ ์์ํ๋ ค๋ฉด ๋ฐ๋์ ํ์ํ ๋ค๋ฅธ ์คํ ๋ฆฌ๊ฐ ์๋๊ฐ?
ํ๋จ
- Yes →
is blocked by
- No →
relates to ๋๋ ๋
๋ฆฝ
โ ๏ธ “๊ฐ์ด ํ๋ฉด ํธํ๋ค” ≠ blocked
6. ํฌ๊ธฐ๊ฐ ํ ์คํ๋ฆฐํธ์ ๋ค์ด๊ฐ๋๊ฐ?
์ฒดํฌ
- ๊ฐ๋ฐ + ํ
์คํธ + ๋ฆฌ๋ทฐ๊น์ง ๊ฐ๋ฅํ๊ฐ?
ํ๋จ
- ๋๋ฌด ํฌ๋ค → ๊ธฐ๋ฅ ๋จ์๋ก ๋ถ๋ฆฌ
- ๋๋ฌด ์๋ค → Task๋ก ๋ด๋ฆฐ๋ค
7. ์คํจ / ์์ธ๊ฐ ์ฌ์ฉ์ ๊ฐ์น์ธ๊ฐ?
ํ๋จ
- ์ฌ์ฉ์๊ฐ ์ง์ ๋ค๋ค์ผ ํ๋ค → Story
- ๋ด๋ถ ์ฒ๋ฆฌ๋ค → Task ๋๋ AC
8. ์กฐํ์ ๋ณ๊ฒฝ์ด ์์ฌ ์๋๊ฐ?
์์น
- Read์ Write๋ ๊ฐ๋ฅํ๋ฉด ๋ถ๋ฆฌ
์
- ์ํ๋ฅผ ์กฐํํ ์ ์๋ค
- ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค
9. ์ ๋ชฉ๋ง ๋ด๋ ๋ฌด์์ ํ๋์ง ์ ์ ์๋๊ฐ?
์ข์ Story ์ ๋ชฉ ๊ณต์
“[์ฃผ์ฒด]๊ฐ [ํ๋]ํ ์ ์๋ค”
์
- ์ด์์๊ฐ ์ํ๋ณ ์ฒ๋ฆฌ ์ํ๋ฅผ ์กฐํํ ์ ์๋ค
- ์ด์์๊ฐ ์คํจํ ์ํ๋ง ์ฌ์ฒ๋ฆฌํ ์ ์๋ค
10. ์ด Story๊ฐ ์์ด์ง๋ฉด Epic ๋ชฉํ๊ฐ ํ๋ค๋ฆฌ๋๊ฐ?
ํ๋จ
- Yes → ํต์ฌ Story
- No → ๋ณด์กฐ Story ๋๋ ํ์์
์ค๋ฌด ์์ฝ ๊ท์น
- Story๋ ์ฌ์ฉ์ ๊ฐ์น ๋จ์
- ์ค๊ณ / ๊ตฌ์กฐ / ๋ฆฌํฉํฐ๋ง์ Task
- AC๋ ๊ฒฐ๊ณผ, ๊ตฌํ์ ์จ๊ธด๋ค
- blocked๋ ์ต์ํ, relates๋ ๋งฅ๋ฝ ๊ณต์ ์ฉ
- ํท๊ฐ๋ฆฌ๋ฉด ์ชผ๊ฐ๊ณ , ๋๋ฌด ์์ผ๋ฉด ๋ด๋ฆฐ๋ค