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 ๊ธฐ๋ฐ˜ ์š”๊ตฌ์‚ฌํ•ญ ์„ธ๋ถ„ํ™” ๋ฐ ๊ฐœ๋ฐœ ๋ฌธ์„œ ์ฒด๊ณ„

์ˆœ์„œ์„ฑ์ˆ™๋„์•ฝ์–ด์˜์–ด ํ’€๋„ค์ž„ํ•œ๊ตญ์–ด ๋ช…์นญ์ฃผ์š” ๋‚ด์šฉ ๋ฐ ํฌํ•จ ๋‹จ๊ณ„
1L2URSUser Requirement Specification์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๊ณ ๊ฐ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์š”๊ตฌ์‚ฌํ•ญ. ๊ฐœ๋ฐœ์˜ ์ตœ์ƒ์œ„ ๊ธฐ์ค€์ 
2L3SyRSSystem Requirement Specification์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œํ•˜๋“œ์›จ์–ด, ์†Œํ”„ํŠธ์›จ์–ด, ์ธ๋ ฅ์„ ํฌํ•จํ•œ ์ „์ฒด ์‹œ์Šคํ…œ ๊ด€์ ์˜ ์š”๊ตฌ์‚ฌํ•ญ
3L3SyDSSystem Design Specification์‹œ์Šคํ…œ ์„ค๊ณ„์„œ์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ „์ฒด ์‹œ์Šคํ…œ ๊ตฌ์กฐ(Architecture) ์„ค๊ณ„
4L2SRSSoftware Requirement Specification์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ ์ค‘ '์†Œํ”„ํŠธ์›จ์–ด'๊ฐ€ ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ์„ ์ƒ์„ธ ๊ธฐ์ˆ (L2 ํ•„์ˆ˜)
5L3SDDSoftware Design Description์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์„œSRS๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ชจ๋“ˆ, ์ธํ„ฐํŽ˜์ด์Šค, DB ๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด ์ƒ์„ธ ์„ค๊ณ„
6L2SPPSoftware Project Planํ”„๋กœ์ ํŠธ ๊ณ„ํš์„œ์š”๊ตฌ์‚ฌํ•ญ ๊ทœ๋ชจ์— ๋”ฐ๋ฅธ ์ผ์ •, ์˜ˆ์‚ฐ, ์ธ๋ ฅ ๊ณ„ํš (L2 ํ•ต์‹ฌ)
7L2RTMRequirements Traceability Matrix์š”๊ตฌ์‚ฌํ•ญ ์ถ”์ ํ‘œURS โ†’ SyRS โ†’ SRS โ†’ ์„ค๊ณ„ โ†’ ์ฝ”๋“œ โ†’ ํ…Œ์ŠคํŠธ ๊ฐ„ ์—ฐ๊ฒฐ์„ฑ ๊ฒ€์ฆ
8L3STP/STDSoftware Test Plan/Descriptionํ…Œ์ŠคํŠธ ๊ณ„ํš/๊ธฐ์ˆ ์„œ์š”๊ตฌ์‚ฌํ•ญ(SRS)์ด ์ œ๋Œ€๋กœ ๊ตฌํ˜„๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฒ€์ฆ ๋ฌธ์„œ
9L2SCMPSoftware Configuration Mgmt Planํ˜•์ƒ ๊ด€๋ฆฌ ๊ณ„ํš์„œ์œ„ ๋ฌธ์„œ๋“ค์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ๋ณ€๊ฒฝ ํ†ต์ œ ์ ˆ์ฐจ (L2 ํ•„์ˆ˜)

๋ฌธ์„œ ๊ฐ„ ๊ด€๊ณ„์™€ ๋ช…์นญ์˜ '๋ณ€์ข…'์ด ์ƒ๊ธฐ๋Š” ์ด์œ 

  1. URS vs SRS:
    • URS๋Š” "์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ์›ํ•˜๋Š”๊ฐ€?"(What they need)์— ์ง‘์ค‘ํ•˜๋ฉฐ ๋ณดํ†ต ๋ฐœ์ฃผ์ฒ˜๊ฐ€ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๋ถ„์„ ๋‹จ๊ณ„ ์ดˆ๊ธฐ์— ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • SRS๋Š” "๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌด์—‡์„ ๋งŒ๋“ค ๊ฒƒ์ธ๊ฐ€?"(What we build)์— ์ง‘์ค‘ํ•˜๋ฉฐ, CMMI ์‹ฌ์‚ฌ ์‹œ ๊ฐœ๋ฐœํŒ€์˜ ์‚ฐ์ถœ๋ฌผ๋กœ ๊ฐ€์žฅ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.
  2. SyRS์™€ SyDS์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ:
    • ๋‹จ์ˆœ ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ์ด ์•„๋‹ˆ๋ผ, ํ•˜๋“œ์›จ์–ด ์žฅ๋น„์™€ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ฒฐํ•ฉ๋œ ์ž„๋ฒ ๋””๋“œ๋‚˜ ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” '์‹œ์Šคํ…œ(System)' ๋ ˆ๋ฒจ์˜ ์ •์˜๊ฐ€ ๋จผ์ € ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ SyRS(์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ)์™€ SyDS(์‹œ์Šคํ…œ ์„ค๊ณ„) ๋‹จ๊ณ„๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
  3. 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 ๋กœ ์ดˆ์•ˆ ์ž‘์„ฑ ํ›„ ์ˆ˜์ •

  • ๋ ˆ์ด๋ธ” ์—†์Œ