λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

QA

JIRA ν‹°μΌ“ μ’…λ₯˜μ™€ 효과적인 생성 κ³Όμ • (feat.MCP)

πŸ“‹ JIRA ν‹°μΌ“ μ’…λ₯˜λ³„ μ„€λͺ…

🎯 Epic (에픽)

μ •μ˜: 큰 규λͺ¨μ˜ κΈ°λŠ₯μ΄λ‚˜ ν”„λ‘œμ νŠΈλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ΅œμƒμœ„ 레벨의 μž‘μ—… λ‹¨μœ„

νŠΉμ§•:

  • μ—¬λŸ¬ 개의 μŠ€ν† λ¦¬μ™€ μž‘μ—…μ„ ν¬ν•¨ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆ μ—­ν• 
  • 보톡 ν•œ λΆ„κΈ°λ‚˜ μ—¬λŸ¬ μŠ€ν”„λ¦°νŠΈμ— 걸쳐 μ™„λ£Œλ˜λŠ” 큰 λ‹¨μœ„μ˜ μž‘μ—…
  • λΉ„μ¦ˆλ‹ˆμŠ€ κ°€μΉ˜λ‚˜ μ‚¬μš©μž λͺ©ν‘œμ™€ 직접 μ—°κ²°

μ˜ˆμ‹œ:

  • "μ‚¬μš©μž 인증 μ‹œμŠ€ν…œ ꡬ좕"
  • "λͺ¨λ°”일 μ•± 결제 κΈ°λŠ₯ 개발"
  • "고객 지원 μ‹œμŠ€ν…œ κ°œμ„ "

πŸ“– Story (μŠ€ν† λ¦¬)

μ •μ˜: μ‚¬μš©μž κ΄€μ μ—μ„œ 기술된 κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­

νŠΉμ§•:

  • μ‚¬μš©μžκ°€ λ‹¬μ„±ν•˜κ³ μž ν•˜λŠ” λͺ©ν‘œλ‚˜ κ°€μΉ˜λ₯Ό μ„€λͺ…
  • 보톡 ν•œ μŠ€ν”„λ¦°νŠΈ λ‚΄μ—μ„œ μ™„λ£Œ κ°€λŠ₯ν•œ 크기
  • "As a [μ‚¬μš©μž], I want [κΈ°λŠ₯], So that [이유]" ν˜•μ‹μœΌλ‘œ μž‘μ„±

μ˜ˆμ‹œ:

  • "둜그인 νŽ˜μ΄μ§€μ—μ„œ μ†Œμ…œ 둜그인 λ²„νŠΌ μΆ”κ°€"
  • "μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μƒν’ˆ μˆ˜λŸ‰ λ³€κ²½ κΈ°λŠ₯"
  • "λŒ€μ‹œλ³΄λ“œμ— μ‹€μ‹œκ°„ 톡계 차트 ν‘œμ‹œ"

βš’οΈ Task (μž‘μ—…)

μ •μ˜: ꡬ체적이고 μ‹€ν–‰ κ°€λŠ₯ν•œ μž‘μ—… λ‹¨μœ„

νŠΉμ§•:

  • 기술적이고 세뢀적인 κ΅¬ν˜„ μž‘μ—…
  • λͺ…ν™•ν•œ μ™„λ£Œ κΈ°μ€€κ³Ό μ‚°μΆœλ¬Όμ΄ 있음
  • κ°œλ°œμžλ‚˜ νŒ€μ›μ΄ 직접 μˆ˜ν–‰ν•˜λŠ” λ‹¨μœ„ μž‘μ—…

μ˜ˆμ‹œ:

  • "OAuth 2.0 라이브러리 μ„€μ •"
  • "λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜"
  • "API λ¬Έμ„œ μ—…λ°μ΄νŠΈ"

πŸ”„ 계측 ꡬ쑰와 관계

 
Epic (에픽)
β”œβ”€β”€ Story (μŠ€ν† λ¦¬) 1
β”‚   β”œβ”€β”€ Task (μž‘μ—…) 1-1
β”‚   β”œβ”€β”€ Task (μž‘μ—…) 1-2
β”‚   └── Subtask (ν•˜μœ„μž‘μ—…) 1-3
β”œβ”€β”€ Story (μŠ€ν† λ¦¬) 2
β”‚   β”œβ”€β”€ Task (μž‘μ—…) 2-1
β”‚   └── Task (μž‘μ—…) 2-2
└── Task (μž‘μ—…) 3 (독립 μž‘μ—…)

🎨 효과적인 ν‹°μΌ“ 생성 κ³Όμ •

1️⃣ Epic 생성 κ³Όμ •

