[현장에서]SW개발 프로세스와 품질

Photo Image

얼마 전 전자신문에 게재된 ‘국제 SW품질인증 있으나 마나’라는 기사를 흥미롭게 읽었다. CMMI 인증을 획득한 국내 SW 기업들의 개발 프로세스 수준과 품질 수준 사이에 상관관계가 보이지 않고, 최고 수준인 5단계를 인증받은 기업의 제품이 전혀 인증을 받지 않은 기업의 제품보다도 오히려 결함 수가 많았다는 내용이었다.

미국 SW 전문가인 카퍼스 존슨의 최근 자료를 보면 CMMI 3단계인 기업의 품질 수준은 기능점수당 0.15고 5단계인 경우는 0.01로서, 인증을 받지 못한 기업의 1.0 수준에 비해 7배에서 100배까지 차이가 난다고 한다. 그런데 이러한 효과가 우리나라 기업들에는 나타나지 않고 있는 것이다.

CMMI는 SW 개발절차가 얼마나 잘 되어 있는지를 평가하는 것이다. 그 절차가 잘 정의되어 있고 잘 지켜진다면 그 결과물의 품질도 좋을 것이라는 가정에 바탕을 두고 있다. 그러나 엄밀히 따져 보면 좋은 프로세스는 좋은 품질을 위한 필요조건일 뿐 충분조건은 아니다. 그래서 해외 기업들은 프로세스 수준이 높은 만큼 SW 개발 전반에 걸친 여러 역량들이 함께 높은 수준을 유지하고 있다. 결과적으로 높은 품질 수준을 달성할 수 있으나 인위적으로 프로세스의 수준만을 올려서 인증을 획득한다고 바로 품질이 향상될 수는 없는 것이다. 프로세스뿐만 아니라 SW 개발에 필요한 전반적인 역량과 요소들을 종합적으로 강화해야만 품질과 생산성이 높아질 수 있고, 이것이 바로 SW공학의 목표다.

SW 개발에서 프로세스는 골프에서 스윙 자세에 비유될 수 있겠다. 자세가 좋다고 꼭 좋은 점수를 내는 것은 아니지만 그 중요성을 간과할 수는 없을 것이다. 한편으로는 자신의 체형과 기량에 적합한 자세를 선택하는 것도 중요하다.

CMMI에서 요구하는 엄격한 프로세스를 개발에 적용하고 내재화하려면 평균 20개월 이상이 걸리는데 실제로 성공하는 기업은 절반 이하라는 통계가 있다. 그만큼 품질의 향상이 어렵고 많은 노력이 필요한 것이다. 그러한 시간과 비용의 투자가 당장 어렵다 하더라도 나름대로 상황과 역량에 맞는 현실적인 프로세스를 정의하고 준수하는 노력이 필요하다.

안일수 소프트웨어공학센터 전문위원 isahn@hanafos.com

브랜드 뉴스룸