"국산 SW 품질관리, 글쎄요!"
지난해 말 청와대에서 열린 국산 소프트웨어(SW) 육성 정책에 대한 중간 점검 자리. 한 중견 SW 업체 대표는 'GS(Good Software)' 인증을 단 한 번에 수월하게 통과했다고 자랑스럽게 대통령에게 보고했다. 국산 SW의 품질에 대한 우수성을 강조하기 위한 말이었다. GS 인증이란 ISO, IEC 등 국제 표준에 근거한 한국형 SW 품질 평가모델. 이 인증을 취득하면 1점 미만으로 성패가 갈리는 공공부문 프로젝트 입찰시 5점의 가산점을 받을 수 있어 많은 SW 기업들이 관심을 보이고 있다.
하지만 GS 인증을 단 한번에 통과했다는 업체 대표의 말은 한국정보통신기술협회(TTA) 관계자에게는 곤혹스러운 일이었다. GS 인증을 주관하고 있는 정보통신부 산하기관인 TTA는 "그동안 1, 2차에서 바로 인증을 통과한 업체는 한 곳도 없었고, GS 인증을 통과한 제품의 평균 심의 횟수는 4.5회"였다고 말한다. 즉, 4번 이상 오류 보고서를 받고 제품을 수정한 이후에야 비로소 GS 인증이 부여됐다는 얘기다.
이런 내용을 그동안 보고해왔는데, 이날 청와대 모임에서 자랑스럽게 1차에 통과했다고 주장하는 업체가 나왔으니 그동안 허위보고를 한 꼴이 된 것이다.
이 날의 해프닝은 사실 '차수'에 대한 해석의 차이에서 출발한 것이다. 특정 제품이 GS 인증을 신청하면 TTA는 사용성과 신뢰성, 이식성 등 89개 항목에 걸쳐 테스트를 실시한 후 발견된 오류 보고서를 작성해 업체에 전달한다. 업체가 이 내용들을 보완해 다시 신청하면 TTA가 재차 테스트를 실시하고 이런 과정을 거쳐 최종적으로 GS 인증 심의위원회에 회부된다. <사진은 TTA의 SW시험인증센터 모습>
심의위원회는 업계와 관계, 학계 등의 전문가 10여명으로 구성돼 있으며 그 명단은 대외비로 분류돼 있다. 업체들은 차수의 기준을 '심의위원회 회부 여부'로 보고 1차에 통과됐다고 하고, TTA는 중간 보고서가 작성된 것을 개별 차수로 계한해 1, 2차에서 통과한 업체는 한 곳도 없다고 한 것이다.
"결함이 1000개에 이르는 SW도..."
GS 인증에 관한한 이러한 해석의 차이는 여전히 계속되고 있다. 취재 과정에서 확인해 본 거의 모든 GS 인증 기업들이 자신있게 1차에 통과했다고 답변했다. 하지만 세부적으로 TTA의 오류 보고서 내용을 묻자, 몇 번의 테스트를 거쳐 GS 인증을 받았다는 것은 인정한다.
인증 횟수에 대한 시각차는 핵심 내용은 아니다. 문제는 SW 품질에 대한 시각차이다. 최근 보안 솔루션으로 GS 인증을 받은 한 업체는 "전체 인증 과정은 4차까지 갔다. 하지만 지적된 내용의 대부분은, 한글 버전인데 영어 타이틀이 있다거나 글자가 잘못됐거나, 버튼이 달려있지 않았다는 등 유저인터페이스(UI)나 사용성 관련된 것들이 대부분이었다"고 말했다. 핵심적인 기능상의 오류가 없었던 만큼, SW 품질에는 큰 문제가 없다는 인식을 보여준 것이다.
하지만, TTA는 다른 평가를 내리고 있다.
TTA의 SW시험인증센터 신석규 센터장은 "테스팅 결과 보고서를 작성할 때 '버그'라는 용어 대신 '결함'이나 '하자'라는 단어를 사용한다"고 말한다. 치명적인 버그 때문에 프로그램이 죽는 것도 테스팅 과정에서 검증해야 할 중요한 사항이지만 마우스 클릭 한번으로 될 것을, 2~3번 클릭하도록 한다거나 실행시간, 구동환경 등도 모두 검토사항이라는 설명이다. 이 때문에 이러한 부분까지 포괄하는 용어로 '버그'보다 '결함'이나 '하자'가 더 적절하다는 얘기다.
신 센터장은 "실행이 안된다고 보고서를 보내면 대부분의 기업들이 자기네 장비에서는 잘 됐다며 그럴리 없다고 크게 반발한다. 결국 같이 불러서 테스트해보면 역시 안된다. 자사 개발 환경, 자사 장비를 벗어나 다른 환경에서는 전혀 테스트하지 않고 GS 인증을 신청한 경우가 많다는 얘기"라고 말했다.
그는 또 "알파, 베타 테스트한다고 하지만 이렇게 되면 반쪽짜리다. 대기업 PC에선 잘 되는데 조립 PC에서는 실행속도가 크게 느려진 경우도 있고 SW 결함이 1000개가 넘는 소프트웨어도 있었다. 작은 벤처기업 제품이 아니라 이름만 대면 알만한 기업 얘기"라며 쓴소리를 털어놨다.
그동안 국산 SW의 품질에 대한 논의는 일종의 금기였다. 워낙 열악한 환경에서 힘겹게 글로벌 SW기업과 경쟁을 벌이고 있는 만큼, 지적 보다는 격려가 우선시됐다. 업계는 SW 품질 문제 논란이 있을 때마다 '아키텍트급의 고급 인력이 없다', '프로세스가 체계화돼 있지 않다', '개발 기간이 짧고 시장의 주류를 형성하고 있는 SI 하도급 시스템에 문제가 있다', '국내 SW 개발 역사가 짧고 시장 규모가 작다는 점 등을 들며 국산 SW의 안정적인 시장 판로를 열어주는 것이 우선되어야 한다고 주장해 왔다.
틀린 말은 아니다. 국산 SW 업체들은 힘겨운 싸움들을 벌이고 있다. 정부에서 정책적인 지원이 필요한 것도 사실이다. TTA측은 "심의위원회 소속 학계 인사들이 데이터를 논문에 사용하고 싶다고 요청해도 계속 거절하고 있다"며 정부의 정책의지를 강조하고 있다.
그러나 품질경쟁력의 제고는 언제까지 뒷전으로 밀려서는 안되는 문제다.
특히 외국계 SW가 GS 인증 등 제도권으로 들어올 경우를 대비해야 한다는 우려도 높다. 그동안 GS 인증은 소스를 제출하는 방식이기 때문에 외산 SW들이 신청하기는 쉽지 않을 것으로 알려져 왔으나 이는 사실과 다르다. GS 인증은 소스를 검토하지 않고 실행 결과를 확인하는 블랙박스 방식이다. 최근 GS 인증을 받은 한 외산 기업용 검색엔진 제품이 소스를 제출한 것으로 알려졌지만, 이는 잘못된 정보였다.
외산 SW가 GS 인증을 통해 공공시장에 진출하는 것에 대한 국내 SW 업계의 위기감은 높다. 최근 GS 인증을 등급제로 바꾸는 논의 과정에서도 고스란히 드러났다. 기존 GS 인증이 SW 제품에 대한 입체적 평가가 불가능하다는 지적에 따라 이를 1~5등급제로 변경하자는 것이었는데 막상 논의에 참석한 정책 담당자들 대부분은 부정적인 의견을 피력했다. 논의에 참석한 한 관계자는 "등급제를 하는 순간 외산이 몰려올 것이다. SW 개발 프로세스가 잘 돼 있는 외산은 1등급을 받을 것이 뻔하다. 누가 5등급 받은 GS 인증 제품을 구입하겠는가. 당시 참석자들 대부분이 '누구 잡을 일 있으냐'는 것이 대체적인 분위기였다"고 전했다.
그러나 아직까지는 정부의 정책적인 지원속에 국산 SW가 공공부문에서 선전하고 있다 하더라도 이러한 논의는 앞으로도 계속 반복될 것으로 보인다. 특히 장기적으로 보면 국내 SW 업체들의 해외 진출을 위해서도 국산 SW의 품질을 높이는 문제는 시장을 움직이는 가장 중요한 요인이 될 것이다.
신 센터장은 "제도가 없어서 그동안 국산 SW가 팔리지 못했다거나, 제도 하나로 문제가 해결된다면 그 많은 SW 육성 정책을 뭐하러 하겠는가. 국산 SW라고 해서 마냥 감싸주고 덮어주는 것 만이 미덕이 아니다. 업계의 고충도 이해하고 일부는 일리도 있지만 결국은 구매자들의 인식을 바꿀 수 있도록 SW 품질의 악순환 고리를 끊는 것도 중요하다"고 강조했다.
SW 품질 악순환을 끊어라
국내 SW업체들은 품질관리에 신경을 안쓰기 보다, 못 쓰는 경우가 많은 게 현실이다. 하지만 앞서 품질관리에 애쓰고 있는 기업들이 없는 것도 아니다. 최고참 SW업체로 꼽히는 핸디소프트의 경우를 보자.
품질관리 부문만 보면 꽤 오래전부터 시스템을 구축해왔다. 품질경영실장 출신의 품질보증(QA) 전문가가 현재 부사장으로 재직하고 있다는 것도 시사하는 바가 크다.
핸디소프트의 SW 품질관리 핵심은 지난 2000년에 도입한 'CMM(Capability Maturity Model)'이다. CMM은 미 국방성과 카네기 멜론 대학이 공동 연구해 지난 91년에 발표한 품질 관리 모델로, 소프트웨어 개발과 관리 프로세스를 단계별로 개선할 수 있는 지침을 제공하고 이를 준수했을 때 일정 품질 이상의 SW를 개발할 수 있음을 보증한다.
핸디소프트의 품질보증실은 크게 PI(Process Inovation) 팀과 QA 팀로 구성돼 있다. QA 팀에서 제품 테스팅 등 제품 중심의 SW 품질을 관리하고 PI 팀에서는 CMM 등 전사 차원의 품질 체계를 관리한다. 핸디소프트의 SW 품질 관리의 핵심은 예방 차원에서 품질 문제에 접근하는 것이다. 황순삼 PI 팀장은 "제품을 완성한 이후 테스팅을 통해 결함을 수정하는 방식은 비효율적이다. 결함의 80% 이상이 테스팅 과정에서 발견된다면 이를 제거하는 데만 전체 프로젝트 기간 만큼 소요된다. 유지보수에도 문제가 발생하면서 차기 새로운 제품 개발 일정에도 차질이 생긴다. 전체 SW 개발 프로세스에 순차적으로 문제가 발생한다"고 말했다. 레벨 내용
레벨1
표준화된 프로세스가 없이 수행결과 예측이 곤란한 조직
레벨2
기본 프로세스 구축에 의해 프로젝트가 관리되는 조직
레벨3
세부 표준 프로세스가 있어 프로젝트가 통제되는 조직
레벨4
프로젝트 활동이 정량적으로 관리/통제되고 성과 예측이 가능한 조직
레벨5
지속적으로 개선활동이 정착화돼 최적의 관리로 프로젝트가 수행되는 조직
CMM 도입 6년, 현재 핸디소프트는 인스펙션(Inspection) 과정에서 잡아내는 결함의 비율이 올 상반기 50% 수준까지 올라갔다고 강조한다. 인스펙션이란 SW 설계 과정에서 향후 개발을 완료한 이후 발생할 수 있는 결함을 미리 잡아내는 활동이다. CMM 도입 당시 5% 불과하던 인스펙션 비율이 6년만에 10배나 올라갔다는 얘기다. 이렇게 되자 개발이 완료된 이후 해야 할 테스터들의 작업량이 자연스럽게 줄어들었다. 남는 시간만큼 기존과 다른 방식의 테스팅을 시도하는 등 품질을 높이기 위한 새로운 시도가 이어졌고, UI를 비롯해 전통적으로 신경쓰지 못했던 분야까지 테스터들이 바로잡을 수 있게 됐다. 다른 의미로 테스터들의 전문성과 역할이 점점 커지고 있는 것이다.
현재 핸디소프트는 CMM이 다루지 못하는 영업이나 마케팅 관련 분야의 품질에까지 관심을 갖고 있다고 한다. 황 팀장은 "조직은 끊임없이 변화해야 한다. 주위 환경은 끊임없이 변화하고 있는데 여기에 맞춰 조직에 새로운 자극을 주지 않으면 겉으론 제자리에 머물러 있는 것 같아도 결국은 후퇴하는 것이다. 어떤 인증이나 모델이든 상관없다. 조직이 발전하는데 필요한 것이라면 끊임없이 검토하는 것이 중요하다"고 말했다.
하지만 핸디소프트의 성과에도 한계는 존재한다. 흔히 CMM 레벨3가 되면 야근이 사라지고 레벨5가 되면 직원 만족도가 올라가 이직이 없어진다고 알려져 있다. 하지만 아직 이런 효과는 나타나지 않았다. 고객 만족도 역시 지난해 자체 조사 결과 45%까지 올라갔으나 이 역시 도입 초기와 비교했을 때와 비교해 눈에 띄게 좋아진 것은 아니다. 비용 문제도 있다. CMM은 초기 인증에 억대의 비용이 들지만 이를 3년마다 갱신할 때 많게는 2억원까지 소요된다. 게다가 품질경영실의 인원은 총 27명. 이들의 인건비를 고려하면 핸디소프트의 사례가 다른 국내 SW 업체들에게 보편적으로 통용될 수 없는 이유는 더 명확해진다.
중소 SW 기업들을 위한 SW 품질 해법
그렇다면 국내 SW 업계의 98% 이상인 50인 이하의 중소 SW 업체들은 어떻게 SW 품질을 높일 수 있을까. 당연히 이들에게 수억원에 이르는 품질체계를 도입하라고 조언하는 것은 비현실적이다. 그러나 전문가들은 기업 환경과 규모에 맞게 저렴하게 자사에 적합한 품질체계를 도입하는 방안은 얼마든지 있다고 지적한다. 비용의 문제가 아니라 의지의 문제라는 것이다.
전문가들은 무엇보다 QA를 자신의 업무로 갖고 있는 인력을 배치하는 것이 첫 단계라고 말한다. 핸디소프트의 황 팀장은 "한 사람도 좋고 한 사람 업무의 반도 좋다. 그 사람의 업무를 품질관리로 규정하고 그가 업무시간에 회사에 맞는 품질관리 모델을 찾을 수 있도록 환경을 만들어주는 것이 중요하다"고 말했다. 개별적인 품질관리 모델은 기업마다 차이가 있을 수 있지만 어떤 부문을 개선했을 때 가장 크게 SW 품질을 높일 수 있는지 검토하는 인력을 사내에 두는 것이 체계적인 SW 품질관리의 출발점이라는 것이다.
"모델링도 좋고 테스팅도 좋다. SW 품질 가운데 가장 안되는 부분을 찾아서 관련 툴을 도입해 보고 샘플 프로젝트를 통해 적용해보는 것이다. 그의 인사 평가를 QA로 하면 그는 반드시 QA 분야에서 성과를 내기위해 최선을 다한다. 그것은 불씨가 되고 점점 조직으로 확대돼 일정한 시스템으로 자리잡는다."
그러나 비용 문제는 여전히 무시할 수 없다. 현재 가장 널리 알려진 모델링 툴의 가격은 라이선스 당 1천만원. 심지어 테스팅 툴은 최고 수억원대에 이른다. 중소 기업들이 어렵게 인력을 배치한다고 해도 정작 필요한 툴을 마련하는데 더 많은 비용이 소요될 수도 있다. 전문가들은 이런 경우 우리가 알고 있는 고가의 상용툴 외에 시야를 넓혀 찾아보라고 권한다. 오픈소스 가운데에는 중소기업 규모에서 무리없이 사용할 수 있는 툴들이 얼마든지 있다는 것이다. 최근엔 다양한 벤더의 툴을 이용해 기업 환경에 맞게 SW 품질을 높일 수 있는 컨설팅과 교육, 툴 구축을 전문으로 하는 기업도 등장했다.
지난 2002년 설립된 아키텍트그룹(www.arctgroup.com)이 대표적이다. 삼성전자 SW 엔지니어들과 SW 공학 관련 교수들이 모인 전문가 집단인 이 업체는 각종 툴과 컨설팅과 교육, 기술지원을 패키지로 묶어 제공하는 것이 특징이다. 이미 삼성전자와 LG CNS, 아이리버 등을 고객사로 확보했다. 이러한 기업들의 가장 큰 장점은 기업 규모와 예산에 따라 오픈소스부터 고가의 사용툴까지 다양한 제품 포트폴리오를 제공한다는 점이다. 아키텍트그룹의 우승호 부사장은 "기업 규모와 환경에 따라 다른 툴을 제안한다. 최근에는 툴 가격에 거품이 많이 빠졌다. 저렴한 경우에는 기술 지원과 교육까지 묶어 200만원 안으로도 된다. 중요한 것은 기업 규모와 환경에 맞는 솔루션을 찾는 것이다"고 말했다.
그는 적절한 툴을 사용하는 것이 오히려 ROI를 크게 높일 수 있다고 덧붙였다. 우 부사장은 "품질관리를 위한 기본적인 툴 프레임워크는 요구사항 관리, 분석설계, 개발, 테스팅, 배포, 형상관리 등으로 구분할 수 있다. 중소기업들은 대부분의 경우 오픈소스를 사용해도 충분하다. 분석 설계와 테스팅 부문은 별도의 툴을 도입하는 것이 좋은데 이 때도 기능과 환경에 따라 다양한 툴들이 있으니 흔히 알려진 고가의 사용툴만 생각해서는 안된다. 고가의 테스팅 툴을 거의 1/10 가격에 잠시 대여해 사용하는 렌탈 라이선스 모델도 있다"고 말했다.
기업 내부의 품질 관리 환경이 갖춰져 있지 않다면 외부 장비를 이용하는 것도 좋은 방법이다. TTA는 분당 사무실 내부에 무료 오픈 랩을 운영하고 있다. 오픈 랩이란 GS 인증 전에 기업들이 자유롭게 테스트할 수 있는 공간으로, 대외 공개를 꺼리는 경우를 고려해 각각 별도의 룸 형태로 마련돼 있다. TTA는 현재 오픈랩(왼쪽 사진)을 11개로 늘리는 공사를 진행하고 있다.
적극적인 해외 시장 진출 시도를 통해 해외 SW와 품질비교를 해보는 것도 고려해 볼만 하다. 일반적으로 해외 진출하면 지사를 설립해 리셀러 파트너를 찾는 것을 생각하지만 나모 웹 에디터나 거원 제트오디오 등은 오히려 해외 유명 뉴스 사이트의 리뷰에서 호평을 받으면서 이를 발판으로 해외 진출에 성공했다. 씨넷이나 이위크 등 IT 정보가 주로 유통되는 경로를 찾아 시도해 보는 것도 좋다.
SW 품질은 사람을 바꾸는 일
그러나 이런 절차나 툴을 도입한다고 해도 '관행'이라고 하는 장벽이 기업 내부에 여전히 남아이다. 최근 보안 툴로 GS 인증을 받은 업체의 QA 팀 소속 한 연구원은 GS 인증 과정에서 아쉬운 일이 많았다고 말했다. 자신이 테스팅 과정에서 지적한 사항이 수정되지 않은채 GS 인증 신청이 이루어져 똑같은 지적사항이 보고서로 전달돼 왔다는 것이다. 그는 "개발 일정 등에 쫓겨 테스팅 결과를 개선하지 못하는 경우도 있지만, 많은 개발자들이 기본적으로 새로운 것, 혹은 핵심적인 업무만을 하고 싶어하는 경향이 있다"고 말했다.
따라서 전문가들은 기업들이 담당 인력을 배치하고 관련 기본 툴들을 구축하는데 그치지 말고 SW 품질이 개발자 모두에게 해당되는 일이라는 사실을 명확히 할 수 있는 인사상의 시스템을 마련해야 한다고 지적한다. 실제로 핸디소프트의 경우 프로젝트가 끝나거나 일정 기간 별로 미리 정해진 품질 평가 기준에 따라 모든 프로젝트 구성원의 개별 점수를 내고 이를 인사고과에 반영하고 있다. 특히 연구소의 경우 품질 관련 항목이 가장 크기 때문에 개발자 스스로 품질을 높이는 일이 스스로의 인사고과를 높일 수 있는 가장 좋은 방법으로 자리잡았다. 품질 관련 사항이 평가 항목에 들어가면서 이제는 관련 툴을 기업 내부에 소개하면 직원들이 서로 이에 대해 논의하면서 자연스럽게 확산되고 있다.
개발자들의 프로그래밍 관행도 바뀌어야 한다는 지적도 나온다. 소스 가운데 실제 실행 과정에서 사용되는 비율은 절반도 못된다는 지적은 새로운 얘기가 아니다. 전체 1만라인의 소스 가운데 5천라인 이상이 왜 들어있는지 역할이 모호한 것이다. 대부분이 이전 담당자들의 작업 결과를 그대로 인용했거나 혹은 단위 테스트를 생략하는 관행 때문에 그대로 남겨진 것들이다.
전문가들은 이들 SW가 블랙박스 테스트에서는 이상이 없지만 다양한 사용자 환경에서 우연히 조건이 성립될 경우 큰 문제를 일으킬 소지도 있다고 지적한다. 황 팀장은 "개발자 면접시 단위 테스트를 해본 경험이 있냐고 물어보면 열에 아홉은 당황한다. 자신이 작성한 부분에 대해 보증해 줄 사람은 자신 뿐이다. 코딩 표준을 따르는지 여부와 개발한 로직을 검증하기 위해서라도 단위 테스트는 필수다"고 말했다.
'소프트웨어를만드는사람들'은 올해 창립 10년째인 토종 SW 개발업체다. 현재 전체 직원이 45명에 불과하다. 하지만 소만사는 높은 SW 개발 기술력을 보완하고 향후 더 큰 성장을 위해서는 QA가 핵심이라고 보고, 지난 2004년부터 별도의 QA팀을 꾸려 운영하고 있다. 올해로 3년째 QA팀에서 일하고 있는 류성원 주임은 "처음에는 기본 기능의 버그 이외에 UI 등의 오류를 지적하면 '이런 걸 왜 해?'하는 반응이 먼저였다.
사실상 개발자 수십명과의 힘겨루기였다. 이후 오픈소스 관리 툴을 도입하고 내부 인스펙션 과정을 정례화했고 버그리포팅 툴을 도입하는 등 하나하나 만들면서 지금은 SW 품질에 대한 공감대가 형성됐다. 이렇게 회사 내에 분위기를 바꾸는데만 1년 반이 걸렸다"고 말했다. 소만사는 향후 개발자 평가항목에 SW 품질을 반영하는 한편 QA팀 인력을 한명 더 보강해 3명으로 운영할 계획이다. 특히 경영진의 전폭적인 지원을 받아 QA 프로세스를 더 체계화하기 위해 별도의 툴이나 시스템을 도입하는 방안도 검토하고 있다.
핸디소프트의 황 팀장은 "SW 품질체계를 도입하면 순식간에 사내로 퍼져나갈 것이라는 생각은 금물이다. 전통적인 톱다운 방식의 전달 방법으로는 실무 팀원들에겐 사실상 전혀 영향을 줄 수 없다. SW 품질이란 결국 사람을 바꾸는 일이다. SW 품질이 우수한 기업에 그 기업만의 경영철학이 있는 것도 이 때문이다"고 강조했다.