1단계: λΉ„μ¦ˆλ‹ˆμŠ€ λͺ©ν‘œ μ •μ˜

  • λ‹¬μ„±ν•˜κ³ μž ν•˜λŠ” λΉ„μ¦ˆλ‹ˆμŠ€ κ°€μΉ˜ λͺ…ν™•ν™”
  • 성곡 μ§€ν‘œμ™€ μ™„λ£Œ κΈ°μ€€ μ„€μ •

2단계: Epic μž‘μ„±

 
제λͺ©: [λͺ…ν™•ν•˜κ³  κ°„κ²°ν•œ κΈ°λŠ₯λͺ…]
μ„€λͺ…: 
- λΉ„μ¦ˆλ‹ˆμŠ€ λͺ©ν‘œμ™€ κ°€μΉ˜
- λ²”μœ„μ™€ μ œμ•½μ‚¬ν•­
- 성곡 κΈ°μ€€
- μ˜ˆμƒ κΈ°κ°„

μ˜ˆμ‹œ:
제λͺ©: "고객 μ…€ν”„μ„œλΉ„μŠ€ 포털 ꡬ좕"
μ„€λͺ…: "고객이 슀슀둜 μ£Όλ¬Έ 쑰회, ν™˜λΆˆ μš”μ²­, FAQ 검색을 ν•  수 μžˆλŠ” 
포털을 κ΅¬μΆ•ν•˜μ—¬ 고객 λ§Œμ‘±λ„ ν–₯상과 κ³ κ°μ§€μ›νŒ€ 업무 νš¨μœ¨μ„± μ¦λŒ€"

3단계: Epic λΆ„ν•΄

  • Epic을 μ—¬λŸ¬ 개의 Story둜 λ‚˜λˆ„κΈ°
  • 각 Storyκ°€ λ…λ¦½μ μœΌλ‘œ κ°€μΉ˜λ₯Ό μ œκ³΅ν•  수 μžˆλŠ”μ§€ 확인

2️⃣ Story 생성 κ³Όμ •

1단계: μ‚¬μš©μž 페λ₯΄μ†Œλ‚˜ μ •μ˜

  • λˆ„κ°€ 이 κΈ°λŠ₯을 μ‚¬μš©ν•  것인가?
  • μ‚¬μš©μžμ˜ λ‹ˆμ¦ˆμ™€ μ»¨ν…μŠ€νŠΈλŠ” 무엇인가?

2단계: User Story μž‘μ„±

 
제λͺ©: [μ‚¬μš©μž κ΄€μ μ˜ κΈ°λŠ₯ μ„€λͺ…]
μ„€λͺ…:
As a [μ‚¬μš©μž μœ ν˜•]
I want [μ›ν•˜λŠ” κΈ°λŠ₯]
So that [λ‹¬μ„±ν•˜κ³ μž ν•˜λŠ” λͺ©ν‘œ/이유]

Acceptance Criteria (인수 κΈ°μ€€):
- Given [μ „μ œ 쑰건]
- When [μ‚¬μš©μž 행동]  
- Then [κΈ°λŒ€ κ²°κ³Ό]

μ˜ˆμ‹œ:
제λͺ©: "μ£Όλ¬Έ λ‚΄μ—­ 쑰회 κΈ°λŠ₯"
As a 고객
I want λ‚΄ μ£Όλ¬Έ 내역을 μ˜¨λΌμΈμ—μ„œ μ‘°νšŒν•˜κ³  μ‹Άλ‹€
So that μ–Έμ œλ“ μ§€ 배솑 μƒνƒœμ™€ μ£Όλ¬Έ 정보λ₯Ό 확인할 수 μžˆλ‹€

Acceptance Criteria:
- Given λ‘œκ·ΈμΈν•œ 고객이
- When λ§ˆμ΄νŽ˜μ΄μ§€μ—μ„œ 'μ£Όλ¬Έλ‚΄μ—­'을 ν΄λ¦­ν•˜λ©΄
- Then 졜근 6κ°œμ›”κ°„μ˜ μ£Όλ¬Έ λͺ©λ‘μ΄ ν‘œμ‹œλœλ‹€

3단계: Story Points μΆ”μ •

  • μƒλŒ€μ  λ³΅μž‘λ„μ™€ λ…Έλ ₯ μΆ”μ •
  • νŒ€κ³Ό ν•¨κ»˜ ν”Œλž˜λ‹ 포컀 λ“±μœΌλ‘œ ν•©μ˜

3️⃣ Task 생성 κ³Όμ •

1단계: Story 뢄석

  • Storyλ₯Ό 기술적으둜 μ–΄λ–»κ²Œ κ΅¬ν˜„ν• μ§€ 뢄석
  • ν•„μš”ν•œ μž‘μ—…λ“€μ„ 식별

