์ข์ ์ ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ์ข์ ์ ์ ์คํ ๋ฆฌ์ ํน์ฑ์ด ๋ฌด์์ธ์ง ์์์ผ ํ๋ค. ์ ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑ์๋ "Hard core Rules" ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ข์ ์ ์ ์คํ ๋ฆฌ๋ ์๋ 6๊ฐ์ง ํน์ฑ์ ๋ง์กฑํ๋ค๋ผ๊ณ ํ๋ค.
- (I)ndependent - ๋ ๋ฆฝ์ ์ด๋ค
- (N)egotiable – ํ์ ๊ฐ๋ฅํ๋ค
- (V)aluable – ์ฌ์ฉ์ ๋ฐ ๊ณ ๊ฐ์๊ฒ ๊ฐ์น๊ฐ ์๋ค
- (E)stimable – ์ถ์ ๊ฐ๋ฅํ๋ค
- (S)mall - ์๋ค
- (T)estable – ํ ์คํธ ๊ฐ๋ฅํ๋ค
์ฐธ๊ณ ,
์ ์ ์คํ ๋ฆฌ - Facts!!
- ์ ์ ์คํ ๋ฆฌ๋ "Specific task(ํน์ ์์ )" ๊ฐ ์๋๋ฉฐ ์ ํ์ ๋ชจ๋ ๋ ๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ์ด๋ค.
- ์ ์ ์คํ ๋ฆฌ๋ ๊ฐ๋ฐ์์๊ฒ ๊ธฐ๋ฅ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์๋ ค์ฃผ์ง ์๋๋ค.
- ์ ์์ผ ๊ฐ๋ฐ์ ๊ฐ๋ฐ ์ค์ ๋ณ๊ฒฝ์ ํ์ํ๋ฏ๋ก ๊ฐ๋ฐ์ "Final word" ๊ฐ ์๋๋ค.
- ์ ์ ์คํ ๋ฆฌ๋ ๋ ๋ฆฝ์ ์ผ ํ์๊ฐ ์์ผ๋ฉฐ ํ ์คํ๋ฆฐํธ์์ ์คํ ๊ฐ๋ฅํ ๊ฒฝ์ฐ 2 ๊ฐ ์ด์์ ๊ธฐ๋ฅ์ ์กฐํฉํ ์ ์๋ค.
- ์ ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ ์ํ ํน์ "Format(ํ์)" ์ด๋ "Rules(๊ท์น)" ์ด ์๋ค.
- ์ ์ ์คํ ๋ฆฌ๊ฐ ๊ณ ๊ฐ๊ณผ ๊ณต์ ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
์ ์ ์คํ ๋ฆฌ - Check List
- ๊ฐ๋ฅํ ํ ์งง์์ผ ํ๋ค.
- ๋จ์ํ๊ณ "Customer(๊ณ ๊ฐ)" ๋๋ "End user(์ต์ข ์ฌ์ฉ์)" ๊ฐ ์ฝ๊ฒ ์ดํดํ ์ ํ๋ค.
- ์ ์ ์คํ ๋ฆฌ๋ "User(์ฌ์ฉ์)" ๊ด์ ์์ ์์ฑ๋์ด์ผ ํ๋ค.
- ์ ์ ์คํ ๋ฆฌ์ "Value benefit(๊ฐ์น ์ด์ )" ์ด ๋ช ํํด์ผ ํ๋ค.
- ์ ์ ์คํ ๋ฆฌ๊ฐ ํฐ ๊ฒฝ์ฐ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌ์์ผ์ผ ํ๋ค.
- ํญ์ "Acceptance criteria(์ธ์ ๊ธฐ์ค)" ๋ฅผ ๋ฐ๋ผ์ผ ํ๋ค.
Independent - ๋ ๋ฆฝ์ ์ด๋ค
์คํ ๋ฆฌ๋ ๋ ๋ฆฝ์ ์ธ ๊ฒฝ์ฐ ์์ ํ๊ธฐ ๊ฐ์ฅ ์ฝ๋ค. ์ฆ, ๊ฐ๋ ์ด ๊ฒน์น์ง ์๋๋ก ํ๊ณ ์ด๋ค ์์๋ก๋ ์ผ์ ์ ์ก๊ณ ๊ตฌํํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋ค. ํญ์ ์ด๊ฒ์ ๋ฌ์ฑํ ์๋ ์๋ค. ๋๋๋ก ์ฐ๋ฆฌ๋ "์ฒซ ๋ฒ์งธ ๋ณด๊ณ ์์ ๋ํด 3 ์ , ๋๋จธ์ง ๊ฐ๊ฐ์ ๋ํด 1 ์ "๊ณผ ๊ฐ์ ๋ง์ ํ ์ ์๋ค.
์ ์ ์คํ ๋ฆฌ ๊ฐ์ ์์กด์ฑ์ ์ ๊ฑฐํ์ฌ ๋ ๋ฆฝ์ฑ์ ์ ์งํ๋ค.
๋ ๋ฆฝ์ ์ธ ์คํ ๋ฆฌ๋ ํ๋ก์ ํธ์ ๋น์ฆ๋์ค ๋ฐ ๊ธฐ์ ์ธก๋ฉด ๋ชจ๋์ ๋์์ด ๋๋ค๊ณ ํ๋ค.
- ์ฌ์ ์ ๊ด์ : ๊ธฐ์ ์ ์ข ์๋์ง ์๊ณ ์ฌ์ ๋ชฉํ์ ์ด์ ์ ๋ง์ถ ์ ์์.
- ๊ธฐ์ ์ ๊ด์ : MVP(์ต์ ๊ฐ์น ์ ํ)์ ๊ตฌํ ์คํ ๋ฐ ์ข ์์ ์ต์ํํ๋ ์ค๊ณ ๊ฐ๋ฅ
- ์์กด์ฑ ์ข ๋ฅ : Overlap Dependency, Order Dependency, Containment Dependency
Overlap Dependency : ์ค๋ณต ์์กด์ฑ ์ ๊ฑฐ |
๊ธฐ์กด ์คํ ๋ฆฌ => “User sends and receives messages” and “User sends and replies to messages.” ์์กด์ฑ ์ ๊ฑฐ ์คํ ๋ฆฌ => User sends [new] message => User receives message => User replies to message |
Order Dependency : ์ฃผ๋ฌธ(์์) ์์กด์ฑ์ ๋ฌธ์ |
“this story must be implemented before that one.” ์ฐ์ ์์ ๊ฒฐ์ ๋ฐ ๊ณํ ์๋ฆฝ์ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํฌ ์ ์๊ธฐ ๋๋ฌธ์ ๊ตฌํ์ ์ ๋ฏธ๋ฆฌ ์ฒดํฌํด์ผ ํ๋ค. ์ => ์ฌ์ฉ์๊ฐ ์ด๋ฉ์ผ์ ๋ณด๋ด๊ธฐ ์ ์ ๊ณ์ ์ด ํ์ํ ์ ์์ต๋๋ค. => ๋ฐ๋ผ์ ๋จผ์ ๊ณ์ ๊ด๋ฆฌ ์คํ ๋ฆฌ๋ฅผ ๊ตฌํํด์ผํ๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ("๊ด๋ฆฌ์๊ฐ ๊ณ์ ์์ฑ" ๊ณผ ๊ฐ์ ์คํ ๋ฆฌ) ํด๊ฒฐ => ์ด๊ธฐ ๊ณ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ("ํ๋ ์ฝ๋ฉ" or "์ด๊ธฐ ๊ณ์ ์ ๊ณต") |
Containment Dependency : ํฌํจ์ ์ํ ์์กด์ฑ ๋ฌธ์ |
์ ์ ์คํ ๋ฆฌ๊ฐ ์ปค์ง๋ฉด ์ํฝ์ผ๋ก ๋ถ๋ฅํ๊ณ ํ์์ ์ ์ ์คํ ๋ฆฌ๊ฐ ์ฌ๋ฌ๊ฐ ์์ฑ๋ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์คํ ๋ฆฌ๊ฐ ๋ง์์ง๋ฉด์ ํ ์คํ๋ฆฐํธ ์ฃผ๊ธฐ(Iteration) ์์์ ๊ฐ๋ฐ์ด ์ด๋ ค์ธ ์ ์๋ค. ๋ฐ๋ก, ํ๋์์ ํ์๋๋ ๊ณ์ธต๊ตฌ์กฐ๊ฐ ๋ณต์กํ๊ณ ๋ง์ ์๋ก ์ฐ์ ์์ ์ค์ ๋ฐ ์ผ์ ์๋ฆฝ์ด ์ด๋ ต๋ค. ์ด ๊ฒฝ์ฐ ์คํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ๊ธฐ์ค์ ์ํด ๋ถ๋ฆฌํ์ฌ ์์กด์ฑ์ ๊ฐ๋ ์คํ ๋ฆฌ๋ผ๋ฆฌ ํฉ์น๋ ์์ ์ ํจ์ผ๋ก์จ ํด๊ฒฐํ ์ ์๋ค. ์๋ ๊ฐ๋ ์ผ๋ก ์ฌ ์กฐํฉํ๊ธฐ๋ฅผ ๊ถ์ฅํ๋ค. - Affinity diagram - pivot |
Negotiable - ํ์๊ฐ๋ฅํ๋ค
์ข์ ์คํ ๋ฆฌ๋ ํ์ ๊ฐ๋ฅํ๋ค. ๊ธฐ๋ฅ์ ๋ํ ๋ช ์์ ์ธ ๊ณ์ฝ("contract")์ด ์๋๋ค. ์คํ๋ ค ์ธ๋ถ ์ฌํญ์ ๊ฐ๋ฐ ์ค์ ๊ณ ๊ฐ๊ณผ ๊ฐ๋ฐํ์ด ๊ณต๋์ผ๋ก ์์ฑํ๋ค. ์ข์ ์คํ ๋ฆฌ๋ ์ธ๋ถ ์ฌํญ์ด ์๋ ๋ณธ์ง์ ํฌ์ฐฉํ๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์นด๋๋ ๋ฉ๋ชจ(์ฃผ์), ํ ์คํธ ์์ด๋์ด ๋ฑ์ ์ป์ ์ ์์ง๋ง ์คํ ๋ฆฌ์ ์ฐ์ ์์๋ฅผ ์ง์ ํ๊ฑฐ๋ ์์ฝํ๋ ๋ฐ ์ด๋ฌํ ์ ๋ณด๊ฐ ํ์ํ์ง ์๋ค.
์ฃผ์ ํฌ์ธํธ
- The importance of collaboration (ํ์
์ ์ค์์ฑ)
- Evolutionary design (ํ์ ์ ์ธ ์ค๊ณ)
- Response to change (ํผ๋๋ฐฑ)
"Card" ๋ ์คํ ๋ฆฌ์ ๋ํ ์งง์ ์ค๋ช
์ผ ๋ฟ์ด๋ค.
- ์ธ๋ถ์ฌํญ์ "Converation(๋ํ)" ๋จ๊ณ์์ ์์ฑํ๋ค.
- ๊ณ ๊ฐ๊ณผ ๊ฐ๋ฐํ์ ๋ํ๋ฅผ ํตํด ๊ธฐ๋ฅ์ ๋ํด ํ์ํ ์ ์๋ค.
"Card" ์ ๋๋ฌด ์์ธํ ์คํ ๋ฆฌ ๋ด์ฉ์ ๊ณ ๊ฐ๊ณผ์ ๋ํ๋ฅผ ์ ํํ ์ ์๋ค.
- ํ ๋ฌธ์ฅ์ ํ ๊ฐ์ง ๋ด์ฉ์ผ๋ก๋ง ์์ฑํด์ผ ํ๋ค. ('and', 'or' ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค)
- ์คํ ๋ฆฌ์ ๊ธธ์ด๋ฅผ ์ ์ ํ๊ฒ ์กฐ์ ํด์ผ ํ๋ค. (์งง๊ฒ)
"Card" ๋ ์์ฑ๋ ์๊ตฌ์ฌํญ์ด ์๋๋ค.
- ๋ํ๋ฅผ ์ด๋์ด๋ด๊ธฐ ์ํ ๋จ์์ ์ญํ ์ ํ๋ค.
- ๋ํ๋ฅผ ํตํด ์์ฃผ ์ค์ํ ์ธ๋ถ์ฌํญ์ ์ฃผ์์ผ๋ก ์ถ๊ฐํ๋ค. (Conversation ์์ฑ)
Collaboraion : ๊ฐ๋ฐ์์ ํ์ ์ ํ์์ ์ด๋ค. |
๋
ธ๋ฒจ์ ์์์ ์ธ Ronald Coase, ๊ฐ์ธ๊ณผ ์ผํ๋ ๊ฒ์ ํ์ฌ์์ ์ผํ๋ ๊ฒ๋ณด๋ค ๋ง์ ๋น์ฉ์ด ๋ค์ด๊ฐ๋ค. => ํ์ฌ๋ ๋ ๋์ ์ ๋ขฐ๋ฅผ ๊ฐ์ง์ ์๋ ์์ญ์ ์ ๊ณตํ์ฌ ๋ ์ ์ ๋น์ฉ์ด ๋ฐ์ํ๋ค. ๊ฐ๋ฐํ์ ์๋ก๊ฐ์ ์ ๋ขฐ๋ฅผ ๋ฐํ์ผ๋ก ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋๋ฉฐ, "Negotiable" ์ ์ด๋ฌํ ์ ๋ขฐ๋ฅผ ๋ฐํ์ผ๋ก ํ๋ค. => work together. (ํจ๊ป ์ผํ๊ณ ) => share ideas. (์์ด๋์ด๋ฅผ ๊ณต์ ํ๋ฉฐ) => jointly own the result. (๊ฒฐ๊ณผ๋ฅผ ๊ณต๋์ผ๋ก ์์ ํ๋ค.) |
Evolutionary Design : ํ์์ ํตํด ๋ ๊ณ ๊ธํํ๋ก ๋ฐ์ ์ํค ์ ์๋ค. (from basic to advanced form) |
์์ ์์ค์ ์ ์ ์คํ ๋ฆฌ๋ ์์คํ
์ ์ฌ์ฉํ๋ ํ์์ ๊ด์ ์์ ๊ตฌํ(๊ฐ๋ฐ)๋ฐฉ์์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ํํ์ง ์๊ณ ๊ธฐ๋ฅ์ ์ ์ํ๋ค. => specify what, not how. (๋ฐฉ๋ฒ์ด ์๋ ๊ธฐ๋ฅ์ ์ ์ํ๋ค.) ์์ - ์จ๋ผ์ธ ์์ ์ฃผ๋ฌธ ์์คํ Card (์์ ์์ค ์ ์ ์คํ ๋ฆฌ) => ์ฃผ๋ฌธ์ฒ๋ฆฌ ์์คํ ("Fulfillment")์ ์ฑ ๊ณผ ์์์ฆ์ ์ ์กํ๋ค. Conversation (ํ์์ ํตํด ์์ธ ์์ฑ) => ์ฃผ๋ฌธ์ฒ๋ฆฌ ๋ด๋น์๋ ๋ณด๋ผ ๋ด์ฉ์ ํ์ธํ๊ณ ์ ๋ฐ์์ ์ ํ์ ๊บผ๋ด ์์์ฆ์ ์ฐ๊ณ , ํฌ์ฅํ๊ณ , ํจํค์ง๋ฅผ ๋ฐฐ๋ฌํํธ๋ก ์ฎ๊ธด๋ค. => ์์คํ (์ฐฝ๊ณ )๋ ์ด์ก ํต๋ก ๋๋ ๊ณ ๊ฐ๋ณ๋ก ๋ถ๋ฅ๋ ํฌ์ฅํ ํ๋ชฉ์ ์์ฑํ๋ค. => ์ ์ A๋ "๋ฐฐ์ก ๋ฆฌ์คํธ"๋ฅผ ํ์ธํ๊ณ ์ฐฝ๊ณ ์์ ์์ฒญ๋ ํ๋ชฉ์ ๊ฐ์ ธ์จ๋ค. => ์ ์ B๋ ๋ผ๋ฒจ๊ณผ ์์์ฆ์ ์ธ์ํ๊ณ ํฌ์ฅํ๋ค์ ๋ฐ์กํ ์์น์ ์ฎ๊ฒจ๋๋ค. => ํ๋ชฉ์ ํฌ์ฅ๋์ด ์ง์ ๋ (์ค๋งํธ)์ ๋ฐ์ ๋ณด๊ด๋๋ค. => ์ ๋ฐ์ ํ๋ชฉ์ ๋ผ๋ฒจํ์ธ ๊ธฐ๊ณ๋ก ๋ณด๋ธ๋ค. => ๋ผ๋ฒจํ์ธ ๊ธฐ๊ณ๋ ๋ฐฐ์ก์ ์ฒด๊ฐ ํฝ์ ํ ์ ์๋๋ก ์์๋ฅผ ๋ถ๋ฅํ๋ ๋ถ๋ฅํํธ๋ก ๋ณด๋ธ๋ค. |
Response to change : ์์ ์์ค ์๊ตฌ์ฌํญ์ ์ด์ |
"Negotiable Story"(ํ์ ๊ฐ๋ฅํ ์คํ ๋ฆฌ)๋ ๋ชจํธํ ์ํฉ์์ ๋์์ด ๋๋ค. ์ด๊ธฐ์ ์์ ์์ค์ผ๋ก ์์ฑํ์ฌ ๋ํ๋ฅผ ํตํด ์ธ๋ถ ์ฌํญ์ ์์ฑํ ์ ์๋ค. ์์ ์์ค ์คํ ๋ฆฌ(์๊ตฌ์ฌํญ)์ผ๋ก ์์ํ๋ฉด ํ์์ ๋ฐ๋ผ ์ธ๋ถ์ฌํญ์ผ๋ก ํ์ฅํ ์ ์๊ณ , ๋ ๋ฐฐ์ฐ๊ธฐ ์ํด ์ฌ์ง๋ฅผ ๋จ๊ฒจ๋๋ฉด ๋ชจ๋ ์๊ตฌ์ฌํญ์ ๊ท ํ์ ๋ง์ถ์ ์๋ ์๋ฃจ์ ์ผ๋ก ๋ ์ฝ๊ฒ ๋ฐ์ ํ ์ ์๋ค. By starting with stories at a high level, expanding details as necessary, and leaving room to adjust as we learn more, we can more easily evolve to a solution that balances all our needs. |
Valuable – ์ฌ์ฉ์์ ๊ณ ๊ฐ ํน์ ๊ตฌ๋งค์์๊ฒ ๊ฐ์น ์๋ค
์คํ ๋ฆฌ๋ ๊ฐ์น๊ฐ ์์ด์ผ ํ๋ค. ์ฐ๋ฆฌ๋ ๋๊ตฌ์๊ฒ๋ ๊ฐ์น๊ฐ ์์ด์ผ ํ๋ ๊ฒ์ด ์๋๋ผ ๊ณ ๊ฐ์๊ฒ ๊ฐ์น๊ฐ ์์ด์ผ ํ๋ค. ๊ฐ๋ฐ์๋(ํฉ๋ฒ์ ์ธ) ์ฐ๋ ค ์ฌํญ์ด ์์ ์ ์์ง๋ง ์ด๋ฌํ ์ฐ๋ ค๋ ๊ณ ๊ฐ์ด ์ด๋ฅผ ์ค์ํ๊ฒ ์ธ์ํ๊ฒ ๋ง๋๋ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ๋๋ค.
์ด๊ฒ์ ์คํ ๋ฆฌ๋ฅผ ๋ถํ ํ ๋ ํนํ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค. ์ ์ฒด ์คํ ๋ฆฌ๋ฅผ ๋คํธ์ํฌ ๊ณ์ธต, ์ง์์ฑ ๊ณ์ธต, ๋ ผ๋ฆฌ ๊ณ์ธต ๋ฐ ํ๋ ์ ํ ์ด์ ๊ณ์ธต๊ณผ ๊ฐ์ ๋ค์ค ๊ณ์ธต์ ์ผ์ดํฌ๋ผ๊ณ ํ๋ค. ์คํ ๋ฆฌ๋ฅผ ๋๋๋ฉด ๊ทธ ์ผ์ดํฌ์ ์ผ๋ถ๋ง ์ ๊ณตํ๋ค. ์ฐ๋ฆฌ๋ ๊ณ ๊ฐ์๊ฒ ์ ์ฒด ์ผ์ดํฌ์ ๋ณธ์ง์ ์ ๊ณตํ๊ณ ์ถ์ผ๋ฉฐ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ ์ด์ด๋ฅผ ์์ง์ผ๋ก ์๋ฅด๋ ๊ฒ์ด๋ค. ๊ฐ๋ฐ์๋ ์ข ์ข ํ ๋ฒ์ ํ๋์ ๋ ์ด์ด์์๋ง ์์ ํ๋ ค๋ ๊ฒฝํฅ์ด ์๋ค. ๊ทธ๋ฌ๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณ์ธต์์ ํ๋ ์ ํ ์ด์ ๊ณ์ธต์ด ์๋ ๊ฒฝ์ฐ ๊ณ ๊ฐ์๊ฒ ๊ฑฐ์ ๊ฐ์น๊ฐ ์์ต๋๋ค.
"์ด ํ๋ก์ ํธ์ ๊ฐ์น๋ ๋ฌด์์ ๋๊น?"
- ๋ช ํํ๊ฒ ๋๋ตํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๋ค์ํ ์ดํด๊ด๊ณ์๊ฐ ์ด๋ป๊ฒ ํํ์ ๋ฐ๊ณ ์๋์ง ์ ์ ์์ด์ผ ํ๋ค.
- ์ดํด๊ด๊ณ์ : ์ฌ์ฉ์, ๊ตฌ๋งค์, ๊ด๋ฆฌ์, ๊ฐ๋ฐ ์กฐ์ง, ์คํฐ์ ๋ฑ
๊ฐ๋ฐ์์๊ฒ๋ง ๊ฐ์น ์๋ ์คํ ๋ฆฌ๋ฅผ ํผํ๋ผ!
ex> ๋ฐ์ดํฐ ๊ด๋ฆฌ
- ๊ฐ๋ฐ์ ๊ด์ : ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ปค๋ฅ์ ํ์ ํตํด ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.
- ๊ณ ๊ฐ ๊ด์ : ์ฌ์ฉ์ ๋ผ์ด์ ์ค 5๊ฐ๋ก 50๋ช ๊น์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
ex> ๋ก๊ทธ ๊ด๋ฆฌ
- ๊ฐ๋ฐ์ ๊ด์ : ๋ชจ๋ ์๋ฌ ์ฒ๋ฆฌ ๋ฐ ๋ก๊ทธ ์์ฑ์ ๊ณตํต ํด๋์ค๋ฅผ ํตํด ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.
- ๊ณ ๊ฐ๊ด์ : ๋ชจ๋ ์๋ฌ๋ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ผ ํ๋ฉฐ, ์ผ๊ด๋ ํํ์ ๋ก๊ทธ๋ก ๊ธฐ๋ก๋์ด์ผ ํ๋ค.
๊ณ ๊ฐ์ด ์ง์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค.
- ๊ณ ๊ฐ : ์ดํด๊ด๊ณ์ ๋ชจ๋.
- ์ธํฐ๋ทฐ ๋๋ VOC ๋ฅผ ํตํด ์๊ตฌ์ฌํญ์ ์์งํ ์ ์๋ค.
What is Value? : ๊ณ ๊ฐ์๊ฒ ํ์ํ ๊ฐ์น๋ฅผ ์๊ฐํ๋ค. |
IRACIS means: - Increase Revenue. (์์ต ์ฆ๋) => ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ธฐ๋ฅ์ ๊ฐ์ ํ์ฌ ์ง๊ธ๋ณด๋ค ๋ ๋ง์ ๋น์ฉ์ ์ง๋ถํ๋๋ก ํจ. - Avoid Costs. (๋น์ฉ ์ ๊ฐ) => ์ฌ๋์ ๋์ฒด ๋๋ ์ค์ผ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋์ . (ex> ์ฝ์ผํฐ ์ง์ ํ๋ก๊ทธ๋จ) - Improve Service. (์๋น์ค ๊ฐ์ ) => ๊ธฐ๋ฅ์ด๋ ํ์ง์ ๊ฐ์ ํ์ฌ ๊ณ ๊ฐ์ ์ดํ์ ๋ฐฉ์งํ๋ค. (ex> skype ํตํ ํ์ง ๊ฐ์ ) others: - Meet Regulations (๊ท์ ์ค์) => ์ ๋ถ ๊ธฐ๊ด์ ๊ท์ ๋ ํน์ ๋๋ฉ์ธ์ ๋ฒ๊ท(์ํฉ)์ ์ํด ๋ฐ๋์ ํ์ํ ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ฐ ๊ณ ๊ฐ์๊ฒ ๊ธฐ๋ฅ ์ ์ (ex> ๋น๋๋ฉด ์๋ฃจ์ ) - Build Reputation (ํํ ๊ตฌ์ถ) => ์์ฅ์์ ์ฐ๋ฆฌ์ ๊ฐ์น๋ฅผ ๋์ด๊ธฐ ์ํด ์ํ๋๋ ์์ (ex> ๋ฌด๋ฃ ๋ฒ์ ์ ๊ณต) - Create Options (์ต์ ์์ฑ) => ๋ ๋ง์ ์ ์ฐ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ์ ๊ณต. (ex> ๊ณ ๊ฐ์ฌ ์์ฒญ DBMS ๋ก์ ๋ณ๊ฒฝ) - Generate Information (์ ๋ณด ์์ฑ) => ๊ณ ๊ฐ์ด ๋ ๋์ ๊ฒฐ์ ์ ํ ์ ์๋ ์ ๋ณด๋ฅผ ์ ๊ณต (ex> A-B ํ ์คํธ ๊ธฐ๋ฅ) - Build Team (ํ์ ๊ตฌ์ฑ) => ํ์ ๊ตฌ์ฑ์ด๋ ๋ฐ์ ์ ์ํด ํ์ํ ๊ธฐ๋ฅ ๋๋ฌธ์ ์ ํ๋ ์๋ ์์. |
Valuing External Impact : ์ธ๋ถ์ ๋ฏธ์น๋ ์ํฅ์ ํ์ธํ๋ค. |
์ํํธ์จ์ด๋ ํ์ค์ธ๊ณ์์ ๋ฌด์์ ๋ฌ์ฑํ๊ธฐ์ํด ๋ง๋ค์ด์ก๋ค. ์์คํ ํจ๊ณผ์ ์ด์ ์ ๋ง์ถ ์ ํต์ ๋ฐฉ์ ์คํ ๋ฆฌ - ์์คํ ์ด ์๋ฒฝํ ๊ธฐ์ ๋ก ๊ตฌํ๋๊ฒ ์ฒ๋ผ ์์คํ ๋์์ ์ค๋ช ํ๋ค. - ์์คํ ์ธ๋ถ์์ ๋ด๋ถ๋ก ์ด๋ํ๊ฑฐ๋ ๋ด๋ถ์์ ์ธ๋ถ๋ก ๋๊ฐ๋ ๊ฒ์ ๋ช ํํ ํ๋ค. ์์ฑ๋ ์คํ ๋ฆฌ๋ ์ ํ ์์ ์์ ์ฌ์ฉ์(๊ณ ๊ฐ)๊ฐ ๋ช ํํ ์ดํดํ ์ ์์ด์ผ ์ข์ ์ ํ์ ํ ์ ์๋ค. - ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๊ณ ์๋ ์๋ฃจ์ (๊ธฐ์ )์ ๋ํ "์คํ ๋ฆฌ" - ์์คํ ์ ์์ ๋๋ ์ฌ์ฉ์๊ฐ ์ํ๋ ๊ฒ์ ๋ํ "์คํ ๋ฆฌ" |
Value for Whom? : ๋๊ตฌ์๊ฒ ๊ฐ์น๋ฅผ ์ ๊ณตํ ๊ฒ์ธ๊ฐ? |
์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ ์ํํธ์จ์ด๋ก๋ถํฐ ์ป๋ ๊ฐ์น๋ ์ฌ๋๋ค๋ง๋ค ๋ค์ํ๋ค. ๊ฐ๋ฐํ์ ์ ๋ฌด ์ค ์ผ๋ถ๋ ๋ค์ํ ์ดํด ๊ด๊ณ์์ ์๊ตฌ ์ฌํญ์ ๊ท ํ์๊ฒ ์กฐ์ ํ๋ ๊ฒ์ ๋๋ค. - User => ์ค์ ๋ก ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ. => ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ. => ์๋ก, ์ฝ ์ผํฐ์์ ์๋ด์์ ์ง์ ์ฌ์ฉ์์ด๊ณ ๊ณ ๊ฐ์ ๊ฐ์ ์ฌ์ฉ์์ด๋ค. - Purchasers => ๊ตฌ๋งค์์ ์๊ตฌ๊ฐ ์ฌ์ฉ์์ ์๊ตฌ์ ์์ ํ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. => ์๋ก, ๋์ ํ ์ํํธ์จ์ด์ ๋ํ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ ์์คํ ๊ด๋ฆฌ์๋ง ํ์ํ๋ค. - Development Organizations => ํ์ค ์ค์, ๊ธฐ๋ณธ ์ธ์ด ๋ฐ ์ํคํ ์ฒ ์ฌ์ฉ ๋ฑ์ ๋ฐ์๋๋ ์๊ตฌ ์ฌํญ์ด ์์ ์ ์๋ค. - Sponsors => ํฌ์ ์์ต์ ์ํ๋ค. |
Estimable – ์ถ์ ๊ฐ๋ฅํ๋ค
์ข์ ์คํ ๋ฆฌ๋ ์ถ์ ํ ์ ์๋ค. ์ ํํ ์ถ์ ์ ํ์ํ์ง ์์ง๋ง ๊ณ ๊ฐ์ด ์คํ ๋ฆฌ ๊ตฌํ์ ์์๋ฅผ ๋งค๊ธฐ๊ณ ์ผ์ ์ ์ก๋ ๋ฐ ๋์์ด ๋ ๋งํผ ์ถฉ๋ถํ๋ค. ์ฐ๋ฆฌ๊ฐ ์ดํดํ์ง ๋ชปํ๋ ์คํ ๋ฆฌ๋ ์ถ์ ํ๊ธฐ๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ถ์ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋ถ๋ถ์ ์ผ๋ก ํ์์ ๊ธฐ๋ฅ์ด๋ค. ๋ํ ํฌ๊ธฐ์ ํจ์์ด๊ธฐ๋ ํฉ๋๋ค. ๋ ํฐ ์คํ ๋ฆฌ๋ ์ถ์ ํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ์ด๋ ํ์ ๊ธฐ๋ฅ์ ๋๋ค. ์์ธกํ๊ธฐ ์ฌ์ด ๊ฒ์ ํ์ ๊ฒฝํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
๋๋๋ก ํ์ ์ ์ ํ ์ถ์ ์ ๋ด๊ธฐ ์ํด ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ "SPIKE" ์ ์ํ๋ ๊ธฐ๋ฅ์ ์ค์ ๋ก ๊ตฌํํ ๋๋จธ์ง ์คํ ๋ฆฌ๋ก ๋๋์ด์ผ ํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์๋ค์ ๊ฐ ์คํ ๋ฆฌ์ ํฌ๊ธฐ ํน์ ์์ ์์ ์๊ฐ์ ์ถ์ ํ ์ ์์ด์ผ ํ๋ค.
- ์ถ์ ์ Agile ์๋ฆฌ์ฆ ์ฑ
1๊ถ ๋ถ๋์ ์ด๋ ต๊ณ ๊ณ ํต์ค๋ฌ์ด ์์
์ด๋ค.
- ๊ฐ๋จํ๊ฒ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์ถ์ ํด ๋ณผ ์ ์๋ค.
- counting stories : ์์ฑ๋ ์คํ ๋ฆฌ ์๋ก ์ถ์ ํ๋ค. (์ด์ ํ๊ท (์ํ) ๊ฐ ํ์)
- historical estimates : ๊ธฐ์กด ์์
์ด๋ ฅ์ ๊ธฐ๋ฐ์ผ๋ก ์ถ์ ํ๋ค. (์นธ๋ฐ WIP)
- rough order of magnitude estimates : ๋๋ต์ ์ธ ํฌ๊ธฐ๋ฅผ ์ฐ์ ํ์ฌ ์ถ์ ํ๋ค.
์ถ์ ์ด ์ฝ์ง ์์ ๊ฒฝ์ฐ ๋ฐ ํด๊ฒฐ์ฑ
– ํด๋น ๋ถ์ผ(๋๋ฉ์ธ)์ ์ง์์ด ๋ถ์กฑ
=> ๊ณ ๊ฐ ์ธํฐ๋ทฐ๋ฅผ ํตํด ํด๊ฒฐ์ฑ
์ ๋ชจ์ํ๋ค.
–๊ธฐ์ ์ ์ธ ์ง์์ด ๋ถ์กฑ (์งง์ Spike๋ฅผ ํตํด ๊ทน๋ณต)
=> ์ ๋ณด์์ง์ ์ํ ๋ฏผ์ฒฉํ ์คํ์ดํฌ
=> ์ค์ ์์
์ ์ํํ๋ ์คํ ๋ฆฌ
* Spike : ๊ฐ๋ฐ์ด๋ ์ค๊ณ์ ํ๋กํ ํ์
ํํ๋ก ๊ฐ๋จํ๊ฒ ๊ตฌํ ๋๋ ์๋ฎฌ๋ ์ด์
ํ๋ ๋ฐฉ๋ฒ
– ์คํ ๋ฆฌ๊ฐ ๋๋ฌด ํฌ๋ค.
=> ์คํ ๋ฆฌ๋ฅผ ์์ ์คํ ๋ฆฌ๋ก ๋๋๋ค.
=> Epic ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํฅํ ์คํ ๋ฆฌ๋ก ์ธ๋ถํํ๋ค.
์ถ์ ๊ด๋ จํ์ฌ ์ธ๊ธํ๊ธฐ
Why Is It Hard to Estimate? : ์ถ์ ์ด ์ด๋ ค์ด ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ? |
์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์๋ ค์ง์ง ์์ ์ฌํญ์ด ๋๋ฌด ๋ง๋ค. (so many unknowns) ์๋ ํญ๋ชฉ๋ค์ ํ๋ฃจ ๋๋ ์ผ์ฃผ์ผ ๋์ ๊ณํํ๊ณ ํ์์ ์ฐธ์ํ๊ณ ํ์ ์ ์ผ๋ก ์์ํ๋ค๊ณ ํด์ ์ด๋ ค์์ ๊ทน๋ณต ํ ์๋ ์๋ค. - The Domain => ๋๋ฉ์ธ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ ๊ณ ๊ฐ๊ณผ ์คํด๋ฅผํ๊ธฐ๊ฐ ๋ ์ฝ๊ณ ๋ ๋์ ์๋ฃจ์ ์ ๋ํ ๊น์ ํต์ฐฐ๋ ฅ์ ๊ฐ๊ธฐ๊ฐ ๋ ์ด๋ ค์ธ ์ ์๋ค. - Level of Innovation => ์ด์ ์ ํ ๋ฒ๋ ํด๋ณธ ์ ์ด ์๋ ์ผ์ ํด์ผํ๋ ๋ถ์ผ(domain)์์ ์ด์(operating)ํด์ผ ํ๋ค. - The Details of a Story => ์ฐ๋ฆฌ๋ ์ข ์ข ์์ ํ ์ดํด๋๊ธฐ ์ ์ ์ด์ผ๊ธฐ๋ฅผ ์ถ์ ํ๊ณ ์ถ์ดํ๋ค. => ์์ง ๋ช ํํ์ง ์๊ฑฐ๋ ์์ํ์ง ๋ชปํ ๋ณต์กํ ๋น์ฆ๋์ค ๊ท์น๊ณผ ์ ์ฝ์ ์ํฅ์ ์์ธกํด์ผ ํ ์ ์์ด์ผ ํ๋ค. - The Relationship to Other Stories => ์ผ๋ถ ์คํ ๋ฆฌ๋ ๊ตฌํ ๋ ๋ค๋ฅธ ์คํ ๋ฆฌ์ ๋ฐ๋ผ ๋ ์ฌ์ธ ์๋ ์๊ณ ์ด๋ ค์ธ ์๋ ์๋ค. - The Team => ๊ฐ์ ํ๋ก์ ํธ, ํ ์ฌ๋์ด๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณํ๋ค. => ์๋ก์ด ํ์์๋ ๋ ์ด๋ ต๋ค. - Technology => ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ๊ธฐ์ ์ค ์ผ๋ถ๋ฅผ ์๊ณ ์์ ์ ์์ง๋ง ๋ชจ๋ ๊ฒ์ ๋ฏธ๋ฆฌ ์์ ์๋ค. => ๋ฐ๋ผ์ ์ถ์ ์น๋ ํ์ต ์๊ฐ์ ๊ณ ๋ คํด์ผํ๋ค. - The Approach to the Solution => ์ฐ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊ฒ์ธ์ง ์์ง ์์ง ๋ชปํ ์ ์๋ค. - The Relationship to Existing Code => ๊ธฐ์กด ์๋ฃจ์ ์ ์น์ ("habitable section")์์ ์์ ํ ๊ฒ์ธ์ง ์ฌ๋ถ๋ฅผ ์ ์ ์์ต๋๋ค. - The Rate of Change => ์ฐ๋ฆฌ๋ ๋จ์ง "์คํ ๋ฆฌ๊ฐ ๋ฌด์์ธ๊ฐ?" ๋ฅผ ์ถ์ ํด์ผ๋๋ฉฐ ๋ํ, "๋ง์ง๋ง์ผ๋ก ๋ฌด์์ด ๋ ๊น?" ๊น์ง ์ถ์ ํด์ผ ํ ์๋ ์๋ค. - Dysfunctional Games => ์ผ๋ถ ํ๊ฒฝ์์ ์ถ์ ์ ์ ์น์ ๊ถ๋ ฅ์ ์ํ ๋๊ตฌ๋ก ํ๊ฐ๋๋ค. (ํ, ๊ถ๋ ฅ์ ๋ฐ๋ผ ๊ฒฐ์ ) => ์์ ๋ ์ฝ์ , ์ผ์ ๊ด๋ฆฌ ๋ฐ ๊ธฐํ ๋ง์ ์ ์ฉ ๋ฑ - Overhead => ์ธ๋ถ ์์ธ์ด ์ถ์ ์ ์ํฅ์ ์ค๋ค. => ๋ฉํฐ ํ์คํน์ํ๊ฑฐ๋ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ๋งก๊ฒ๋๋ฉด ์ผ์ด ๋ ์ค๋ ๊ฑธ๋ฆฐ๋ค. |
Simple Estimates: Count the Stories |
Don Wells ๋ ๋งค์ฐ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ๋ค. "๊ทธ๋ฅ ์ด์ผ๊ธฐ๋ฅผ ์ธ์ด๋ณด์ธ์." thought experiment 1. ์คํ ๋ฆฌ์ ์ค์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ์ซ์๋ฅผ ๊ฐ์ ธ์ด. 2. ๋ฌด์์ ์ํ ์ฑ์ทจํจ. 3. ์ํ์ ํ๊ท ์ ์คํ ๋ฆฌ ํฌ๊ธฐ๋ก ์ค์ . 4. ์ด๊ณ์ ๋ํ ์ถ์ ์น๋ ์คํ ๋ฆฌ ์์ ์ํ ํ๊ท ์ ๊ณฑํ ๊ฐ. ์ฃผ์. - ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ฅ๋ ฅ์น๋ ์ ์๋ ฅ์ด ํฅ์๋๋ค. (ํ๊ณ ๋ฅผ ํตํด ๊ฐ๊ฒฉ์ ์ขํ์ผ ํจ.) - ์ค์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง์ง ์๋ ์คํ ๋ฆฌ๋ ๋ฌด์ํจ (์์กด๋๊ฐ ๋์ ๊ฒฝ์ฐ) |
Historical Estimates (ala Kanban) |
work-in-progress (WIP) is the challenge ์นธ๋ฐ์ WIP ๊ฐ๋ ์ ๋ํด ๋จผ์ ์ดํด๋ฅผ ํด์ผ ํ๋ค. ๊ฐ๋ฐ ๊ธฐ๋ก์ ์ถ์ ํ๋ฉด์ ์๊ฐ์ ์ธก์ ํ๊ณ ํจํด์ ์ฐพ์๋ผ ์ ์์ด์ผ ํ๋ค. - ํ๊ท ์คํ ๋ฆฌ ์ ๋ฌ์ 10์ผ - ์คํ ๋ฆฌ 95% ์ ๋ฌํ๋๋ฐ 22์ผ ์ดํ ์์ => ๋ค์ ์คํ ๋ฆฌ ์ ๋ฌ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ถ์ ํ ์ ์๋ค. ์ด๊ฒ์ "์ผ๋ง๋ ํฐ๊ฐ?" ์์ ์ถ์ ์ง๋ฌธ์ "์ผ๋ง๋ ๋นจ๋ฆฌ๋ฐ์ ์ ์๋์?" ๋ก ๋ฐ๊ฟ ์ ์๋ค. WIP ๊ฐ ๋์ผ๋ฉด ๊ฐ๋ฐํ์ ํผํฌ๋จผ์ค๊ฐ ๋์ ๊ฒ์ด๋ฉฐ WIP ๊ฐ ๋ฎ์์ง๋ฉด ๊ฐ๋ฐํญ๋ชฉ์ ์ค์๋๊ฐ ๋์ ๊ฒ์ด๋ค. |
Rough Order of Magnitude |
๋๋ต์ ์ธ ์ถ์ ์น๋ ์๊ฐ ๋จ์(์๊ฐ, ์ผ, ์ฃผ, ์, ๋
)๋ฅผ ์ถ์ ํ๋ค. - ๋ฆฌ์คํฌ, ๊ฐ์น ๋ฐ ์ต์ ์ ํ์("Explore")ํ๋ค. - ๋๋ต์ ์ธ ๊ท๋ชจ๋ฅผ ์ถ์ ํ๋ค. - ๊ฐ์ฅ ์ค์ํ ์คํ ๋ฆฌ์ ์ ์ฉํ ๋ฒ์ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ ๋จผ์ ์ง์คํ๋ค. - ํด๋น ๋ฒ์ ์์ ์ดํด ๊ด๊ณ์ ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํด ํ์ํ๋ค. (์ด๋ป๊ฒ ๊ทธ๋ฆฌ๊ณ ์ผ๋ง๋ ์งํํ ์ง ๊ฒฐ์ ) - ์ด ๊ณผ์ ์์ ๋ฐฐ์๋๊ฐ์ผ ํ๋ค. |
Small Scalable – ์์์ผ ํ๋ค
์ข์ ์คํ ๋ฆฌ๋ ์์ ๊ฒฝํฅ์ด ์๋ค. ์คํ ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ต๋ ๋ช ์ฃผ ๋ถ๋์ ์์ ์ ๋ํ๋ธ๋ค. (์ผ๋ถ ํ์์๋ ๋ฉฐ์น ์ ์์ ์ผ๋ก ์ ํํ๋ค.)
์ด ๊ท๋ชจ๋ณด๋ค ํฌ๋ฉด ์คํ ๋ฆฌ ๋ฒ์์ ๋ฌด์์ด ์๋์ง ์๊ธฐ๊ฐ ๋๋ฌด ์ด๋ ค์ ๋ณด์ ๋๋ค. "ํ ๋ฌ ์ด์ ๊ฑธ๋ฆด ๊ฒ์ด๋ค." ๋ผ๋ ๋ง์ ์ข ์ข "๋ฌด์์ด ์๋ฐ๋๋์ง ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์" ๋ฌต์์ ์ผ๋ก ์ถ๊ฐํ๋ค. ์์ ์ด์ผ๊ธฐ๋ ๋ ์ ํํ ์ถ์ ์น๋ฅผ ์ป๋ ๊ฒฝํฅ์ด ์๋ค.
์ฃผ์ ํฌ์ธํธ
- High-Level Stories: Themes and Activities
- Middle Level: The Headline
- Low Level: The Details
์ธ ๊ฐ์ง ๋ ๋ฒจ์ ํ์ธํ๋ ๊ฒ์ด ๋์์ด ๋๋ค.
- Theme – High level : ์ฌ๋ฐ๋ฅธ ์ผ์ ๋ค๋ฃจ๊ณ ์์ต๋๊น?
- Headline – Mid level : ์ฌ์ฉ์๊ฐ ๊ด์ฌ ์๋ ๊ธฐ๋ฅ์ ์ป๊ณ ์์ต๋๊น?
- Details – Low level : ์๋ก์ด ๊ธฐ๋ฅ์ด ํ์ํฉ๋๊น, ์๋๋ฉด ์ด์ ๊ธฐ๋ฅ์ ๊ฐ์ ํ ์ ์์ต๋๊น?
์คํ ๋ฆฌ์ ์ ์ ํ ํฌ๊ธฐ๋ ๊ฐ๋ฐํ์ ์ญ๋์ด๋, ์ฌ์ฉํ๋ ๊ธฐ์ ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค.
– ์คํ ๋ฆฌ์ ํ๋์ ํฌ๊ธฐ๋ 1์ผ ~ 2์ฃผ ๋ด์ธ๋ก ๊ฒฐ์ ํ๋ค.
- ํ์ง๋ง 5์ผ(1์ฃผ)์ ๋์ง ์๋ ๊ฒ์ด ์ข๋ค.
Epic ๋๋ Theme ์ฒ๋ผ ํฐ ์คํ ๋ฆฌ์ ๊ฒฝ์ฐ
– ๋ณตํฉ์ ์ธ ์คํ ๋ฆฌ : ์์ ์คํ ๋ฆฌ๋ฅผ ์ฌ๋ฌ ๊ฐ ํฌํจ
- ์คํ ๋ฆฌ ๋๋๊ธฐ.
- ์คํ ๋ฆฌ ํฉ์น๊ธฐ.
– ๋ณต์กํ ์คํ ๋ฆฌ
- ํฌ๋ฉด์๋, ๋๋๊ธฐ ์ฝ์ง ์๋ค.
- ์คํ ๋ฆฌ ์์ฒด์ ๋ํ ๋ถํ์ค์ฑ์ ๊ธฐ์ธํ๋ค.
- ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๋ ์คํ ๋ฆฌ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ์คํ ๋ฆฌ๋ก ๋๋๋ค.
- ๊ณ ๊ฐ์ด ์กฐ์ฌํ๋ ์คํ ๋ฆฌ์๋ ์ฐ์ ์์๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค.
์ ์ ์ฌํญ
- ์คํ ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ์ฌ ๋ ๊ฐํ("intensifying") ์คํ ๋ฆฌ๋ก ๋ง๋ ๋ค.
- ํฐ ์คํ ๋ฆฌ๋ ๊น๋ค๋กญ๋ค. ("tricky")
- ํ๋์ ํค๋๋ผ์ธ์ ๋ค์ํ๊ฒ ๋ณํ์ด ๊ฐ๋ฅํ๋ค.
- ๊ธฐ์ ์ ์คํ ๋ฆฌ๋ ์์์ง ๋ชจ๋ฅด์ง๋ง ๊ทธ๊ฒ์ ์ ์ ์คํ ๋ฆฌ๊ฐ ์๋๋ค.
High-Level Stories: Themes and Activities |
์ฌ๊ธฐ์ ์ธ๊ธํ ๋ด์ฉ์ ๋๋ฌด ์ปค์ ์คํ ๋ฆฌ๊ฐ ์๋๋ผ ๋ค๋ฅด๊ฒ ๋ถ๋ฆฐ๋ค. “themes” (Kent Beck), “activities” (Jeff Patton) “epics” (SaFE) “kite level” (Alistair Cockburn) ์> - Reserving cars (์๋์ฐจ ์์ฝ) - Renting cars (์๋์ฐจ ๋์ฌ) - Returning cars (์๋์ฐจ ๋ฐ๋ฉ) |
Middle Level: The Headline |
์์คํ
์ธ๋ถ์์ ์์ํ์ฌ ์ดํด ๊ด๊ณ์๊ฐ ๊ด์ฌ์ ๊ฐ๋ ์์
์ ์ํํ๋ ์ฌ์ฉ์ ๋๋ ์์คํ
์์
์ ์ค๋ช
ํ ๋ ์ฌ์ฉํ๋ค. ํค๋ ๋ผ์ธ์ ํ ํ๋ฆฟ์ ๋ฐ๋ฅผ ํ์๋ ์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก Industrial Logic ์ด ์ ์ํ๋ ์์ ์ฌ์ฉํ๋ค. - Role(์ญํ ) => ์คํ ๋ฆฌ๋ฅผ ๋์("triggering")์ํค๋ํ๋ ์ฌ์ฉ์ ๋๋ ์์คํ - Action(ํ๋) => ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋๊ฐ Context [optional] (์ปจํ ์คํธ) => ์ธ์ , ์ด๋์, ๊ทธ๋ฆฌ๊ณ (๋๋) ๋ฐฉ๋ฒ ์> ๊ณ ๊ฐ์ด ํ๋ชฉ์ ๊ตฌ๋งค ํ๋ค. ์> ๊ณ ๊ฐ์ด ์ง๋ถ ์นด๋๋ก ํญ๋ชฉ์ ๊ตฌ๋งค ํ๋ค. |
Low Level: The Details |
์ฐ๋ฆฌ๊ฐ ์์
ํด์ผ๋ ํญ๋ชฉ์ ๊ด๋ฆฌํ๋ค. - Middle level => ๊ณ ๊ฐ์ด ํ๋ชฉ์ ๊ตฌ๋งค ํ๋ค. - Low level => ์ค์ ์์ ์์๋ ๊ณ ๊ฐ์ด ์ ์์๊ฒ ํ๋ชฉ์ ์์ฒญํ ์ ์์ต๋๋ค. => ์ํผ๋ง์ผ์์ ๊ณ ๊ฐ์ ์์ ์ ๊ฑธ์ด ๋ค๋๊ณ ์ํ๋ ํ๋ชฉ์ ์นดํธ์ ๋ฃ์ ๋ค์ ์์ ์์ ๊ณ์ฐ๋์์ ์ ์๊ณผ ๊ณ์ฐํ ์ ์์ต๋๋ค. => Amazon.com์์ ์ํ์ ๊ตฌ๋งคํ๋ฉด ์ ์ฉ ์นด๋๊ฐ ๋ฑ๋ก๋์ด ์๊ณ Amazon์ ์ฒดํฌ ์์ํ๋ ๋์ ๊ต์ฐจ ํ๋งค ๋ฐ ์ํฅ ํ๋งค๋ฅผ ์๋ํฉ๋๋ค. ํ๋์ ํค๋๋ผ์ธ("A single Headline)์ผ๋ก ๋ค์ํ ๋ณํ์ด ๊ฐ๋ฅํ๋ค. ์ด๊ฒ์ด ์คํ ๋ฆฌ์ ํ์ฅ์ฑ์ด๋ค. ("That is scalability in stories.") |
ํ์ฅ ๊ฐ๋ฅํ ์คํ ๋ฆฌ์ ์ด์ |
- ์งํ ์ฌํญ์ ๊ฐ์ํ๋ฅผ ๋๋๋ค. - ๋น ๋ฅด๊ฒ ์ ์ฉํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค. ("utility") - ๋ ๊ฐ์น์๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ฐ ๋์๋๋ ํผ๋๋ฐฑ์ ์ ๊ณตํ๋ค. - ์์ฅ("market") ๋ฐ ๊ธฐ์ ์ ๋ฆฌ์คํฌ๋ฅผ ์ค์ด๋๋ฐ ๋์์ ์ค๋ค. |
Testable – ํ ์คํธ ๊ฐ๋ฅํด์ผ ํ๋ค
ํ ์คํธ ๊ฐ๋ฅํ ์คํ ๋ฆฌ๋ ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ฉด ์์๋๋ ์์คํ ๋์ ๋๋ ์ถ๋ ฅ์ ๋์ํ ์ ์๋ ์คํ ๋ฆฌ์ด๋ค.
์ข์ ์คํ ๋ฆฌ๋ ํ ์คํธํ ์ ์๋ค. "๋ด๊ฐ ์ํ๋ ๊ฒ์ ์ถฉ๋ถํ ์ดํดํ์ฌ ํ ์คํธ(์ผ์ด์ค or ๋ช ์ธ)๋ฅผ ์์ฑํ ์ ์๋ค."
์ฌ๋ฌ ํ์ด ์คํ ๋ฆฌ๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ๊ณ ๊ฐ ํ ์คํธ๋ฅผ ์๊ตฌํจ์ผ๋ก์จ ํ์ ์์ฐ์ฑ์ด ๋ ๋๋ค๋ผ๋ ๋ณด๊ณ ๋ ์๋ค.
"ํ ์คํธ ๊ฐ๋ฅ์ฑ" ์ ํญ์ ์ข์ ์๊ตฌ ์ฌํญ์ ํน์ง์ด๋ค. ์ค์ ๋ก ํ ์คํธ๋ฅผ ์ผ์ฐ ์์ฑํ๋ฉด์ด ๋ชฉํ๊ฐ ์ถฉ์กฑ๋์๋์ง ์ ์ ์๋ค.
ํ์ ๋น ๊ธฐ๋ฅ์ ์๊ตฌ ์ฌํญ (์ : ์ฑ๋ฅ ๋ฐ ์ฌ์ฉ์ฑ)์ ํ ์คํธํด์ผ ํ๋ ๊ฒ์ผ๋ก ์ทจ๊ธํ ์ ์๋ค. ์ด๋ฌํ ํ ์คํธ๋ฅผ ์ด์ํ๋ ๋ฐฉ๋ฒ์ ํ์ ํ๋ฉด ํ์ด ์ง์ ํ ์๊ตฌ ์ฌํญ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋๋ค.
ํ ์คํธ๊ฐ ํ๋ ์คํ ๋ฆฌ
- ์ ๋ ๋ฐ์ํ์ง ์๋๋ค๋ ๊ฒ์ ์
์ฆ์ด ๋ถ๊ฐ๋ฅํ๋ค
– ์> ์ด๋ค ํ๋ฉด๋ ์ฌ์ฉ์๋ฅผ ์ค๋ ๊ธฐ๋ค๋ฆฌ๊ฒ ํด์๋ ์ ๋๋ค
=> ์ ํ๋ฉด์ 95%์ ๊ฒฝ์ฐ 2์ด ์์ ๋ํ๋์ผ ํ๋ค.
Testable Trigger Words |
์๋ ์ธ๊ธ๋ ๋จ์ด๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํ
์คํธ ๊ฐ๋ฅํ์ง ์์ ์ ์๋ค. Just (๊ทธ๋ฅ, ๋จ์ง) => ์์ฃผ ์์ ๋จ์ด์ด์ง๋ง ์ค์ ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ์๊ณ ์ฐ๋ ค์ ์ค์์ฑ์ ์ต์ํํ๊ธฐ ์ํด ์ข ์ข ํ์ ์์ง์์ผ๋ก ์ฌ์ฉ๋๋ค. => Just check each of these against all the others Appropriate, right, suitable (์ ์ ํจ) =>๋ฌผ๋ก ๋น์ ์ ์ ์ ํ ์ผ์ ์ํ๋ค. => ๊ทธ๋ฌ๋ "์ ์ ํ" ์ด ์ค์ ๋ก ์๋ฏธํ๋ ๋ฐ๋ฅผ ์ ์ํ์ง๋ ์๋๋ค. Best, worst (์ต๊ณ , ์ต์ ) => "Best" ๋ผ๊ณ ๋งํ์ง๋ง "Best" ๋ฅผ ์ ์ํ์ง ์๋๋ค. Most, least, shortest, longest (๊ฐ์ฅ, ์ต์, ๊ฐ์ฅ ์งง์, ๊ฐ์ฅ ๊ธด) => ๊ฐ์ฅ ์ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง, ์๋๋ฉด ๊ฐ์ฅ ์ ๊ฒ ์ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ๋ช ํํ๋ค๋ฉด ๋์์ด๋์ง๋ง => ์ด๋ฌํ ๋จ์ด๋ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ์ ํ์ ์จ๊ธธ ์๋ ์์ต๋๋ค. All combinations, all permutations (๋ชจ๋ ์กฐํฉ, ๋ชจ๋ ์์ด) => ์ด ๋จ์ด๋ ์ ์ ์๋์์ง๋ง ๊ณ์ฐ์ ์ผ๋ก ์คํ ๋ถ๊ฐ๋ฅํ ๊ฒ์ ๋ํ๋ผ ์ ์๋ค. Any of, don't care (๋ชจ๋, ์๊ด ์ ํจ) => ์ด๋ฌํ ๋ฌธ๊ตฌ๋ ์ข ์ข ๋น-๊ฒฐ์ ์ ("non-deterministic") ์์ ์์ ์ฌ์ฉ๋๋ค. => ํฉ๋ฒ์ ์ด์ง๋ง ์ด๋ฌํ ์๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ์ฌ๋ก๋ฅผ ์ง์ ํ๋ ๊ฒ์ ๊น๋ค๋ก์ธ ์ ์๋ค. => Will you list all possible solutions? (๊ฐ๋ฅํ ๋ชจ๋ ์๋ฃจ์ ์ ๋์ด ํ์๊ฒ ์ต๋๊น?) Fun, easy to use, people, like (์ฌ๋ฏธ ์์, ์ฌ์ฉํ๊ธฐ ์ฌ์, ์ฌ๋, ์ข์์) => ์ด๋ค์ ๋น ๊ธฐ๋ฅ์ ์์ฑ์์ ์ผ๋ฐ์ ์ด๊ฑฐ๋ ์ฐ๊ตฌ ํ๋ก์ ํธ๋ฅผ ์จ๊ธธ ์ ์๋ค. I’ll know it when I see it (๋ด๊ฐ ๋ณผ ๋ ์๊ฒ ๋ ๊ฑฐ์ผ) => ํ ๋ฒ์์ด ๋ฌธ์ ๋ฅผ ์ ๋๋ก ํด๊ฒฐํ ๊ธฐํ๊ฐ ์๋ค. |
several challenges with tests |
ํด๊ฒฐํด์ผ ํ ๋ฌธ์ => Magic (๋ง๋ฒ) => Intentional Fuzziness (์๋์ ์ธ ํ๋ฆฟํจ) ์์์ผ ํ ๊ณผ์ => Computational Infeasibility (๊ณ์ฐ ๋ถ๊ฐ๋ฅ์ฑ) => Non-Determinism (๋น-๊ฒฐ์ ๋ก ) ์ฐ์ฐํ ๋ฐ์๋ค์ด์ง ์์ ์ํ => Subjectivity (์ฃผ๊ด์ฑ) => Research Projects (์ฐ๊ตฌ ํ๋ก์ ํธ) |
์ถ์ฒ : xp123
๋๊ธ