1. ์ํํธ์จ์ด ํ๋ก์ธ์ค ์ ์
์ํํธ์จ์ด์ ์ฃผ๊ธฐ๋ ์๊ตฌ์ฌํญ ๋ถ์ โ ์ค๊ณ โ ๊ตฌํ โ ํ
์คํธ โ ์ ์ง๋ณด์๋ก ์ด๋ค์ง๋ค.
ย
1-1. ์ํํธ์จ์ด ํ๋ก์ธ์ค๋?
์ํํธ์จ์ด ํ๋ก์ธ์ค๋ ์ํํธ์จ์ด ์์คํ
์ ๊ฐ๋ฐํ๋ ๋ฐ ํ์ํ ๊ตฌ์กฐํ๋ ์ผ๋ จ์ ํ๋
- Specification (๋ช ์ธํ): ์์คํ ์ด ๋ฌด์์ ํด์ผ ํ๋์ง ์ ์ํ๋ ๋จ๊ณ.
- Design and Implementation (์ค๊ณ ๋ฐ ๊ตฌํ): ์์คํ ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ์ค์ ๋ก ๊ตฌํํ๋ ๋จ๊ณ.
- Validation (๊ฒ์ฆ): ๊ณ ๊ฐ์ด ์ํ๋ ๋๋ก ์์คํ ์ด ๋์ํ๋์ง ํ์ธํ๋ ๋จ๊ณ.
- Evolution (์งํ): ๋ณํํ๋ ๊ณ ๊ฐ ์๊ตฌ์ ๋ง์ถ์ด ์์คํ ์ ์์ ํ๊ณ ๋ฐ์ ์ํค๋ ๋จ๊ณ.
์ํํธ์จ์ด ํ๋ก์ธ์ค ๋ชจ๋ธ์ ํ๋ก์ธ์ค๋ฅผ ์ถ์์ ์ผ๋ก ํํํ ๊ฒ์ด๋ค. ์ด๋ ํน์ ๊ด์ ์์ ํ๋ก์ธ์ค์ ๋ํ ์ค๋ช
์ ์ ์ํ๋ค.
๐กย ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ํ๋ก์ธ์ค๊ฐ ์์ ๊ฒฝ์ฐ:
- ์ค๊ณ์ ์ค์์ฑ์ ๊นจ๋ซ์ง ๋ชปํจ: ์ฒด๊ณ์ ์ธ ์ค๊ณ ์์ด ์๋ชป๋ ๋ฐฉ์์ผ๋ก ์งํ๋ ์ ์์.
- ๊ณํ ์์, ์์ ๋ชฉํ ์์: ๋ช ํํ ๊ณํ์ด๋ ๋ชฉํ๊ฐ ์์ด ์งํ๋จ.
- ์ฒด๊ณ์ ์ธ ํ ์คํธ ์์ ์ด๋ ํ์ง ๋ณด์ฆ ํ๋์ ํ์์ฑ์ ์ธ์ํ์ง ๋ชปํจ: ํ ์คํธ์ ํ์ง ๋ณด์ฆ์ด ์ค์ํ๋ค๋ ์ธ์์ด ๋ถ์กฑ.
โ ์ด๋ฌํ ๋ฐฉ์์ ์ฃผ๋จน๊ตฌ๊ตฌ์ ๋ฐฉ๋ฒ (Code-and-Fix)์ด๋ผ๊ณ ๋ถ๋ฆ.
ย
- ํ๋ก์ธ์ค๋ฅผ ๋ฌ์ฌํ๊ณ ๋ ผ์ํ ๋, ์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ชจ๋ธ ์ง์ , ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๊ณ ๋ฑ๊ณผ ๊ฐ์ ํ๋ก์ธ์ค์ ํ๋๊ณผ ์ด๋ฌํ ํ๋ ์์์ ๋ํด ์ด์ผ๊ธฐํ๋ค.
- ํ๋ก์ธ์ค์ ์ค๋ช ์๋ ์๋๋ ํฌํจ๋๋ค:
- Products (์ ํ): ํ๋ก์ธ์ค ํ๋์ ๊ฒฐ๊ณผ๋ฌผ.
- Roles (์ญํ ): ํ๋ก์ธ์ค์ ๊ด์ฌํ๋ ์ฌ๋๋ค์ ์ฑ ์์ ๋ฐ์.
- Pre- and post-conditions (์ฌ์ , ์ฌํ ์กฐ๊ฑด): ํ๋ ์ ํ์ ์ฐธ์ธ ์ง์ .
ย
1-2. ์ข์ ํ๋ก์ธ์ค์ ํน์ง
- Predictability (์์ธก๊ฐ๋ฅ์ฑ ์กด์ฌ)
- Testing and Maintainability (ํ ์คํ ๊ณผ ์ ์ง๋ณด์ ์ฉ์ด์ฑ)
- Supporting change (๋ณ๊ฒฝ ์ง์)
- Remove error (๊ฒฐํจ ์ ๊ฑฐ)
ย
1-3. Plan-driven๊ณผ Agile
1๏ธโฃย Plan-driven processes (๊ณํ ์ฃผ๋ํ ํ๋ก์ธ์ค):
- ๋ชจ๋ ํ๋ก์ธ์ค ํ๋์ด ์ฌ์ ์ ๊ณํ๋๊ณ , ์งํ ์ํฉ์ด ๊ทธ ๊ณํ์ ๋ฐ๋ผ ์ธก์ ๋๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธ.
- ์์น์ , ๊ณํ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก, ์ฒ์๋ถํฐ ๋ชจ๋ ๋จ๊ณ๊ฐ ๋ช ํํ ์ ์๋จ.
2๏ธโฃย Agile processes (๊ธฐ๋ฏผํ ํ๋ก์ธ์ค):
- ๊ณํ์ด ์ ์ง์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ๋ณํํ๋ ๊ณ ๊ฐ ์๊ตฌ์ ๋ง์ถฐ ํ๋ก์ธ์ค๋ฅผ ์์ ํ๋ ๊ฒ์ด ๋ ์ฉ์ดํ ํ๋ก์ธ์ค.
- ๊ธฐ๋ฏผํ ๋ฐฉ์์ผ๋ก, ๊ณ ๊ฐ์ ์๊ตฌ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์์.
- ์ค๋ฌด์์๋ ๋๋ถ๋ถ์ ํ๋ก์ธ์ค๊ฐ ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ ํฌํจํ๊ณ ์์ผ๋ฉฐ, ์ฌ๋ฐ๋ฅด๊ฑฐ๋ ์๋ชป๋ ์ํํธ์จ์ด ํ๋ก์ธ์ค๋ ์กด์ฌํ์ง ์๋๋ค.
ย
2. ์ํํธ์จ์ด ํ๋ก์ธ์ค ๋ชจ๋ธ
- ํญํฌ์ ๋ชจ๋ธ
- Plan-driven ๋ชจ๋ธ.
- ๋ช ์ธ์ ๊ฐ๋ฐ์ ๋ณ๋์ ๊ตฌ๋ถ๋ ๋จ๊ณ.
- ์ ์ง์ ๊ฐ๋ฐ
- ๋ช ์ธ, ๊ฐ๋ฐ, ๊ฒ์ฆ์ด ์ํธ ์ฐ๊ด๋จ.
- Plan-driven ํน์ Agile ๋ฐฉ์์ผ ์ ์์.
- ํตํฉ ๋ฐ ๊ตฌ์ฑ
- ์์คํ ์ด ๊ธฐ์กด์ ๊ตฌ์ฑ ๊ฐ๋ฅํ ๊ตฌ์ฑ์์๋ก๋ถํฐ ์กฐ๋ฆฝ๋จ.
- Plan-driven ํน์ Agile ๋ฐฉ์์ผ ์ ์์.
โ ์ค์ ๋ก, ๋๋ถ๋ถ์ ๋๊ท๋ชจ ์์คํ
์ ์ด ๋ชจ๋ ๋ชจ๋ธ์ ์์๋ฅผ ํตํฉํ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋๋ค.
ย
1๏ธโฃย ํญํฌ์ ๋ชจ๋ธ
ํญํฌ์ ๋ชจ๋ธ์๋ ๋ณ๋๋ก ์๋ณ๋ ๋จ๊ณ๊ฐ ์์:
- ์๊ตฌ์ฌํญ ๋ถ์ ๋ฐ ์ ์
- ์์คํ ๋ฐ ์ํํธ์จ์ด ์ค๊ณ
- ๊ตฌํ ๋ฐ ๋จ์ ํ ์คํธ
- ํตํฉ ๋ฐ ์์คํ ํ ์คํธ
- ์ด์ ๋ฐ ์ ์ง๋ณด์
ํญํฌ์ ๋ชจ๋ธ์ ์ฃผ์ ๋จ์ ์ ํ๋ก์ธ์ค๊ฐ ์งํ ์ค์ผ ๋ ๋ณ๊ฒฝ์ ์์ฉํ๊ธฐ ์ด๋ ต๋ค๋ ์ ์ด๋ค. ์์น์ ์ผ๋ก, ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ํ ๋จ๊ณ๋ฅผ ์๋ฃํด์ผ ํ๋ค.
ย
๐ย ํญํฌ์ ๋ชจ๋ธ์ ๋ฌธ์ ์
- ํ๋ก์ ํธ๋ฅผ ๋ณ๊ฐ์ ๋จ๊ณ๋ก ์ ์ฐํ์ง ์๊ฒ ๋ถํ ํ๋ฉด ๋ณํํ๋ ๊ณ ๊ฐ ์๊ตฌ์ฌํญ์ ๋์ํ๊ธฐ ์ด๋ ต๋ค.
- ๋ฐ๋ผ์ ์ด ๋ชจ๋ธ์ ์๊ตฌ์ฌํญ์ด ๊ต์ฅํ ๋ช ํํ๊ณ ์ค๊ณ ๊ณผ์ ์ค ๋ณ๊ฒฝ์ด ์ ํ์ ์ผ ๋๋ง ์ ํฉํ๋ค.
- ์ฆ ์์์ ๋ช๋ช ๋น์ฆ๋์ค ์์คํ ๋ง์ด ์์ ์ ์ธ ์๊ตฌ์ฌํญ์ ๊ฐ์ง๊ณ ์๋ค.
- ํญํฌ์ ๋ชจ๋ธ์ ์ฃผ๋ก ์์คํ ์ด ์ฌ๋ฌ ์ฌ์ดํธ์์ ๊ฐ๋ฐ๋๋ ๋๊ท๋ชจ ์์คํ ์์ง๋์ด๋ง ํ๋ก์ ํธ์ ์ฌ์ฉ๋๋ค.
- ์ด๋ฌํ ์ํฉ์์, ํญํฌ์ ๋ชจ๋ธ์ Plan-driven ํน์ฑ์ด ์์ ์ ์กฐ์จํ๋ ๋ฐ ๋์์ด ๋๋ค.
ย
ย
2๏ธโฃย Incremental development (์ ์ง์ ๊ฐ๋ฐ)
- ์ ์ง์ ๊ฐ๋ฐ์ ์ด์
- ๋ณํํ๋ ๊ณ ๊ฐ ์๊ตฌ์ฌํญ ์์ฉ ๋น์ฉ ๊ฐ์: ํญํฌ์ ๋ชจ๋ธ์ ๋นํด ๋ถ์๊ณผ ๋ฌธ์ํ ์์ ์ ์ฌ์์ ์์ด ํจ์ฌ ์ ๋ค.
- ๊ณ ๊ฐ ํผ๋๋ฐฑ ์์ง ์ฉ์ด์ฑ: ๊ณ ๊ฐ์ด ์ํํธ์จ์ด ๋ฐ๋ชจ๋ฅผ ๋ณด๊ณ ๊ตฌํ๋ ๊ธฐ๋ฅ์ ๋ํด ์ฆ์ ์๊ฒฌ์ ์ ์ํ ์ ์๋ค.
- ์ ์ฉํ ์ํํธ์จ์ด์ ๋น ๋ฅธ ์ ๊ณต ๋ฐ ๋ฐฐํฌ: ๊ณ ๊ฐ์ด ํญํฌ์ ๋ฐฉ์๋ณด๋ค ๋ ์ผ์ฐ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ณ ๊ฐ์น๋ฅผ ์ป์ ์ ์๋ค.
- ์ ์ง์ ๊ฐ๋ฐ์ ๋จ์
- ํ๋ก์ธ์ค์ ๊ฐ์์ฑ ๋ถ์กฑ:
- ๊ด๋ฆฌ์๋ค์ด ์งํ ์ํฉ์ ์ธก์ ํ๊ธฐ ์ํด ์ ๊ธฐ์ ์ธ ์ฐ์ถ๋ฌผ์ด ํ์ํจ.
- ์์คํ ์ด ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ๋๋ ๊ฒฝ์ฐ, ๋ชจ๋ ๋ฒ์ ์ ๋ํ ๋ฌธ์๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋น์ฉ ํจ์จ์ ์ด์ง ์์.
- ์์คํ ๊ตฌ์กฐ์ ์ ์ง์ ์ ํ:
- ์๋ก์ด ์ฆ๋ถ(increment)์ด ์ถ๊ฐ๋ ๋๋ง๋ค ์์คํ ๊ตฌ์กฐ๊ฐ ์ ํ๋๋ ๊ฒฝํฅ์ด ์์.
- ์ํํธ์จ์ด ๊ฐ์ ์ ์ํ ๋ฆฌํฉํ ๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ ํฌ์ํ์ง ์์ผ๋ฉด, ์ง์์ ์ธ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๊ตฌ์กฐ๊ฐ ์์๋ ์ ์์.
- ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ถ๊ฐ์ ์ธ ์ํํธ์จ์ด ๋ณ๊ฒฝ ์์ ์ด ์ ์ ๋ ์ด๋ ต๊ณ ๋น์ฉ์ด ๋ง์ด ๋ค๊ฒ ๋จ.
ย
2๏ธโฃย Integration and configuration (ํตํฉ ๋ฐ ๊ตฌ์ฑ)
- ์ํํธ์จ์ด ์ฌ์ฌ์ฉ ๊ธฐ๋ฐ:
- ๊ธฐ์กด ์ปดํฌ๋ํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์คํ ์ ํตํฉํ์ฌ ์๋ก์ด ์์คํ ์ ๊ตฌ์ถํ๋ค.
- ์ด๋ ์ข ์ข 'COTS(Commercial-off-the-shelf) ์์คํ '์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
- ์ฌ์ฌ์ฉ ์์์ ๊ตฌ์ฑ:
- ์ฌ์ฌ์ฉ๋๋ ์์๋ค์ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ๋์๊ณผ ๊ธฐ๋ฅ์ ์กฐ์ ํ ์ ์๋๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
- ํ์ค ์ ๊ทผ ๋ฐฉ์:
- ์ฌ์ฌ์ฉ์ ํ์ฌ ๋ง์ ์ ํ์ ๋น์ฆ๋์ค ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐ ์์ด ํ์ค์ ์ธ ์ ๊ทผ ๋ฐฉ์์ด ๋์๋ค.
๋ค์ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์ ํ์ ๋ค์๊ณผ ๊ฐ๋ค:
- ๋ ๋ฆฝํ ์ ํ๋ฆฌ์ผ์ด์ ์์คํ (Stand-alone application systems):
- ๋๋ก๋ COTS(Commercial Off-The-Shelf)๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
- ํน์ ํ๊ฒฝ์์ ์ฌ์ฉํ๊ธฐ ์ํด ๊ตฌ์ฑ๋ ์์คํ ์ด๋ค.
- ์: ์ฌ๋ฌด์ฉ ์ํํธ์จ์ด ํจํค์ง, ERP ์์คํ ๋ฑ
- ๊ฐ์ฒด ์ปฌ๋ ์ (Collections of objects):
- ์ปดํฌ๋ํธ ํ๋ ์์ํฌ์ ํตํฉ๋๋๋ก ํจํค์ง๋ก ๊ฐ๋ฐ๋ ๊ฐ์ฒด๋ค์ ๋ชจ์์ด๋ค.
- .NET์ด๋ J2EE์ ๊ฐ์ ํ๋ ์์ํฌ์ ํจ๊ป ์ฌ์ฉ๋๋ค.
- ์: UI ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฐ์ดํฐ ์ ๊ทผ ๊ฐ์ฒด ๋ฑ
- ์น ์๋น์ค (Web services):
- ์๋น์ค ํ์ค์ ๋ฐ๋ผ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์๊ฒฉ ํธ์ถ์ด ๊ฐ๋ฅํ๋ค.
- ๋คํธ์ํฌ๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์: ๊ฒฐ์ ์ฒ๋ฆฌ ์๋น์ค, ์ง๋ API, ๋ ์จ ์ ๋ณด ์๋น์ค ๋ฑ
ย
๐กย ์ฌ์ฌ์ฉ ์งํฅ ์ํํธ์จ์ด ๊ณตํ
- ์๊ตฌ์ฌํญ ๋ช ์ธ: ์ด๊ธฐ ์๊ตฌ์ฌํญ ์ ์
- ์ํํธ์จ์ด ๋ฐ๊ฒฌ ๋ฐ ํ๊ฐ: ์๊ตฌ์ฌํญ ๊ฐ์๋ฅผ ๋ฐํ์ผ๋ก ํ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ตฌ์ฑ ์์์ ์์คํ ๋ฐ๊ฒฌ
- ์๊ตฌ์ฌํญ ๊ฐ์ : ๋ฐ๊ฒฌ๋ ๊ตฌ์ฑ ์์๋ ์์คํ ์ ์ฌ์ฉํ์ฌ ์๊ตฌ์ฌํญ ๊ฐ์
- ์ ํ๋ฆฌ์ผ์ด์ ์์คํ ๊ตฌ์ฑ: ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ COTS(์์ฉ ๊ธฐ์ฑํ) ์ ํ๋ฆฌ์ผ์ด์ ์์คํ ์ฌ์ฉ
- ๊ตฌ์ฑ ์์ ์ ์ ๋ฐ ํตํฉ: ์ ํฉํ COTS๊ฐ ์๋ ๊ฒฝ์ฐ ๊ตฌ์ฑ ์์ ๊ฐ๋ฐ
์ฅ์ :
- ์ฒ์๋ถํฐ ๊ฐ๋ฐํ๋ ์ํํธ์จ์ด๊ฐ ์ ์ด ๋น์ฉ๊ณผ ์ํ ๊ฐ์
- ์์คํ ์ ๋ ๋น ๋ฅธ ์ ๊ณต ๋ฐ ๋ฐฐํฌ
๋จ์ :
- ์๊ตฌ์ฌํญ ํํ์ด ๋ถ๊ฐํผํ์ฌ ์ฌ์ฉ์์ ์ค์ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ์ง ๋ชปํ ์ ์์
- ์ฌ์ฌ์ฉ๋ ์์คํ ์์์ ์งํ์ ๋ํ ํต์ ๋ ฅ ์์ค
ย
3. ํ๋ก์ธ์ค ํ๋
- ์ค์ ์ํํธ์จ์ด ํ๋ก์ธ์ค๋ ์ํธ ๊ต์ฐจ๋๋ ํ๋๋ค๋ก ๊ตฌ์ฑ๋จ:
- ์ํํธ์จ์ด ํ๋ก์ธ์ค๋ ๊ธฐ์ ์ , ํ์ ์ , ๊ด๋ฆฌ์ ํ๋๋ค์ด ํผํฉ๋ ์์๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ถ๊ทน์ ์ธ ๋ชฉํ๋ ์ํํธ์จ์ด ์์คํ ์ ๋ช ์ธ, ์ค๊ณ, ๊ตฌํ, ํ ์คํธํ๋ ๊ฒ์ด๋ค.
- ๋ค ๊ฐ์ง ๊ธฐ๋ณธ ํ๋ก์ธ์ค ํ๋:
- ์ํํธ์จ์ด ํ๋ก์ธ์ค์๋ ๋ค ๊ฐ์ง ๊ธฐ๋ณธ ํ๋์ด ์๋ค:
- ๋ช ์ธ
- ๊ฐ๋ฐ
- ๊ฒ์ฆ
- ์งํ
์๋ฅผ ๋ค์ด ํญํฌ์ ๋ชจ๋ธ์์๋ ์ด ํ๋๋ค์ด ์์ฐจ์ ์ผ๋ก ์กฐ์ง๋์ง๋ง, ์ ์ฆ์ ๊ฐ๋ฐ์์๋ ์ํธ ๊ต์ฐจ๋์ด ์งํ๋๋ค.
ย
3-1. ์ํํธ์จ์ด ๋ช ์ธ
์ํํธ์จ์ด ๋ช
์ธ๋ ์์คํ
์ด ์ด๋ค ์๋น์ค๋ฅผ ์ ๊ณตํด์ผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์์คํ
์ ์ด์ ๋ฐ ๊ฐ๋ฐ์ ๋ํ ์ ์ฝ์ ์ ์ํ๋ ๊ณผ์ . ์ฆ, โ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํด์ผ ํ๋ ๊ฒ ๋ฌด์์ธ์งโ์ ๋ํด ๋ช
์ธํ๋ ๊ณผ์ ์ด๋ค.
์๊ตฌ ์ฌํญ ์์ง๋์ด๋ง ํ๋ก์ธ์ค๋ ์๊ตฌ์ฌํญ ๋์ถ ๋ฐ ๋ถ์, ์๊ตฌ ์ฌํญ ๋ช
์ธ, ์๊ตฌ ์ฌํญ ๊ฒ์ฆ์ผ๋ก ๋๋๋ค.
๐ย ์๊ตฌ์ฌํญ ์์ง๋์ด๋ง ํ๋ก์ธ์ค ํ๋ฆ๋
ย
3-2. ์ํํธ์จ์ด ์ค๊ณ ๋ฐ ๊ตฌํ
์์คํ
๋ช
์ธ๋ฅผ ์คํ ๊ฐ๋ฅํ ์์คํ
์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ค.
- ์ค๊ณ๋ ๋ช ์ธ๋ฅผ ์คํํ๋ ์ํํธ์จ์ด ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๊ฒ์ด๋ฉฐ, ๊ตฌํ์ ์ด ๊ตฌ์กฐ๋ฅผ ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณํ ํ๋ ๊ฒ์ด๋ค.
1๏ธโฃย ์ค๊ณ ํ๋
- ์ํคํ ์ฒ ์ค๊ณ: ์์คํ ์ ์ ์ฒด ๊ตฌ์กฐ, ์ฃผ์ ์ปดํฌ๋ํธ(์๋ธ์์คํ ๋๋ ๋ชจ๋), ์ด๋ค์ ๊ด๊ณ ๋ฐ ๋ถํฌ ๋ฐฉ์์ ์ ์.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ: ์์คํ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๊ณ ์ด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ป๊ฒ ํํํ ์ง๋ฅผ ๊ฒฐ์ .
- ์ธํฐํ์ด์ค ์ค๊ณ: ์์คํ ์ปดํฌ๋ํธ ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์.
- ์ปดํฌ๋ํธ ์ ํ ๋ฐ ์ค๊ณ: ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ฅผ ์ฐพ๊ณ , ์์ ๊ฒฝ์ฐ ์ค๊ณ.
2๏ธโฃย ๊ตฌํ ํ๋
- ์ํํธ์จ์ด๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์คํ ์ ๊ตฌ์ฑํ์ฌ ๊ตฌํ๋จ.
- ์ค๊ณ์ ๊ตฌํ์ ์ํธ ๊ต์ฐจ๋๋ ํ๋.
- ํ๋ก๊ทธ๋๋ฐ์ ํ์คํ๋ ๊ณผ์ ์ด ์์ผ๋ฉฐ ๊ฐ์ธ๋ณ๋ก ๋ค๋ฅด๊ฒ ์ํ.
- ๋๋ฒ๊น ์ ํ๋ก๊ทธ๋จ์ ๊ฒฐํจ์ ์ฐพ์ ์์ ํ๋ ํ๋. ๋๋ฒ๊น ๋ ๊ตฌํ์ ํ ํ๋์ด๋ค.
3-3. ์ํํธ์จ์ด ๊ฒ์ฆ
- ๊ฒ์ฆ ๋ฐ ํ์ธ (Verification & Validation): ์์คํ ์ด ๋ช ์ธ๋ฅผ ์ค์ํ๊ณ , ๊ณ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋์ง ํ์ธํ๋ ๊ณผ์ . ์ฆ, ๋ด๊ฐ ์ค๊ณ๋๋ก ์ ๊ตฌํํ๋์ง / ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ด ์ ๋ฐ์๋์๋์ง ํ์ธํ๋ค.
- ๊ฒ์ฆ ๊ณผ์ ์ ์์คํ ํ ์คํธ์ ๋ฆฌ๋ทฐ๋ฅผ ํฌํจํ๋ค.
- ํ ์คํ ์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ V&V ํ๋์ผ๋ก, ํ ์คํธ ์ผ์ด์ค๋ฅผ ํตํด ์์คํ ์ ๊ฒ์ฆํ๋ค.
- ์ปดํฌ๋ํธ ํ ์คํธ: ๊ฐ๋ณ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํ ์คํธ.
- ์์คํ ํ ์คํธ: ์์คํ ์ ์ฒด๋ฅผ ํ ์คํธํ๋ฉฐ, emergent property(์ ๊ท ์์ฑ) ํ ์คํธ๊ฐ ์ค์.
- ๊ณ ๊ฐ ํ ์คํธ: ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ์์คํ ์ด ๊ณ ๊ฐ์ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ๋์ง ํ์ธ.
ย
โย V-Model์ ํ ์คํธ ๋จ๊ณ
- ์๊ตฌ ์ฌํญ ๋ช ์ธ -> ์์คํ ๋ช ์ธ -> ์์คํ ์ค๊ณ -> ์ธ๋ถ ์ค๊ณ -> ๋ชจ๋/์ ๋ ์ฝ๋ ๋ฐ ํ ์คํธ.
- ๊ฐ ๋จ๊ณ๋ง๋ค ํ ์คํธ ๊ณํ์ ์ธ์ฐ๊ณ , ํตํฉ ํ ์คํธ ๋ฐ ์น์ธ ํ ์คํธ๋ฅผ ํตํด ์์คํ ์ ์ ํฉ์ฑ ํ์ธ.
ย
3-4. ์ํํธ์จ์ด ์งํ
์ํํธ์จ์ด๋ ์ ์ฐํ๊ณ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ฉฐ, ์๊ตฌ ์ฌํญ์ด ๋ณํํจ์ ๋ฐ๋ผ ์ํํธ์จ์ด๋ ๋ณํํด์ผ ํ๋ค. ๊ธฐ์กด ์์คํ
์ ํ๊ฐํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํ๊ณ , ์์คํ
์ ์์ ํด ์๋ก์ด ์์คํ
์ผ๋ก ์งํ์ํจ๋ค.
ย
4. ๋ณํ์ ๋์ํ๊ธฐ (Coping with change)
- ๋ชจ๋ ๋๊ท๋ชจ ์ํํธ์จ์ด ํ๋ก์ ํธ์์, ๋ณ๊ฒฝ์ ๋ถ๊ฐํผํ๋ค.
- ๋น์ฆ๋์ค ๋ณํ: ์๋ก์ด ์๊ตฌ ์ฌํญ ๋ฐ์.
- ์๋ก์ด ๊ธฐ์ : ๊ฐ์ ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค.
- ํ๋ซํผ ๋ณํ: ์ ํ๋ฆฌ์ผ์ด์ ๋ณ๊ฒฝ ์๊ตฌ.
โ ๋ณ๊ฒฝ์ ์ฌ์์
(rework)์ ์ ๋ฐ: ๋ณ๊ฒฝ ๋น์ฉ์ ์ฌ๋ถ์๊ณผ ์๋ก์ด ๊ธฐ๋ฅ ๊ตฌํ ๋น์ฉ์ ํฌํจํ๋ค.
ย
๐ย rework(์ฌ์์ )์ ๋น์ฉ์ ์ค์ด๋ ๋ฐฉ๋ฒ
- ๋ณ๊ฒฝ ์์ธก: ์ค์ํ ์ฌ์์ ์ ์ ๊ฐ๋ฅํ ๋ณ๊ฒฝ ์ฌํญ์ ์์ํ๋ ํ๋ ํฌํจ.
- ์์: ํ๋กํ ํ์ ์์คํ ์ ๊ฐ๋ฐํด ๊ณ ๊ฐ์๊ฒ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ค.
- ๋ณ๊ฒฝ ํ์ฉ: ๋น๊ต์ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ๋ณ๊ฒฝ์ด ์์ฉ๋๋๋ก ํ๋ก์ธ์ค ์ค๊ณ. (์ฃผ์ ๊ธฐ๋ฅ์ ๊ณ์ ๊ฐ๋ฐํด ๋๊ฐ๋ฉด์)
- ์ ์ง์ ๊ฐ๋ฐ ๋ฐฉ์ ํฌํจ.
- ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ๋ง ์์คํ ์ ์์ ๋ถ๋ถ์ ์ ์ฉ ๊ฐ๋ฅ.
ย
๐ย ์๊ตฌ์ฌํญ ๋ณ๊ฒฝ ๋์
- ์์คํ ํ๋กํ ํ์ดํ: ๊ณ ๊ฐ์ ์๊ตฌ๋ฅผ ํ์ธํ๊ณ ์ค๊ณ ๊ฒฐ์ ์ ํ๊ฐํ๊ธฐ ์ํด ์์คํ ๋๋ ์ผ๋ถ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ. (๋์์ ํ์ง ์๊ณ ๊ป๋ฐ๊ธฐ๋ง, ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋์ถํ๊ธฐ ์ํ)
- ์ด ์ ๊ทผ๋ฒ์ ๋ณ๊ฒฝ ์์ธก์ ์ง์ํ๋ค.
- ๋จ๊ณ์ ์ธ์ (Incremental delivery): ์์คํ ์ฆ๋ถ์ ๊ณ ๊ฐ์๊ฒ ์ ๋ฌํ์ฌ ํผ๋๋ฐฑ๊ณผ ์คํ์ ์ง์.
- ๋ณ๊ฒฝ ๋ฐฉ์ง์ ํ์ฉ ๋ชจ๋ ์ง์ํ๋ค.
ย
4-1. ์์คํ ํ๋กํ ํ์ดํ
- ํ๋กํ ํ์ ์ ์: ์์คํ ์ ์ด๊ธฐ ๋ฒ์ ์ผ๋ก ๊ฐ๋ ์ ์์ฐํ๊ณ ์ค๊ณ ์ต์ ์ ์ํํ๋ค.
โ ์๊ตฌ ์ฌํญ ๋์ถ๊ณผ ๊ฒ์ฆ, ์ค๊ณ ์ต์
ํ์, ํ
์คํธ์ ํ์ฉํ ์ ์๋ค.
- ํ๋กํ ํ์ ์ ์ด์ ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์ด ์๋ค:
- ์์คํ ์ฌ์ฉ์ฑ ํฅ์
- ์ฌ์ฉ์์ ์ค์ ์๊ตฌ์ ๋ ๊ฐ๊น์์ง
- ์ค๊ณ ํ์ง ํฅ์
- ์ ์ง๋ณด์์ฑ ํฅ์
- ๊ฐ๋ฐ ๋ ธ๋ ฅ ๊ฐ์
- ํ๋กํธํ์ ๊ฐ๋ฐ ๊ณผ์
๐ย ํ๋กํ ํ์ ๊ฐ๋ฐ
- ๋น ๋ฅธ ํ๋กํ ํ์ดํ ๋๊ตฌ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ์ผ๋ถ ๊ธฐ๋ฅ ์ ์ธ ๊ฐ๋ฅ:
- ์ดํด๋์ง ์์ ์์ญ์ ์ง์ค
- ์ค๋ฅ ์ฒดํฌ ๋ฐ ๋ณต๊ตฌ๋ ํฌํจ๋์ง ์์ ์ ์์
- ์ ๋ขฐ์ฑ, ๋ณด์๋ณด๋ค๋ ๊ธฐ๋ฅ์ ์๊ตฌ์ ์ง์ค
- ์ผํ์ฉ ํ๋กํ ํ์ ์ ๊ฐ๋ฐ ํ ํ๊ธฐํ๋ค:
- ๋น๊ธฐ๋ฅ์ ์๊ตฌ ์ถฉ์กฑ ๋ถ๊ฐ
- ๋ฌธ์ํ๊ฐ ์ด๋ฃจ์ด์ง์ง ์์
- ๋น ๋ฅธ ๋ณ๊ฒฝ์ผ๋ก ๊ตฌ์กฐ ์ ํ
- ํ์ง ๊ธฐ์ค ๋ฏธ๋ฌ ๊ฐ๋ฅ์ฑ
ย
4-2. ๋จ๊ณ์ ์ธ์ (Incremental delivery)
์์คํ
์ ํ ๋ฒ์ ์ธ๋ํ๋ ๋์ , ๊ฐ๋ฐ ๋ฐ ์ธ์๋ ๋จ๊ณ์ ์ผ๋ก ๋๋์ด ์งํ๋์ด ๊ฐ ๋จ๊ณ๊ฐ ์๊ตฌ๋ ๊ธฐ๋ฅ์ ์ผ๋ถ๋ฅผ ์ ๊ณตํ๋ค.
- ์ฌ์ฉ์ ์๊ตฌ ์ฌํญ์ ์ฐ์ ์์๊ฐ ๋งค๊ฒจ์ง๊ณ , ์ฐ์ ์์๊ฐ ๋์ ์๊ตฌ ์ฌํญ์ ์ด๊ธฐ ๋จ๊ณ์ ํฌํจ.
- ํ ๋จ๊ณ์ ๊ฐ๋ฐ์ด ์์๋๋ฉด ํด๋น ๋จ๊ณ์ ์๊ตฌ ์ฌํญ์ ๊ณ ์ ๋์ง๋ง, ์ดํ ๋จ๊ณ์ ์๊ตฌ ์ฌํญ์ ๊ณ์ ์งํ ๊ฐ๋ฅ.
- ๋จ๊ณ์ ๊ฐ๋ฐ: ์์คํ ์ ๋จ๊ณ์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ , ๊ฐ ๋จ๊ณ๋ฅผ ํ๊ฐํ ํ ๋ค์ ๋จ๊ณ๋ก ์งํ.
- ์ ์์ผ ๋ฐฉ๋ฒ๋ก ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ฌ์ฉ์๋ ๊ณ ๊ฐ์ ํ๊ฐ์ ์ํด ์งํ.
- ๋จ๊ณ์ ์ ๋ฌ: ์ฌ์ฉ์์๊ฒ ๊ฐ ๋จ๊ณ๋ณ๋ก ์ ๋ฌํ์ฌ ์ํํธ์จ์ด์ ์ค์ ์ฌ์ฉ์ ๋ํด ๋ ํ์ค์ ์ธ ํ๊ฐ๊ฐ ๊ฐ๋ฅ.
- ๊ธฐ์กด ์์คํ ์ ๋์ฒดํ๋ ๊ฒฝ์ฐ, ๋จ๊ณ๋ณ ์ ๋ฌ์ ๊ตฌํ์ด ์ด๋ ค์ธ ์ ์์.
ย
๐ย ๋จ๊ณ์ ์ ๋ฌ์ ์ด์
- ๊ฐ ๋จ๊ณ๊ฐ ์๋ฃ๋ ๋๋ง๋ค ๊ธฐ๋ฅ์ด ๋น ๋ฅด๊ฒ ์ ๊ณต๋์ด ๊ณ ๊ฐ ๊ฐ์น๊ฐ ์ ๋ฌ๋จ.
- ์ด๊ธฐ ๋จ๊ณ๋ ํ์ ๋จ๊ณ์ ์๊ตฌ ์ฌํญ์ ๋์ถํ๋ ํ๋กํ ํ์ ์ญํ .
- ํ๋ก์ ํธ ์ ์ฒด ์คํจ์ ์ํ ๊ฐ์.
- ์ฐ์ ์์๊ฐ ๋์ ์์คํ ๊ธฐ๋ฅ์ด ๋ ๋ง์ด ํ ์คํธ๋จ.
๐ย ๋จ๊ณ์ ์ ๋ฌ์ ๋ฌธ์ ์
- ๋๋ถ๋ถ์ ์์คํ ์ ์ฌ๋ฌ ๋ถ๋ถ์์ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ ์ธํธ๊ฐ ํ์ํจ.
- ์๊ตฌ ์ฌํญ์ด ๋ชจ๋ ๋จ๊ณ์ ํ์ํ ๊ณตํต ๊ธฐ๋ฅ์ ์๋ณํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ฆ.
- ๋ฐ๋ณต์ ํ๋ก์ธ์ค์ ๋ณธ์ง์ ์ํํธ์จ์ด์ ํจ๊ป ๋ช ์ธ๊ฐ ๊ฐ๋ฐ๋๋ค๋ ๊ฒ.
- ๊ทธ๋ฌ๋ ๋ง์ ์กฐ์ง์ ๊ณ์ฝ ๋ชจ๋ธ๊ณผ ์ถฉ๋ํ ์ ์์(์์ ํ ์์คํ ๋ช ์ธ๊ฐ ๊ฐ๋ฐ ๊ณ์ฝ์ ์ผ๋ถ์ธ ๊ฒฝ์ฐ).
ย
5. ํ๋ก์ธ์ค ๊ฐ์
- ๋ง์ ์ํํธ์จ์ด ํ์ฌ๋ค์ ํ๋ก์ธ์ค ๊ฐ์ ์ ํตํด ์ํํธ์จ์ด ํ์ง์ ํฅ์์ํค๊ณ , ๋น์ฉ ์ ๊ฐ ๋๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๋ค. ํ๋ก์ธ์ค ๊ฐ์ ์ด๋ ๊ธฐ์กด ํ๋ก์ธ์ค๋ฅผ ์ดํดํ๊ณ ๋ณ๊ฒฝํ์ฌ ์ ํ ํ์ง์ ๋์ด๊ณ ๋น์ฉ ๋ฐ ๊ฐ๋ฐ ์๊ฐ์ ์ค์ด๋ ๊ฒ์ด๋ค.
ย
5-1. ๊ฐ์ ์ ๊ทผ๋ฒ
- ํ๋ก์ธ์ค ์ฑ์๋ ์ ๊ทผ๋ฒ: ํ๋ก์ธ์ค์ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ๋ฉฐ, ์ข์ ์ํํธ์จ์ด ๊ณตํ ๊ดํ์ ๋์ ํ๋ค.
- ์ ์์ผ ์ ๊ทผ๋ฒ: ๋ฐ๋ณต์ ์ธ ๊ฐ๋ฐ๊ณผ ์ค๋ฒํค๋ ๊ฐ์์ ์ค์ ์ ๋๋ฉฐ, ๋น ๋ฅธ ๊ธฐ๋ฅ ์ ๊ณต๊ณผ ๊ณ ๊ฐ ์๊ตฌ์ ์ ์ํ ๋์ํ๋ค.
- ์ธก์ -> ๋ถ์ -> ๋ณ๊ฒฝ์ ์ฃผ๊ธฐ๋ก, ํ๋ก์ธ์ค๋ฅผ ์ง์์ ์ผ๋ก ๊ฐ์ ํ๋ค.
ย
5-2. ํ๋ก์ธ์ค ๊ฐ์ ํ๋
- ํ๋ก์ธ์ค ์ธก์ : ํ๋ก์ธ์ค๋ ์ ํ์ ํน์ฑ์ ์ธก์ ํ์ฌ ๊ฐ์ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค.
- ํ๋ก์ธ์ค ๋ถ์: ํ์ฌ ํ๋ก์ธ์ค๋ฅผ ํ๊ฐํ๊ณ ์ฝ์ ๊ณผ ๋ณ๋ชฉ ํ์์ ์๋ณํ๋ค.
- ํ๋ก์ธ์ค ๋ณ๊ฒฝ: ์๋ณ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋ก์ธ์ค ๋ณ๊ฒฝ์ ์ ์ํ๊ณ ๋ค์ ๋ฐ์ดํฐ ์์ง์ ํตํด ํจ๊ณผ ํ๊ฐํ๋ค.
๐ย ํ๋ก์ธ์ค ๊ฐ์ ํ๊ฐ๋ฅผ ์ํ ์ธก์
- ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ๋์ ๋ฐ์ดํฐ ์์งํ๋ค.
- ํ๋ก์ธ์ค ์ธก์ ์ ๊ฐ์ ์ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋์ด์ผ ํ์ง๋ง, ์ธก์ ์์ฒด๊ฐ ๊ฐ์ ์ ์ฃผ๋ํด์๋ ์ ๋๋ค.
- ์กฐ์ง์ ๋ชฉํ๊ฐ ๊ฐ์ ์ ๋๋ ฅ์ด ๋์ด์ผ ํ๋ค.
ย
- ํ๋ก์ธ์ค ๋งคํธ๋ฆญ์ค?
- ์์ ์๊ฐ: ํ๋ก์ธ์ค ํ๋์ด ์๋ฃ๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ.
- ํ์ ์์: ํ๋์ ํ์ํ ์ธ๋ ฅ ์์.
- ํน์ ์ด๋ฒคํธ ๋ฐ์ ํ์: ์๋ฅผ ๋ค์ด, ๋ฐ๊ฒฌ๋ ๊ฒฐํจ ์.
ย
5-3. SEI ์ฑ์๋ ๋ชจ๋ธ
- ๋ ๋ฒจ 1: ์ด๊ธฐ(ํต์ ๊ฐ ๊ฑฐ์ ์์)
- ๋ ๋ฒจ 2: ๋ฐ๋ณต ๊ฐ๋ฅ(์ ํ ๊ด๋ฆฌ ์ ์ฐจ ์ ์ ๋ฐ ์ฌ์ฉ)
- ๋ ๋ฒจ 3: ์ ์(ํ๋ก์ธ์ค ๊ด๋ฆฌ ์ ์ฐจ ๋ฐ ์ ๋ต ์ ์ ๋ฐ ์ฌ์ฉ)
- ๋ ๋ฒจ 4: ๊ด๋ฆฌ(ํ์ง ๊ด๋ฆฌ ์ ๋ต ์ ์ ๋ฐ ์ฌ์ฉ)
- ๋ ๋ฒจ 5: ์ต์ ํ(ํ๋ก์ธ์ค ๊ฐ์ ์ ๋ต ์ ์ ๋ฐ ์ฌ์ฉ)
ย
๋๊ธ