2단계: ꡬ체적인 Task μ •μ˜

 
제λͺ©: [ꡬ체적이고 μ‹€ν–‰ κ°€λŠ₯ν•œ μž‘μ—…λͺ…]
μ„€λͺ…:
- μˆ˜ν–‰ν•΄μ•Ό ν•  ꡬ체적인 μž‘μ—…
- μ™„λ£Œ κΈ°μ€€ (Definition of Done)
- ν•„μš”ν•œ λ¦¬μ†ŒμŠ€λ‚˜ μ˜μ‘΄μ„±

μ˜ˆμ‹œ:
제λͺ©: "μ£Όλ¬Έ 쑰회 API μ—”λ“œν¬μΈνŠΈ 개발"
μ„€λͺ…:
- GET /api/orders/{userId} μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„
- νŽ˜μ΄μ§•κ³Ό 필터링 κΈ°λŠ₯ 포함
- λ‹¨μœ„ ν…ŒμŠ€νŠΈ μž‘μ„± (컀버리지 90% 이상)
- API λ¬Έμ„œ μ—…λ°μ΄νŠΈ

μ™„λ£Œ κΈ°μ€€:
- APIκ°€ μ •μƒμ μœΌλ‘œ μ£Όλ¬Έ 데이터λ₯Ό λ°˜ν™˜
- λͺ¨λ“  ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€ 톡과
- μ½”λ“œ 리뷰 μ™„λ£Œ

3단계: μ‹œκ°„ μΆ”μ •

  • μ‹€μ œ μž‘μ—… μ‹œκ°„ μΆ”μ • (μ‹œκ°„ λ‹¨μœ„)
  • 버퍼 μ‹œκ°„ κ³ λ €

🎯 베슀트 ν”„λž™ν‹°μŠ€

βœ… Epic 생성 μ‹œ

  • SMART 원칙 적용: Specific, Measurable, Achievable, Relevant, Time-bound
  • λΉ„μ¦ˆλ‹ˆμŠ€ κ°€μΉ˜ λͺ…ν™•ν™”: μ™œ 이 Epic이 μ€‘μš”ν•œμ§€ μ„€λͺ…
  • μ μ ˆν•œ 크기: λ„ˆλ¬΄ 크지도 μž‘μ§€λ„ μ•Šκ²Œ (보톡 3-6κ°œμ›” λΆ„λŸ‰)

βœ… Story 생성 μ‹œ

  • INVEST 원칙: Independent, Negotiable, Valuable, Estimable, Small, Testable
  • μ‚¬μš©μž 쀑심: 기술적 μ„ΈλΆ€μ‚¬ν•­λ³΄λ‹€λŠ” μ‚¬μš©μž κ°€μΉ˜μ— 집쀑
  • λͺ…ν™•ν•œ 인수 κΈ°μ€€: Given-When-Then ν˜•μ‹ ν™œμš©

βœ… Task 생성 μ‹œ

  • μ‹€ν–‰ κ°€λŠ₯ν•œ 크기: 1-3일 λ‚΄ μ™„λ£Œ κ°€λŠ₯ν•œ λ‹¨μœ„
  • λͺ…ν™•ν•œ μ™„λ£Œ κΈ°μ€€: 무엇을 ν•΄μ•Ό μ™„λ£ŒμΈμ§€ ꡬ체적으둜 λͺ…μ‹œ
  • μ˜μ‘΄μ„± 관리: λ‹€λ₯Έ μž‘μ—…κ³Όμ˜ μˆœμ„œλ‚˜ μ˜μ‘΄κ΄€κ³„ ν‘œμ‹œ

πŸ”„ ꢌμž₯ μ›Œν¬ν”Œλ‘œμš°

 
1. λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­ 뢄석
   ↓
2. Epic 생성 (큰 κ·Έλ¦Ό)
   ↓  
3. Epic을 Story둜 λΆ„ν•΄ (μ‚¬μš©μž κ°€μΉ˜ λ‹¨μœ„)
   ↓
4. Storyλ₯Ό Task둜 λΆ„ν•΄ (κ΅¬ν˜„ λ‹¨μœ„)
   ↓
5. λ°±λ‘œκ·Έμ— μš°μ„ μˆœμœ„ μ„€μ •
   ↓
6. μŠ€ν”„λ¦°νŠΈ κ³„νšμ—μ„œ Story/Task 선택
   ↓
7. 개발 μ§„ν–‰ 및 μƒνƒœ μ—…λ°μ΄νŠΈ

이런 체계적인 μ ‘κ·Ό 방식을 톡해 ν”„λ‘œμ νŠΈμ˜ 전체적인 μ§„ν–‰ 상황을 λͺ…ν™•νžˆ νŒŒμ•…ν•˜κ³ , νŒ€μ›λ“€κ³Ό μ΄ν•΄κ΄€κ³„μžλ“€μ΄ μ‰½κ²Œ 이해할 수 μžˆλŠ” 백둜그λ₯Ό ꡬ성할 수 μžˆμŠ΅λ‹ˆλ‹€.