본문 바로가기

Working/CIO Magazine

[CMM] 소프트웨어 품질 측정

                                                                     김남영 (SKC&C R&D센터) (마이크로소프트웨어)

                                                                     2004/08/30

 

‘생산성’은 소프트웨어 세계에서 하루하루를 보내고 있는 우리에게 가장 큰 화두거리 중 하나입니다. 소프트웨어 업계는 이를 해결하기 위해 모든 일련의 활동을 더 효율적이고 효과적으로 개선하는 프로세스적인 접근 방법인 소프트웨어 프로세스 개선을 모색하게 되었습니다. 이를 위해 대표적으로 언급되는CMM(Capability Maturity Model)에 대해 알아보겠습니다.

그동안 많은 기업들이 생산성을 높이기 위해 다양한 시도를 해왔습니다. 재사용을 목적으로 OOAD, CBD 등과 같은 신기술을 도입하기도 하고 자동화를 강화하기 위해 CASE 활용을 시도했습니다. 이러한 다양한 고민과 시도를 하면서 조직은 소프트웨어 프로세스의 부재가 어쩌면 근원적인 원인일 수도 있다는 생각을 합니다.

업무 수행 방법에 대한 원칙(계획, 절차 등 포함) 부재, 작업자의 경험에 의존한 임기응변식의 업무 수행 등은 소프트웨어 프로세스 관리 부재의 대표적인 현상이었습니다. 소프트웨어 업계는 이를 해결하기 위해 조직의 현재 소프트웨어 프로세스 상태를 파악하고, 해당 프로세스가 원하는 목표에 도달할 수 있도록 소프트웨어를 개발, 유지보수하는 과정에서 이뤄지는 모든 일련의 활동을 더 효율적이고 효과적으로 개선하는 프로세스적인 접근 방법인 소프트웨어 프로세스 개선(Software Process Improvement)을 모색하게 되었습니다. 이런 SPI 활동에서 대표적으로 언급되는 것이 CMM(Capability Maturity Model)입니다.

사람들은 생소한 단어를 처음 듣게 되면 그 단어의 의미를 파악하려고 노력하게 됩니다. 가령 ‘웰빙’이란 단어를 듣게 되면 웰빙이 뭔지 궁금해 하지요. 그리고 그 뜻을 알게 되면, ‘아 그럼 나도 지금부터 웰빙족이 되어야지’라고 생각합니다. 그 다음에는 어떤 생각을 할까요? 아마도 대부분의 사람들은 어떻게 하면 웰빙족이 될 수 있을까를 고민합니다.

하지만 필자가 권하고 싶은 다음 고민은 ‘어떻게 하면 웰빙족이 될까?’가 아니라 ‘왜 웰빙이란 단어가 만들어지게 되었는가?’ 입니다. 물론 모든 경우에 그럴 필요는 없겠지요. 하지만 적어도 소프트웨어 분야에서는 그런 방식이 좋다는 걸 경험적으로 느꼈기 때문입니다. ‘왜’라는 문제를 충분히 생각하고 고민한다면 ‘어떻게?’라는 질문은 자연스럽게 해결되기 때문입니다. 그럼 CMM은 왜 만들어지게 되었을까요?