๊ตฌ๋
์๋, '์๋'๐ฆ ์
๋๋ค.
'์๋์ ๋ง๋ฅ๋ฐฐ๋ญ'์ ์ฑ์ฅ์ ๊ฐ๋งํ๋ ์ผ์๋ฌ๋ค์ ์ํ ๋ด์ค๋ ํฐ์
๋๋ค. ์ธ์๊น์๋ ๋น์ฆ๋์ค, ๋ฆฌ๋์ญ, ๋งค๋์ง๋จผํธ, ์กฐ์ง๋ฌธํ' ๊ด๋ จ ์ํฐํด์ ์์ฝ ์ ๋ฆฌํด์ ์ ์ฑ๊ป ๋ด์ ๋ณด๋ด๋๋ฆฝ๋๋ค:D
(๋ง์์ ๋๋ ์ํฐํด์ '๐๋์์ด ๋์์ด์'๋ ๋๋ฌ์ฃผ์ธ์)
- ์ง์ ๊ฐ๋ฅํจ์ ์ํด, ์ ํด์ง ์ฃผ๊ธฐ ์์ด 1๊ฐ์ ์ํฐํด์ด ์ ๋ฆฌ๋๋ฉด ๋ฐ๋ก ๋ณด๋ด๋๋ฆฝ๋๋ค.
โฟ์ ์์ฑ๋ ์ ์ ์คํ ๋ฆฌ์ 6๊ฐ์ง ํน์ง
"์ ์์ผํ์ด ์ผํ๋ ๋ฐฉ์์ ์ค์ฌ์ ์ ์ ์คํ ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ ์์ฑ๋ ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ ์๋ก ํ๋ ฅํ๋ ํ, ๊ณ ์ฑ๊ณผํ, ๊ณ ๊ฐ์๊ฒ ๊ฐ์น๋ฅผ ์ ๋ฌํ๋ ํ์ ๋ฆฌ๋ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์ ์คํ ๋ฆฌ๋ฅผ '์ ์์ฑ'ํ๋ ๊ฒ์ด ์ฌ์ค ๊ทธ๋ฆฌ ์ฝ์ง๋ง์ ์์ต๋๋ค. ์ ์ ์คํ ๋ฆฌ๋ฅผ '์ ์์ฑ'ํ๋ ๊ฒ, ์ฌ๊ธฐ์๋ถํฐ ์ถ๋ฐํ์๋ฉด ์ข์ต๋๋ค."
- 2003๋ , [Extreme Programming Explored]์ [Refactoring Workbook]์ ์ ์, ์๋ฆฌ์ ์จ์ดํฌ๋ '์ข์ ์คํ ๋ฆฌ์ ์ฌ์ฏ ๊ฐ์ง ํน์ฑ'์ ์๋ฌธ ์ฒซ ๊ธ์๋ฅผ ๋ฐ์ 'INVEST'๋ผ๋ ์ด๋ฆ์ ์ ์ํ์๋ค.
- '๋ ๋ฆฝ์ ์ด๋ค(Independent)' ๊ฐ๋ฅํ๋ฉด ์คํ ๋ฆฌ ๊ฐ์ ์์กด์ฑ์ ๋ฐฐ์ ํ๋๋ก ์ ๊ฒฝ ์จ์ผ ํ๋ค. ์์กด์ฑ์ด ์์ผ๋ฉด ์ฐ์ ์์ ๊ฒฐ์ ๊ณผ ๊ณํ ์๋ฆฝ์ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ๋ค.
- 'ํ์ ๊ฐ๋ฅํ๋ค(Negotiable)' ์คํ ๋ฆฌ๋ ํ์ ๊ฐ๋ฅํด์ผ ํ๋ค. ์คํ ๋ฆฌ๋ ๊ณ์ฝ์๋ ์๊ตฌ์ฌํญ ๋ช ์ธ์์ฒ๋ผ ๊ผญ ๊ตฌํํด์ผ ํ๋ค๊ณ ๊ธฐ๋ก๋ ๊ฒ์ด ์๋๋ค. ์คํ ๋ฆฌ๋ ๊ธฐ๋ฅ์ ๋ํ ์งง์ ์ค๋ช ์ผ ๋ฟ, ์ธ๋ถ์ฌํญ์ ๊ณ ๊ฐ๊ณผ ๊ฐ๋ฐ ํ์ด ๋ํ๋ฅผ ํตํด ํ์ํด์ผ ํ๋ค.
- '์ฌ์ฉ์ ๋ฐ ๊ณ ๊ฐ์๊ฒ ๊ฐ์น๊ฐ ์๋ค(Valuable)' ์คํ ๋ฆฌ๋ ๊ณ ๊ฐ์ด๋ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ์ด์ ์ด ๋๋ฌ๋๋๋ก ์์ฑํด์ผ ํ๋ค. ์คํ ๋ฆฌ๊ฐ ๊ณ ๊ฐ์ด๋ ์ฌ์ฉ์์๊ฒ ๊ฐ์น ์๋๋ก ํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๊ณ ๊ฐ์ด ์ง์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ๊ฒ ํ๋ ๊ฒ์ด๋ค. ์ฒ์์๋ ๊ณ ๊ฐ์ด ๋ถํธํด ํ ์๋ ์๋ค. ์คํ ๋ฆฌ ์นด๋๊ฐ ์ ์ ํ์ฝ์ด๋ ์์ธ ๊ธฐ๋ฅ ์ค๋ช ์ด ์๋๋ผ ๋์ค์ ๋ํ๋ฅผ ์ฌ๊ฐํ ์๋จ์ผ๋ก ์ฌ์ฉ๋๋ค๋ ๊ฐ๋ ์ ์ต์ํด์ง๋ฉด ๊ณ ๊ฐ๋ค์ด ์คํ ๋ฆฌ๋ฅผ ์๋ฐ์ ์ผ๋ก ์์ฑํ๊ธฐ ์์ํ๋ค.
- '์ถ์ ๊ฐ๋ฅํ๋ค(Estimatable)' ๊ฐ๋ฐ์๋ค์ด ๊ฐ ์คํ ๋ฆฌ์ ํฌ๊ธฐ ํน์ ์์ ์์ ์๊ฐ์ ์ถ์ (์ ์ด๋ ์ถ์ธก)ํ ์ ์์ด์ผ ํ๋ค. ์ถ์ ์ด ์ฝ์ง ์์ ๊ฒฝ์ฐ๋ ๋ณดํต ๋ค์์ ์ธ ๊ฐ์ง ์์ธ ๋๋ฌธ์ด๋ค. 1)ํด๋น ๋ถ์ผ์ ์ง์(๋๋ฉ์ธ ์ง์)์ด ๋ถ์กฑํ๋ค. 2)๊ธฐ์ ์ ์ธ ์ง์์ด ๋ถ์กฑํ๋ค. 3)์คํ ๋ฆฌ๊ฐ ๋๋ฌด ํฌ๋ค.
- '์๋ค(Small)' ์คํ ๋ฆฌ ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๋ฉด ๊ณํ ๋จ๊ณ์์ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ค ์คํ ๋ฆฌ๊ฐ ์ ์ ํ ํฌ๊ธฐ์ธ๊ฐ ๊ทธ๋ ์ง ์์๊ฐ ํ๋ ๋ฌธ์ ๋ ๊ฐ๋ฐ ํ์ ์ญ๋์ด๋ ์ฌ์ฉํ๋ ๊ธฐ์ ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค. ๋ํ, ๋ณต์กํ ์คํ ๋ฆฌ๋ ํฌ๊ธฐ๊ฐ ํฌ๋ฉด์๋ ์์ ์คํ ๋ฆฌ๋ค๋ก ๋๋๊ธฐ๊ฐ ์ฝ์ง ์๋ค. ๋๊ฐ ์คํ ๋ฆฌ ์์ฒด์ ๋ํ ๋ถํ์ค์ฑ ๋๋ฌธ์ ๋ณต์กํด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๋ฐ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๋ ์คํ ๋ฆฌ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ์คํ ๋ฆฌ๋ก ๋๋ ์ ์๋ค.
- 'ํ ์คํธ ๊ฐ๋ฅํ๋ค(Testable)' ์คํ ๋ฆฌ๋ ํ ์คํธ ๊ฐ๋ฅํ๋๋ก ์์ฑํด์ผ ํ๋ค. ํ ์คํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํด์ผ ๊ทธ ์คํ ๋ฆฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๊ฐ๋ฐ๋์๋ค๊ณ ๋งํ ์ ์๋ค. ์คํ ๋ฆฌ๊ฐ ํ ์คํธํ ์ ์๊ฒ ์์ฑ๋์๋ค๋ฉด, ๊ฐ๋ฐ์๊ฐ ์ธ์ ์ฝ๋ฉ์ ๊ทธ๋ง ๋์ด์ผ ํ ์ง ์ ์ ์๋ค.
- ๊ฐ๋ฐ์๋ ๊ณ ๊ฐ์ด ์ง์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋์ธ ์ฑ ์์ด ์๋ค. ์คํ ๋ฆฌ๋ ๊ณ ๊ฐ๊ณผ ์๊ฒฌ์ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ฝ์์ด์ง ์์ธํ ๋ช ์ธ์๊ฐ ์๋๋ค. ๊ธฐ์ ๊ณผ ๊ด๋ จ๋๊ฑฐ๋ ์์คํ ์ ๊ธฐ๋ฐ ๊ตฌ์กฐ ๊ฐ๋ฐ์ ๊ดํ ์คํ ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๋ค๋ฉด, ๊ทธ๊ฒ๋ค์ ์ง์ ์ธ๊ธํ๋ ๋์ ์ฌ์ฉ์์ ๊ณ ๊ฐ์๊ฒ ๊ฐ์น๋ฅผ ์ ๊ณตํ๋ ์ธก๋ฉด์์ ์ค๋ช ํ ์ฑ ์์ด ์๋ค.
- ๊ณ ๊ฐ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ ์ฑ ์์ด ์๋ค. ์คํ ๋ฆฌ๋ ์๊ฒฌ์ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ฝ์์ด์ง ์์ธํ ๋ช ์ธ์๊ฐ ์๋๋ค.
'๐๋์์ด ๋์์ด์' ๋๋ฅด๊ณ , ๋์ ์ ๋ณด ๋ณด๋ฌ๊ฐ๊ธฐ
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์