CMMI
Capability Maturity Model Integration, ๋ฅ๋ ฅ ์ฑ์๋ ๋ชจ๋ธ ํตํฉ
Carnegie Mellon University ์ฐ๊ตฌ์ง์ด ๊ฐ๋ฐ
๋ฏธ๊ตญ ๊ตญ๋ฐฉ์ฑ(DoD)์์ ์ํํธ์จ์ด ์ธ์ฃผ ์
์ฒด๋ฅผ ์ ์ ํ ๋ "์ด ํ์ฌ๊ฐ ๋ฏฟ๊ณ ๋งก๊ธธ ๋งํ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ท๋?"๋ฅผ ํ๊ฐํ๊ธฐ ์ํด ๋ง๋ ๊ธฐ์ค
https://ko.wikipedia.org/wiki/๋ฅ๋ ฅ_์ฑ์๋_ํตํฉ_๋ชจ๋ธ
https://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
| ์ฑ์๋ | ๋จ๊ณ | ์ฝ์ฝ์ด | ์ฃผ์ ๋ฌธ์ | ์ถ๊ฐ๋๋ ํต์ฌ ์๋ฏธ |
|---|---|---|---|---|
| Level 2 (Managed) | ํ๋ก์ ํธ ๊ด๋ฆฌ | SPP, SRS, SCMP, SQAP | ํ๋ก์ ํธ ๊ณํ์, ์๊ตฌ์ฌํญ ๋ช ์ธ์, ํ์/ํ์ง ๊ณํ์ | "ํ๋ก์ ํธ๋ณ ๊ด๋ฆฌ"๊ฐ ํต์ฌ. ๊ฐ๋ณ ํ๋ก์ ํธ๊ฐ ํต์ ๋๊ณ ์๋์ง ํ์ธ |
| Level 3 (Defined) | ๊ณต์ ํ์คํ | OSSP, SDD, STD, V&V | ์กฐ์ง ํ์ค ํ๋ก์ธ์ค, ์ค๊ณ์, ํ ์คํธ ๊ธฐ์ ์, ๊ฒ์ฆ/ํ์ธ ๋ณด๊ณ ์ | "์กฐ์ง ์ฐจ์์ ํ์ค"์ด ํต์ฌ. ๋ชจ๋ ํ๋ก์ ํธ๊ฐ ๊ณตํต๋ ๋งค๋ด์ผ์ ๋ฐ๋ผ ์ํ๋จ |
| Level 4 (Quantitatively) | ์ ๋์ ๊ด๋ฆฌ | PPB, PPM | ํ๋ก์ธ์ค ์ฑ๋ฅ ๋ฒ ์ด์ค๋ผ์ธ, ์ ๋์ ๊ด๋ฆฌ ๋ณด๊ณ ์ | "ํต๊ณ์ ๋ฐ์ดํฐ"๊ฐ ํต์ฌ. ์ซ์๋ก ํ๋ก์ธ์ค์ ์์ ์ฑ์ ์์ธกํจ |
| Level 5 (Optimizing) | ์ง์์ ๊ฐ์ | CAR, DAR | ์์ธ ๋ถ์ ๋ณด๊ณ ์, ์์ฌ๊ฒฐ์ ๋ถ์ ๋ณด๊ณ ์ | "๊ฒฐํจ ์๋ฐฉ๊ณผ ํ์ "์ด ํต์ฌ. ์ค์ค๋ก ๋ฌธ์ ๋ฅผ ์ฐพ์ ํ๋ก์ธ์ค๋ฅผ ์ต์ ํํจ |
CMMI ๊ธฐ๋ฐ ์๊ตฌ์ฌํญ ์ธ๋ถํ ๋ฐ ๊ฐ๋ฐ ๋ฌธ์ ์ฒด๊ณ
| ์์ | ์ฑ์๋ | ์ฝ์ด | ์์ด ํ๋ค์ | ํ๊ตญ์ด ๋ช ์นญ | ์ฃผ์ ๋ด์ฉ ๋ฐ ํฌํจ ๋จ๊ณ |
|---|---|---|---|---|---|
| 1 | L2 | URS | User Requirement Specification | ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๋ช ์ธ์ | ๊ณ ๊ฐ์ ๋น์ฆ๋์ค ์ธ์ด๋ก ์์ฑ๋ ์๊ตฌ์ฌํญ. ๊ฐ๋ฐ์ ์ต์์ ๊ธฐ์ค์ |
| 2 | L3 | SyRS | System Requirement Specification | ์์คํ ์๊ตฌ์ฌํญ ๋ช ์ธ์ | ํ๋์จ์ด, ์ํํธ์จ์ด, ์ธ๋ ฅ์ ํฌํจํ ์ ์ฒด ์์คํ ๊ด์ ์ ์๊ตฌ์ฌํญ |
| 3 | L3 | SyDS | System Design Specification | ์์คํ ์ค๊ณ์ | ์์คํ ์๊ตฌ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ์ฒด ์์คํ ๊ตฌ์กฐ(Architecture) ์ค๊ณ |
| 4 | L2 | SRS | Software Requirement Specification | ์ํํธ์จ์ด ์๊ตฌ์ฌํญ ๋ช ์ธ์ | ์์คํ ์๊ตฌ์ฌํญ ์ค '์ํํธ์จ์ด'๊ฐ ๊ตฌํํ ๊ธฐ๋ฅ์ ์์ธ ๊ธฐ์ (L2 ํ์) |
| 5 | L3 | SDD | Software Design Description | ์ํํธ์จ์ด ์ค๊ณ์ | SRS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ชจ๋, ์ธํฐํ์ด์ค, DB ๋ฑ ์ํํธ์จ์ด ์์ธ ์ค๊ณ |
| 6 | L2 | SPP | Software Project Plan | ํ๋ก์ ํธ ๊ณํ์ | ์๊ตฌ์ฌํญ ๊ท๋ชจ์ ๋ฐ๋ฅธ ์ผ์ , ์์ฐ, ์ธ๋ ฅ ๊ณํ (L2 ํต์ฌ) |
| 7 | L2 | RTM | Requirements Traceability Matrix | ์๊ตฌ์ฌํญ ์ถ์ ํ | URS โ SyRS โ SRS โ ์ค๊ณ โ ์ฝ๋ โ ํ ์คํธ ๊ฐ ์ฐ๊ฒฐ์ฑ ๊ฒ์ฆ |
| 8 | L3 | STP/STD | Software Test Plan/Description | ํ ์คํธ ๊ณํ/๊ธฐ์ ์ | ์๊ตฌ์ฌํญ(SRS)์ด ์ ๋๋ก ๊ตฌํ๋์๋์ง ํ์ธํ๊ธฐ ์ํ ๊ฒ์ฆ ๋ฌธ์ |
| 9 | L2 | SCMP | Software Configuration Mgmt Plan | ํ์ ๊ด๋ฆฌ ๊ณํ์ | ์ ๋ฌธ์๋ค์ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ณ๊ฒฝ ํต์ ์ ์ฐจ (L2 ํ์) |
๋ฌธ์ ๊ฐ ๊ด๊ณ์ ๋ช ์นญ์ '๋ณ์ข '์ด ์๊ธฐ๋ ์ด์
- URS vs SRS: * URS๋ "์ฌ์ฉ์๊ฐ ๋ฌด์์ ์ํ๋๊ฐ?"(What they need)์ ์ง์คํ๋ฉฐ ๋ณดํต ๋ฐ์ฃผ์ฒ๊ฐ ์์ฑํ๊ฑฐ๋ ๋ถ์ ๋จ๊ณ ์ด๊ธฐ์ ์์ฑํฉ๋๋ค.
SRS๋ "๊ฐ๋ฐ์๊ฐ ๋ฌด์์ ๋ง๋ค ๊ฒ์ธ๊ฐ?"(What we build)์ ์ง์คํ๋ฉฐ, CMMI ์ฌ์ฌ ์ ๊ฐ๋ฐํ์ ์ฐ์ถ๋ฌผ๋ก ๊ฐ์ฅ ๋จผ์ ํ์ธํ๋ ๋ฌธ์์ ๋๋ค. - SyRS์ SyDS์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ:
- ๋จ์ ์น ์๋น์ค ๊ฐ๋ฐ์ด ์๋๋ผ, ํ๋์จ์ด ์ฅ๋น์ ์ํํธ์จ์ด๊ฐ ๊ฒฐํฉ๋ ์๋ฒ ๋๋๋ ๋๊ท๋ชจ ์์คํ ํ๋ก์ ํธ์์๋ '์์คํ (System)' ๋ ๋ฒจ์ ์ ์๊ฐ ๋จผ์ ํ์ํฉ๋๋ค. ๊ทธ๋์ SyRS(์์คํ ์๊ตฌ์ฌํญ)์ SyDS(์์คํ ์ค๊ณ) ๋จ๊ณ๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
- CMMI์์์ ์๋ฏธ (RTM์ ์ค์์ฑ):
- CMMI ๋ ๋ฒจ 2์ 3์์ ๊ฐ์ฅ ์ค์ํ๊ฒ ๋ณด๋ ๊ฒ์ RTM(์๊ตฌ์ฌํญ ์ถ์ ํ)์ ๋๋ค.
- "URS์ ์๋ ๊ณ ๊ฐ์ ํ ๋ง๋๊ฐ SRS์ ์ด๋ค ํญ๋ชฉ์ด ๋์๊ณ , ๊ทธ๊ฒ์ด SDD์ ์ด๋ ๋ชจ๋๋ก ์ค๊ณ๋์ด ๊ฒฐ๊ตญ ์ด๋ค ํ ์คํธ ์ผ์ด์ค(STD)๋ก ๊ฒ์ฆ๋์๋๊ฐ?"๋ฅผ ์ฆ๋ช ํด์ผ ํฉ๋๋ค.
- ์ธ๊ธํ์ SRS, SyRS ๋ฑ์ ๋ฌธ์๋ ์ด ์ถ์ ์ฑ ์ฒด์ธ์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ '๊ณ ๋ฆฌ' ์ญํ ์ ํฉ๋๋ค.
์ ๋ฆฌํ์๋ฉด, ๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ์ผ์๋ก URS โ SyRS โ SRS ์์ผ๋ก ๋ฌธ์๊ฐ ์ธ๋ถํ๋๋ฉฐ, CMMI ์ธ์ฆ์ ์ํด์๋ ์ด๋ค ์ฌ์ด์ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ฅผ ๋ฌธ์ํํ๋ ๊ฒ์ด ํต์ฌ์ ๋๋ค. ํธ์์ ์์ ํ๋ก์ ํธ์์๋ SyRS๋ฅผ SRS์ ํตํฉํ์ฌ ์ด์ํ๊ธฐ๋ ํฉ๋๋ค.
ํจ๊ป ๋ณด๊ธฐ
https://ko.wikipedia.org/wiki/์ํํธ์จ์ด_๊ณตํ
https://ko.wikipedia.org/wiki/์์คํ
_๊ณตํ
Use Case Diagram
https://brunch.co.kr/@acc9b16b9f0f430/126
TDD, Test Driven Development
https://namu.wiki/w/ํ
์คํธ%20์ฃผ๋%20๊ฐ๋ฐ
SDD, Spec Driven Development
https://yozm.wishket.com/magazine/detail/3477/
https://news.hada.io/topic?id=23776
์ถ์ ์ฑ ๋งคํธ๋ฆญ์ค, Traceability Matrix
https://imnow.tistory.com/entry/3-DO178๊ณผ-์ถ์ ์ฑ-๋งคํธ๋ฆญ์คTraceability-Matrix
NASA์ Requirements Mapping Matrix
https://nodis3.gsfc.nasa.gov/displayCA.cfm?Internal_ID=N_PR_7150_002A_&page_name=AppendixD
GEMINI ๋ก ์ด์ ์์ฑ ํ ์์