κΈ°νμκ° Agile μ 곡λΆνλ€λ 건 μ μ μ€ν 리μ λν μ κ·Όμ΄ μλκΉλΌκ³ μκ°ν΄λ³Έλ€.
λμλ₯Ό 보λλΌκ³ Agile μ ν λΆλΆμΌλ‘ μ μ μ€ν 리λ§μ λ€λ£¬ μ±
λ€μ΄ λ§μ΄ μλ€.
νλ‘μ νΈμ λ¨μΆμΈ λ§νΌ μ€μνμ§λ§ λ€λ£¨λ κ²μ κ·Έλ€μ§ μ½μ§ μμ λΆλΆμ΄λ€.
μ¬μ μ§μμΌλ‘ Agile μ λν μ΄ν΄κ° νμνλ€.
μλ‘ μ μμ
λμΆ©... λΉ λ₯΄κ² κ°λ°ν΄μ κ³ κ°μκ² μ λ¬νλ κ°λ° λ°©μμ΄λ€.
κ·ΈλΌ μ΄λ»κ² λΉ λ₯΄κ² κ°λ°μ ν μ μλκ°?
1. κ°λ°ν λ΄μ©μ μκ³ μμ μ‘°κ°μΌλ‘ μͺΌκ°€ μ μμ΄μΌ νκ³ .
2. μκ² μͺΌκ° μ‘°κ°μ λ
립μ μΌλ‘ λμν μ μμ΄μΌ νλ€.
μ¬κΈ°μ ν¬μΈνΈ!
- λ κ°μ λ¬Έμ₯μ μμ±νμ λΏμΈλ°... λ§μ°νλ€. μ΄λ»κ² μμ±νλΌκ³ ??
- μ μ μ€ν 리λ₯Ό μμ±νλ λ°©λ²λ€μ΄ λμ¨ μ΄μ μΌ κ²μ΄λ€.
- As a, I want, So that κ·Έλ¦¬κ³ Given-When-Then
- λ³Έλ‘ μμ νμ λλ¦μ μ€λͺ
μ΄ κ°λ―Έλλ€.
3. μͺΌκ° μ‘°κ°μ λͺ
ννκ² κ°λ° νλͺ©(TASK)λ‘ μμΈν ν μ μμ΄μΌ νλ€.
4. μμΈνλ TASKλ κ²μ¦ κ°λ₯νλλ‘ μμ±λμ΄μΌ νλ€.
μ¬κΈ°μ ν¬μΈνΈ!
- Agile μ λ³λ ν
μ€ν°λ₯Ό λͺ
μνμ§ μλλ€. μ΄μ λ κ°λ° νλͺ©μ λͺ
ννκ² νμ¬ μ€λ₯λ₯Ό μ€μ΄λ κ²μ΄ κΈ°λ³Έμ΄κΈ° λλ¬Έμ΄λ€.
- μ€λ₯λ₯Ό μ λ°νκ³ μ½λμ μμ μ΄ μλ€λ©΄ Agile νλ‘μΈμ€ νλ΄λ΄κΈ°λ νλ€λ€.
5. λΉλ/λ°°ν¬ μλνκ° κ΅¬μΆλμ΄ μμ΄μΌ νλ€.
6. ν΅ν©λμ΄ λ°°ν¬λ μ°μΆλ¬Όμ κ²μ¦λμ΄ κ³ κ°μκ² λ°°ν¬λλ€.
μ΄λ κ² λΉ λ₯Έ μ£ΌκΈ°λ‘ κ°λ°μ ν μ μκ²λκ³ .. μ΄λ₯Ό μν΄ μ²« λ¨μΆμΈ μ μ μ€ν λ¦¬κ° μ€μνλ€.
λ³Έλ‘ μ μ§νν
μ μ μ€ν 리λ 보νΈμ μΌλ‘ ν¬κΈ°μ λ°λΌ λͺ μΉμ λΆμ¬νλ€.
Theme > Epic > User story > Task
κ°λ¨νκ² μ§μ΄λ³Έ μ£Όκ΄μ μ€λͺ
- Theme (ν
λ§) : 맑μ μλΉμ€, μ νμμ ν° λ©μ΄λ¦¬λ‘ λ³Ό μ μλ λΆλΆ (μ> μ΄κΈ° νλ©΄, ν νλ©΄ λ±λ±)
- Epic (μν½) : ν
λ§λ₯Ό ꡬμ±νλ ν° κΈ°λ₯μ λ¨μ (μ> λ‘κ·ΈμΈ κ΄λ ¨)
- User Story (μ μ μ€ν 리) : μν½μ μν©μ΄λ λ°©λ²λ± κΈ°μ€μ μν μ¬μ©μμ ν κ°μ§ μ‘μ
νμ (μ> κ΅¬κΈ κ³μ μΌλ‘ λ‘κ·ΈμΈν μ μλ€.)
- Task (νμ€ν¬) : μ μ μ€ν 리λ₯Ό ꡬννκΈ° μν μμΈν κ°λ° νλͺ© (μ> κ΅¬κΈ μΈμ¦, μ
λ ₯ νλ κ΅¬μ± λ±)
μ λͺ©μμ μΈκΈν Give-When-Then μ μ μ μ€ν 리λ₯Ό μμ±νλ λ°©λ² μ€ 1κ°μ΄λ€.
νμκ° μμ±ν Scrum νλ‘μΈμ€μμλ μ 4κ°μ§ νλͺ©μ λͺ¨λ λ€λ£¨κ³ μκ³ κΈ°μ€μ΄λ μ€λͺ
μ κ°μΈμ μΌλ‘ μμ±λμ΄ μμΌλ μν€λ λμμμ μ΄λ‘ κ³Ό κ°λ
μ λ°°μ°λ κ²μ΄ μ’λ€κ³ μκ°νλ€.
μ μ μ€ν 리λ μΉ΄λ νμ μΌλ‘ ꡬμ±λλ€κ³ λ°°μ°κ² λλ€.
μλ©΄μλ μ μ μ€ν 리λ₯Ό As a, I want, So that
λ·λ©΄μλ Given-When-Then μΌλ‘ μμΈνκ² μμ±νλλ‘ νλ€.
μλ Katalon μ¬μ΄νΈμ μμ λ‘ μ€λͺ
(μ΄λ―Έμ§ λ¨Όμ νμΈ)
- ν
μ€νΈ λΆμΌμμ μ¬μ©λ μλ‘... μ ν¨ν μ€ν 리μ μ ν¨νμ§ μμ μ€ν 리λ₯Ό ꡬλΆνμ¬ μμ±λ¨.
- As a, I want, So that, Given-When-Then μ΄ λͺ¨λ ν¬ν¨λ¨.
Feature : λ‘κ·ΈμΈ κΈ°λ₯
=> μν½κ³Όλ κ°λ
μ΄ λ€λ₯΄μ§λ§ μ μ μ€ν 리μ κΈ°λ₯μ ν¨μΆμ μΌλ‘ νννμ¬ μ¬λ¬ κ°λ₯Ό λ¬Άμ μ μλ κ°λ
μ΄λ€.
User Story : μ¬μ©μλ Cura μμ€ν
μ λ‘κ·ΈμΈνμ¬ μ½μμ μ‘μ μ μμ΄μΌ νλ€.
=> μ€μ μ¬μ©μμ νμλ₯Ό μ μν μ μ μ€ν λ¦¬λ‘ λκ°, 무μμ, μ νλκ°λ₯Ό μμ±νλ€.
=> μ¬κΈ°μ As a, I want, So that μ΄ μ¬μ©λλ€.
Given : Cura μμ€ν
ννμ΄μ§λ‘ μ΄λνμ¬
=> μ¬μ μν©μ λͺ
μνλ€.
When : μ½μ λ²νΌμ μ ννκ³
=> μ¬μ©μ μ‘μ
μ λͺ
μνλ€.
And : μ΄λ¦κ³Ό λΉλ°λ²νΈλ₯Ό λ£κ³
And : λ‘κ·ΈμΈ λ²νΌμ λλ₯΄λ©΄
=> μΆκ°μ μΈ μ¬μ©μ μ‘μ
μ λͺ
μνλ€.
=> When μ΄λ Then λ€μμ μΆκ° μ‘μ
μ λͺ
μν μ μλ€.
Then : λ‘κ·ΈμΈμ΄ μλ£λμ΄μΌ νλ€.
=> μ¬μ©μ μ‘μ
μ λν κ²°κ³Ό, νΌλλ°±μ λͺ
μνλ€.
=> μ€μ! Should λ¨μ΄λ‘ μμ±νλ€λ κ²!!
μ> BDD ν μ€νΈ μλνμ μ μ©λ λ΄μ© (μΆμ² : docs.katalon.com/katalon-studio/docs/cucumber-features-file.html#add-feature-files)
νμλ "As a, I want, So that", "Given-When-Then" μ μ’ λ μ½κ² νννκ³ μΆλ€.
- Screen (Given) : μ΄λ ν μν©(νλ©΄), 쑰건μμ
- Action (When) : μ΄λ ν νλμ νλ©΄
- Feedback (Then) : μ΄λ ν κ²°κ³Όκ° λνλμΌ νλ€.
λ€λ₯΄κ² 보μ΄μ§λ§ μ¬μ€ μλ―Έκ° κ°λ€. λ°λΌμ μ΄ν΄νκΈ° λ μ½λ€κ³ μκ°ν... μ΄μ κΈμ μΈκΈλ λ΄μ© 볡기(μꡬμ¬ν μμ±)
νλ©΄ νλμμ μ 3κ°μ§ 쑰건μ λ§μΆ° κΈ°λ₯μ λͺ
μΈνλ©΄ κ·Έκ²μ΄ λ°λ‘ μ μ μ€ν λ¦¬κ° λ μ μλ€.
보ν΅μ κΈ°λ₯μ
- μ¬μ©μ μ‘μ
μ΄ νμν λ²νΌμμ μ μλκ±°λ
- λλ νμ΄μ§ λ‘λ©μ΄λ 쑰건μ λ°λ₯Έ μμ€ν
μ μν λμμμ μ μλ μ μλ€.
μ΄λ΄ λ λ₯λνκ³Ό μλνμ ꡬλΆν΄μ μμ±μ νλ©΄ μ’λ€κ³ μκ°νλ€.
- μ¬μ©μλ ν μ μλ€.
- μμ€ν
μ λμ΄μΌ νλ€.
λ΄κ° λ³Έ μΌλΆ κΈ°νμλ€μ λ³ΈμΈλ€μ΄ μ°½μμ μΈ μ 무λ₯Ό νκ³ μλ€λ μ°©κ°μ λΉ μ Έμκ³ μ€μ μ΄μ νλ©΄ 그리기μ λΉ μ Έ μμλ€.
κ·Έλμ κ·Έλ€μκ² λ§κ² μ€λͺ μ μν΄ μμ κ°μ΄ μλ΄ν΄μ£Όμλ€.
λν μ μ μ€ν 리λΌλ λ§ λμ μꡬμ¬ν μμ±νλ κ²μ΄λΌ μλ €μ£Όμλ€.
"μ¬λ¬λΆμ νλ©΄μ€κ³μ μμ± μ μꡬμ¬νμ λͺ νν νλ μμ μ νκ³ κ³μλλ€." λΌκ³ .
μ μ μ€ν 리λ μλ리μ€λ§ μμ±λμλ€κ³ νμ¬ μμ±λ κ²μ΄ μλλ€.
μ€μ λ·λ©΄μ μμ±λμ΄μΌ νλ TASK κ° μ€μνλ€.
νμλ TASK λ₯Ό λ κ°μ§λ‘ λΆλ₯νλ€.
- Conversation : κ°λ°μκ° μμ±νλ μ€μ κ°λ° TASK (μν©κ³Ό νμ, κ²°κ³Όκ° λͺ
μλμ΄μΌ νλ€.)
- Confirmation : νμ§λ΄λΉμκ° μμ±νλ μ μ μ€ν 리λ₯Ό λ§μ‘±νλ 쑰건 (μν©+νμμ λν μ¬λ°λ₯Έ κ²°κ³Όμ μ¬λ°λ₯΄μ§ μμ κ²°κ³Όλ₯Ό λͺ
μν΄μΌ νλ€.)
μ μ μ€ν 리μ ꡬμ±μ 보면
- μ¬μ©μ μꡬμ¬ν : μΌλ°μ μΈ μμΈ μꡬμ¬νμ μμ±
- μμ€ν μꡬμ¬ν : μμ€ν λλ κ΄λ ¨λ λ¬Έμλ€
- Conversaton : UI μ€κ³μλ₯Ό λ³΄κ³ κ°λ°μκ° μ μνλ κ°λ° νμ€ν¬
- Confirmation : UI μ€κ³μλ₯Ό λ³΄κ³ νμ§ λ΄λΉμκ° μμ±νλ Valid νλͺ©
κ·ΈλΌ μ μ μ μ€ν 리 ꡬμ±μ μν΄ λ² μ΄μ€κ° λλ νλ©΄μ€κ³μλ μλμ κ°λ€.
μμ±ν λλΆν° λ€μ νλ‘μΈμ€κΉμ§ μΌλν μ μμ΄μΌ νλ€.
κ²°λ‘ μ μΈμ λ
λ κ·Έλ λ€.
μ΄λ‘ μ μ΄λ‘ μ΄κ³ μ μμ μ μμ΄λ€.
μ°λ¦¬ μ‘°μ§κ³Ό λμ λ§μ§ μλ€κ³ μκ°μ νλ€.
νμ§λ§ μ΄λ‘ μ μκ³ μ μμ μ΄ν΄ν΄μΌμ§ λͺ©μ μ μ΄κΈλμ§ μλλ‘ μ¬μ©ν μ μμ κ²μ΄κ³ λ³μ§λμ§ μμ κ²μ΄λ€.
λΉ λ₯Έ κ°λ° μ£ΌκΈ°, λ°°ν¬λ₯Ό μν΄μλ λͺ
ννκ² κ°λ°ν μ μλ μμ λ°±λ‘κ·Έκ° νμνλ€. (Minimum Viable Product)
κ·Έκ²μ μ μ νλ κ²μ΄ νλ‘μ νΈ μ€λ λλ κΈ°ν λ΄λΉμμ μν μ΄ λ κ²μ΄κ³ .
μν¬νΈν΄μ κ°λ°μ΄ μννκ² μ§νλ μ μλλ‘ νλ κ²μ΄ λ°λ‘ νμ΄λ€.
λ νλ μ λμ or μν΄μλ... μλλ€.
μ€ν¬λΌ λ§μ€ν°κ° μ΄λ₯Ό μΌλ§λ μ‘°νλ‘κ² μ΄λμ΄ λΌ μ μλκ°μ λ°λΌ μ΄μμ μΈ Agile μ 첫 λ¨μΆλ₯Ό κΏΈ μ μμ κ²μ΄λ€.
μ μ μ€ν 리 μΉ΄λ μμ± μ
1. μ μ μ€ν 리 (As a I want So that)
- μλ©΄ : As a OOO, I want OOO, So that OOOO
- λ·λ©΄ : Given - When - Then
2. μ μ μ€ν 리 (feat, μλλΉ λ₯Έ & Ron jeffries's Three Cs)
- μλ©΄ : Screen - Action - Feedback
- λ·λ©΄ : Conversation, Confirmation
λκΈ